| IGLib 1.4 The IGLib base library for development of numerical, technical and business applications.

- Main Page
- Namespaces
- Classes
- Files
- Directories

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Properties | Private Attributes

# IG::Num::StructuredField2d< TElement > Class Template Reference

Field where field elements are arranged in a 2 dimensional array. Usually represents a field over a structured 2D mesh. Elements can be accessed either through a single index running over all elements of the array, or by 2 indices indexing elements in 2 basic directions of the grid. The first index ("x direction") ie least significant and the last index is most significant. More...

Inheritance diagram for IG::Num::StructuredField2d< TElement >:
[legend]
Collaboration diagram for IG::Num::StructuredField2d< TElement >:
[legend]

List of all members.

## Public Member Functions
| StructuredField2d ()
| Constructs a new empty 2D field (no elements contained) with no name and no description.
| StructuredField2d (int dim1, int dim2)
| Constructs a new 2D field with the specified dimensions, name and description. Table of elements is allocated. Elements of the field are arranged in a 2D structured grid.
| StructuredField2d (int dim1, int dim2, string fieldName)
| Constructs a new 2D field with the specified dimensions, name and description. Table of elements is allocated. Elements of the field are arranged in a 2D structured grid.
| StructuredField2d (int dim1, int dim2, string fieldName, string fieldDescription)
| Constructs a new 2D field with the specified dimensions, name and description. Table of elements is allocated. Elements of the field are arranged in a 2D structured grid.
int | GetIndex (int i1, int i2)
| Returns the linear index of the component that is identified by 2 separate indices. Field elements are stored in one dimensional array but they can be accesses by 2 indices as they were part of 2 dimensional array.The last index (for "y direction") is most significant and the first one (in "x direction") is least significant.
void | getIndices (int index, out int i1, out int i2)
| Converts linear (contiguous) index to 2 separate indices for 2 dimensions. The last index (for "y direction") is most significant and the first one (in "x direction") is least significant.
virtual void | SetDimensions (int d1, int d2)
| Sets all three dimensions of the current 2D structured field.
## Static Public Member Functions
static void | MapCoordinatesPlain (StructuredField2d< vec3 > referenceField, StructuredField2d< vec3 > targetField, IFunc3d fx, IFunc3d fy, IFunc3d fz)
| Generates coordinates of a 2D structured grid embedded in 3D by mapping coordinates of a reference grid by the specified scalar functions that map coordinate vectors from the reference domain to individual coordinate components in the actual domain. Target field can be the same as the reference field (in this case coordinates of the reference field are overwritten one by one).Function can be used for transformation of any nodal vector values of a grid, not just for transformation of coordinates.This is plain version of the method that does not check consistency of dimension or existence of objects.
static void | MapCoordinates (StructuredField2d< vec3 > referenceField, StructuredField2d< vec3 > targetField, IFunc3d fx, IFunc3d fy, IFunc3d fz)
| Generates coordinates of a 2D structured grid embedded in 3D by mapping coordinates of a reference grid by the specified scalar functions that map coordinate vectors from the reference domain to individual coordinate components in the actual domain. Target field can be the same as the reference field (in this case coordinates of the reference field are overwritten one by one).Function can be used for transformation of any nodal vector values of a grid, not just for transformation of coordinates.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.
static void | MapCoordinatesReferencePlain (StructuredField2d< vec3 > referenceField, StructuredField2d< vec3 > targetField, IFunc2d fx, IFunc2d fy, IFunc2d fz)
| Generates coordinates of a 2D structured grid embedded in 3D by mapping first two coordinate components of reference grid nodes by the specified scalar functions of two variables. This method is specialized for transforming coordinates of a reference grid that lies in the XY plane. Target field can be the same as the reference field (in this case coordinates of the reference field are overwritten one by one).This is plain version of the method that does not check consistency of dimension or existence of objects.
static void | MapCoordinatesReference (StructuredField2d< vec3 > referenceField, StructuredField2d< vec3 > targetField, IFunc2d fx, IFunc2d fy, IFunc2d fz)
| Generates coordinates of a 2D structured grid embedded in 3D by mapping first two coordinate components of reference grid nodes by the specified scalar functions of two variables. This method is specialized for transforming coordinates of a reference grid that lies in the XY plane. Target field can be the same as the reference field (in this case coordinates of the reference field are overwritten one by one).Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.
static void | MapCoordinatesToScalarsPlain (StructuredField2d< vec3 > referenceField, StructuredField2d< double > targetScalarField, IFunc3d scalarMap)
| Generates scalar values for a 2D structured grid embedded in 3D space from the specified field of grid coordinates by a specified scalar function of 3 variables that maps coordinates to scalar values. Function can be used for any mapping of nodal vector values to nodal scalar values of a 2D grid embedded in 3D, not just for mapping of coordinates.This is plain version of the method that does not check consistency of dimension or existence of objects.
static void | MapCoordinatesToScalars (StructuredField2d< vec3 > referenceField, StructuredField2d< double > targetScalarField, IFunc3d scalarMap)
| Generates scalar values for a 2D structured grid embedded in 3D space from the specified field of grid coordinates by a specified scalar function of 3 variables that maps coordinates to scalar values. Function can be used for any mapping of nodal vector values to nodal scalar values of a 2D grid embedded in 3D, not just for mapping of coordinates.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.
static void | GenerateCoordinatesPlain (StructuredField2d< vec3 > field, double minxRef, double maxxRef, double minyRef, double maxyRef)
| Generates coordinates of a 2D regular grid embeddes in 3D, lying on the XY plane, with grid directions parallel to first two coordinate axes and equidistantly arranged nodes in both directions. Numbers of nodes in each grid directions are specified by current dimensions of the grid.This is plain version of the method that does not check consistency of dimension or existence of objects.
static void | GenerateCoordinates (StructuredField2d< vec3 > field, double minxRef, double maxxRef, double minyRef, double maxyRef)
| Generates coordinates of a 2D regular grid embeddes in 3D, lying on the XY plane, with grid directions parallel to first two coordinate axes and equidistantly arranged nodes in both directions. Numbers of nodes in each grid directions are specified by current dimensions of the grid.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.
static void | GenerateCoordinatesPlain (StructuredField2d< vec3 > field, double minxRef, double maxxRef, double minyRef, double maxyRef, IFunc2d fx, IFunc2d fy, IFunc2d fz)
| Generates coordinates of a 2D structured grid embedded in 3D by mapping nodes of a regular 2D structured grid lying on the XY plane with grid directions parallel to the first two coordinate axes. First two coordinates of each reference grid node are mapped to the three coordinate components of the generated grid.The generated grid covers a bounded patch of a parametric surface in 3D specified by the three functions.Numbers of nodes in each grid directions are specified by current dimensions of the grid.This is plain version of the method that does not check consistency of dimension or existence of objects.
static void | GenerateCoordinates (StructuredField2d< vec3 > field, double minxRef, double maxxRef, double minyRef, double maxyRef, IFunc2d fx, IFunc2d fy, IFunc2d fz)
| Generates coordinates of a 2D structured grid embedded in 3D by mapping nodes of a regular 2D structured grid lying on the XY plane with grid directions parallel to the first two coordinate axes. First two coordinates of each reference grid node are mapped to the three coordinate components of the generated grid.The generated grid covers a bounded patch of a parametric surface in 3D specified by the three functions.Numbers of nodes in each grid directions are specified by current dimensions of the grid.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.
static void | MapCoordinatesPlain (StructuredField2d< vec2 > referenceField, StructuredField2d< vec2 > targetField, IFunc2d fx, IFunc2d fy)
| Generates coordinates of a 2D structured grid by mapping coordinates of a reference grid by the specified scalar functions that map coordinate vectors from the reference domain to individual coordinate components in the actual domain. Target field can be the same as the reference field (in this case coordinates of the reference field are overwritten one by one).Function can be used for transformation of any nodal vector values of a grid, not just for transformation of coordinates.This is plain version of the method that does not check consistency of dimension or existence of objects.
static void | MapCoordinates (StructuredField2d< vec2 > referenceField, StructuredField2d< vec2 > targetField, IFunc2d fx, IFunc2d fy)
| Generates coordinates of a 2D structured grid by mapping coordinates of a reference grid by the specified scalar functions that map coordinate vectors from the reference domain to individual coordinate components in the actual domain. Target field can be the same as the reference field (in this case coordinates of the reference field are overwritten one by one).Function can be used for transformation of any nodal vector values of a grid, not just for transformation of coordinates.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.
static void | MapCoordinatesToScalarsPlain (StructuredField2d< vec2 > referenceField, StructuredField2d< double > targetScalarField, IFunc2d scalarMap)
| Generates scalar values for a 2D structured grid from the specified field of grid coordinates by a specified scalar function of 2 variables that maps coordinates to scalar values. Function can be used for any mapping of nodal vector values to nodal scalar values of a 2D grid, not just for mapping of coordinates.This is plain version of the method that does not check consistency of dimension or existence of objects.
static void | MapCoordinatesToScalars (StructuredField2d< vec2 > referenceField, StructuredField2d< double > targetScalarField, IFunc2d scalarMap)
| Generates scalar values for a 2D structured grid from the specified field of grid coordinates by a specified scalar function of 2 variables that maps coordinates to scalar values. Function can be used for any mapping of nodal vector values to nodal scalar values of a 2D grid, not just for mapping of coordinates.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.
static void | GenerateCoordinatesPlain (StructuredField2d< vec2 > field, double minxRef, double maxxRef, double minyRef, double maxyRef)
| Generates coordinates of a 2D regular grid, with grid directions parallel to coordinate axes and equidistantly arranged nodes in both directions. Numbers of nodes in each grid direction are specified by current dimensions of the grid.This is plain version of the method that does not check consistency of dimension or existence of objects.
static void | GenerateCoordinates (StructuredField2d< vec2 > field, double minxRef, double maxxRef, double minyRef, double maxyRef)
| Generates coordinates of a 2D regular grid, with grid directions parallel to coordinate axes and equidistantly arranged nodes in both directions. Numbers of nodes in each grid direction are specified by current dimensions of the grid.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.
static void | GenerateCoordinatesPlain (StructuredField2d< vec2 > field, double minxRef, double maxxRef, double minyRef, double maxyRef, IFunc2d fx, IFunc2d fy)
| Generates coordinates of a 2D structured grid by mapping nodal coordinates of a regular 2D structured grid with grid directions parallel to coordinate axes. Coordinates of each reference grid node are mapped to the two coordinate components of the generated grid.The generated grid covers a bounded parametric patch in 2D specified by the two functions.Numbers of nodes in each grid directions are specified by current dimensions of the grid.This is plain version of the method that does not check consistency of dimension or existence of objects.
static void | GenerateCoordinates (StructuredField2d< vec2 > field, double minxRef, double maxxRef, double minyRef, double maxyRef, IFunc2d fx, IFunc2d fy)
| Generates coordinates of a 2D structured grid by mapping nodal coordinates of a regular 2D structured grid with grid directions parallel to coordinate axes. Coordinates of each reference grid node are mapped to the two coordinate components of the generated grid.The generated grid covers a bounded parametric patch in 2D specified by the two functions.unctions.Numbers of nodes in each grid directions are specified by current dimensions of the grid.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.
## Properties
TElement | this [int i1, int i2]`[get, set]`
| Returns element of the field at specified indices.
int | Dim1`[get, set]`
| Returns the first dimenson of the structured mesh (number of mesh points in the first direction). Dependencies are handled by a call to the SetDimensions method when the property is set.
int | Dim2`[get, set]`
| Returns the second dimenson of the structured mesh (number of mesh points in the second direction). Dependencies are handled by a call to the SetDimensions method when the property is set.
## Private Attributes
int | _d1
int | _d2

## Detailed Description

### template<TElement>
class IG::Num::StructuredField2d< TElement >

Field where field elements are arranged in a 2 dimensional array. Usually represents a field over a structured 2D mesh.

Elements can be accessed either through a single index running over all elements of the array, or by 2 indices indexing elements in 2 basic directions of the grid. The first index ("x direction") ie least significant and the last index is most significant.

Template Parameters:

  TElement | Type of elements in the field.

Indexing of elements of the structured 2D field has changed in 2011. Now the first index (in x direction) is least significant and the last one is most significant, opposite to notation in matrices. $A Igor Jan08 Mar09;

## Member Function Documentation

template<TElement >

IG::Num::StructuredField2d< TElement >::StructuredField2d | ( |  | ) | `[inline]`

Constructs a new empty 2D field (no elements contained) with no name and no description.

template<TElement >

IG::Num::StructuredField2d< TElement >::StructuredField2d | ( | int | dim1,
|  | int | dim2
| ) |  | `[inline]`

Constructs a new 2D field with the specified dimensions, name and description. Table of elements is allocated. Elements of the field are arranged in a 2D structured grid.

template<TElement >

IG::Num::StructuredField2d< TElement >::StructuredField2d | ( | int | dim1,
|  | int | dim2,
|  | string | fieldName
| ) |  | `[inline]`

Constructs a new 2D field with the specified dimensions, name and description. Table of elements is allocated. Elements of the field are arranged in a 2D structured grid.

Parameters:

  fieldName | Name of the field.

template<TElement >

IG::Num::StructuredField2d< TElement >::StructuredField2d | ( | int | dim1,
|  | int | dim2,
|  | string | fieldName,
|  | string | fieldDescription
| ) |  | `[inline]`

Constructs a new 2D field with the specified dimensions, name and description. Table of elements is allocated. Elements of the field are arranged in a 2D structured grid.

Parameters:

  dim1 | First dimension of the field (number of grid nodes in the first direction).
  dim2 | Second dimension of the field (number of grid nodes in the second direction).
  fieldName | Name of the field.
  fieldDescription | Field description.

template<TElement >

int IG::Num::StructuredField2d< TElement >::GetIndex | ( | int | i1,
|  | int | i2
| ) |  | `[inline]`

Returns the linear index of the component that is identified by 2 separate indices. Field elements are stored in one dimensional array but they can be accesses by 2 indices as they were part of 2 dimensional array.The last index (for "y direction") is most significant and the first one (in "x direction") is least significant.

Parameters:

  i1 | The first index of an element in a 2D array (least significant).
  i2 | The second index of an element in a 2D array.

Indexing of elements of the structured 2D field has changed in 2011. Now the first index (in x direction) is least significant and the last one is most signifivant, opposite to notation in matrices. $A Igor Jan08 Oct11;

template<TElement >

void IG::Num::StructuredField2d< TElement >::getIndices | ( | int | index,
|  | out int | i1,
|  | out int | i2
| ) |  | `[inline]`

Converts linear (contiguous) index to 2 separate indices for 2 dimensions. The last index (for "y direction") is most significant and the first one (in "x direction") is least significant.

Parameters:

  index | Overall contiguous index.
  i1 | The first index of an element in a 2D array (least significant)
  i2 | The second index of an element in a 2D array.

Indexing of elements of the structured 2D field has changed in 2011. Now the first index (in x direction) is least significant and the last one is most signifivant, opposite to notation in matrices. $A Igor Jan08 Oct11;

template<TElement >

virtual void IG::Num::StructuredField2d< TElement >::SetDimensions | ( | int | d1,
|  | int | d2
| ) |  | `[inline, virtual]`

Sets all three dimensions of the current 2D structured field.

Parameters:

  d1 | First dimension.
  d2 | Second dimension.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::MapCoordinatesPlain | ( | StructuredField2d< vec3 > | referenceField,
|  | StructuredField2d< vec3 > | targetField,
|  | IFunc3d | fx,
|  | IFunc3d | fy,
|  | IFunc3d | fz
| ) |  | `[inline, static]`

Generates coordinates of a 2D structured grid embedded in 3D by mapping coordinates of a reference grid by the specified scalar functions that map coordinate vectors from the reference domain to individual coordinate components in the actual domain. Target field can be the same as the reference field (in this case coordinates of the reference field are overwritten one by one).Function can be used for transformation of any nodal vector values of a grid, not just for transformation of coordinates.This is plain version of the method that does not check consistency of dimension or existence of objects.

Parameters:

  referenceField | Field containing reference coordinates that will be mapped to actual coordinates.

Dimensions must be set and array of vector values (coordinates) must be allocated before the function is called.

Parameters:

  targetField | Field for which transformed coordinates are generated.

Dimensions must be set and consistent with dimensions of the reference field, and array of vector values must be allocated before the function is called.

This parameter can be the same field as referenceField .

Parameters:

  fx | Function that maps node coordinates of the reference grid to the first node coordinates of the actual grid.
  fy | Function that maps node coordinates of the reference grid to the second node coordinates of the actual grid.
  fz | Function that maps node coordinates of the reference grid to the third node coordinates of the actual grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::MapCoordinates | ( | StructuredField2d< vec3 > | referenceField,
|  | StructuredField2d< vec3 > | targetField,
|  | IFunc3d | fx,
|  | IFunc3d | fy,
|  | IFunc3d | fz
| ) |  | `[inline, static]`

Generates coordinates of a 2D structured grid embedded in 3D by mapping coordinates of a reference grid by the specified scalar functions that map coordinate vectors from the reference domain to individual coordinate components in the actual domain. Target field can be the same as the reference field (in this case coordinates of the reference field are overwritten one by one).Function can be used for transformation of any nodal vector values of a grid, not just for transformation of coordinates.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.

Parameters:

  referenceField | Field containing reference coordinates that will be mapped to actual coordinates.

Dimensions must be set and array of vector values (coordinates) must be allocated before the function is called.

Parameters:

  targetField | Field for which coordinates are generated.

Dimensions must be set and consistent with dimensions of the reference field, and array of vector values must be allocated before the function is called.

This parameter can be the same field as referenceField .

Parameters:

  fx | Function that maps node coordinates of the reference grid to the first node coordinates of the actual grid.
  fy | Function that maps node coordinates of the reference grid to the second node coordinates of the actual grid.
  fz | Function that maps node coordinates of the reference grid to the third node coordinates of the actual grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::MapCoordinatesReferencePlain | ( | StructuredField2d< vec3 > | referenceField,
|  | StructuredField2d< vec3 > | targetField,
|  | IFunc2d | fx,
|  | IFunc2d | fy,
|  | IFunc2d | fz
| ) |  | `[inline, static]`

Generates coordinates of a 2D structured grid embedded in 3D by mapping first two coordinate components of reference grid nodes by the specified scalar functions of two variables. This method is specialized for transforming coordinates of a reference grid that lies in the XY plane. Target field can be the same as the reference field (in this case coordinates of the reference field are overwritten one by one).This is plain version of the method that does not check consistency of dimension or existence of objects.

Parameters:

  referenceField | Field containing reference coordinates that will be mapped to actual coordinates.

Dimensions must be set and array of vector values (coordinates) must be allocated before the function is called.

Parameters:

  targetField | Field for which transformed coordinates are generated.

Dimensions must be set and consistent with dimensions of the reference field, and array of vector values must be allocated before the function is called.

This parameter can be the same field as referenceField .

Parameters:

  fx | Function that maps node coordinates of the reference grid to the first node coordinates of the actual grid.
  fy | Function that maps node coordinates of the reference grid to the second node coordinates of the actual grid.
  fz | Function that maps node coordinates of the reference grid to the third node coordinates of the actual grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::MapCoordinatesReference | ( | StructuredField2d< vec3 > | referenceField,
|  | StructuredField2d< vec3 > | targetField,
|  | IFunc2d | fx,
|  | IFunc2d | fy,
|  | IFunc2d | fz
| ) |  | `[inline, static]`

Generates coordinates of a 2D structured grid embedded in 3D by mapping first two coordinate components of reference grid nodes by the specified scalar functions of two variables. This method is specialized for transforming coordinates of a reference grid that lies in the XY plane. Target field can be the same as the reference field (in this case coordinates of the reference field are overwritten one by one).Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.

Parameters:

  referenceField | Field containing reference coordinates that will be mapped to actual coordinates.

Dimensions must be set and array of vector values (coordinates) must be allocated before the function is called.

Parameters:

  targetField | Field for which coordinates are generated.

Dimensions must be set and consistent with dimensions of the reference field, and array of vector values must be allocated before the function is called.

This parameter can be the same field as referenceField .

Parameters:

  fx | Function that maps node coordinates of the reference grid to the first node coordinates of the actual grid.
  fy | Function that maps node coordinates of the reference grid to the second node coordinates of the actual grid.
  fz | Function that maps node coordinates of the reference grid to the third node coordinates of the actual grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::MapCoordinatesToScalarsPlain | ( | StructuredField2d< vec3 > | referenceField,
|  | StructuredField2d< double > | targetScalarField,
|  | IFunc3d | scalarMap
| ) |  | `[inline, static]`

Generates scalar values for a 2D structured grid embedded in 3D space from the specified field of grid coordinates by a specified scalar function of 3 variables that maps coordinates to scalar values. Function can be used for any mapping of nodal vector values to nodal scalar values of a 2D grid embedded in 3D, not just for mapping of coordinates.This is plain version of the method that does not check consistency of dimension or existence of objects.

Parameters:

  referenceField | Field containing coordinates that will be mapped to scalar values.

Dimensions must be set and array of vector values (coordinates) must be allocated before the function is called.

Parameters:

  targetField | Field in which the mapped scalars are stored.

Dimensions must be set and consistent with dimensions of the reference field, and array of values must be allocated before the function is called.

Parameters:

  scalarMap | Function that maps node coordinates of the reference grid to scalar values of the target grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::MapCoordinatesToScalars | ( | StructuredField2d< vec3 > | referenceField,
|  | StructuredField2d< double > | targetScalarField,
|  | IFunc3d | scalarMap
| ) |  | `[inline, static]`

Generates scalar values for a 2D structured grid embedded in 3D space from the specified field of grid coordinates by a specified scalar function of 3 variables that maps coordinates to scalar values. Function can be used for any mapping of nodal vector values to nodal scalar values of a 2D grid embedded in 3D, not just for mapping of coordinates.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.

Parameters:

  referenceField | Field containing coordinates that will be mapped to scalar values.

Dimensions must be set and array of vector values (coordinates) must be allocated before the function is called.

Parameters:

  targetField | Field in which the mapped scalars are stored.

Dimensions must be set and consistent with dimensions of the reference field, and array of values must be allocated before the function is called.

Parameters:

  scalarMap | Function that maps node coordinates of the reference grid to scalar values of the target grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::GenerateCoordinatesPlain | ( | StructuredField2d< vec3 > | field,
|  | double | minxRef,
|  | double | maxxRef,
|  | double | minyRef,
|  | double | maxyRef
| ) |  | `[inline, static]`

Generates coordinates of a 2D regular grid embeddes in 3D, lying on the XY plane, with grid directions parallel to first two coordinate axes and equidistantly arranged nodes in both directions. Numbers of nodes in each grid directions are specified by current dimensions of the grid.This is plain version of the method that does not check consistency of dimension or existence of objects.

Parameters:

  field | Field for which coordinates are generated. Dimensions must be set and array of vector values allocated before this function is called.
  minxRef | Minimal value of x coordinate of the generated grid.
  maxxRef | Maximal value of x coordinate of the generated grid.
  minyRef | Minimal value of y coordinate of the generated grid.
  maxyRef | Maximal value of y coordinate of the generated grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::GenerateCoordinates | ( | StructuredField2d< vec3 > | field,
|  | double | minxRef,
|  | double | maxxRef,
|  | double | minyRef,
|  | double | maxyRef
| ) |  | `[inline, static]`

Generates coordinates of a 2D regular grid embeddes in 3D, lying on the XY plane, with grid directions parallel to first two coordinate axes and equidistantly arranged nodes in both directions. Numbers of nodes in each grid directions are specified by current dimensions of the grid.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.

Parameters:

  field | Field for which coordinates are generated. Dimensions must be set and array of vector values allocated before this function is called.
  minxRef | Minimal value of x coordinate of the generated grid.
  maxxRef | Maximal value of x coordinate of the generated grid.
  minyRef | Minimal value of y coordinate of the generated grid.
  maxyRef | Maximal value of y coordinate of the generated grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::GenerateCoordinatesPlain | ( | StructuredField2d< vec3 > | field,
|  | double | minxRef,
|  | double | maxxRef,
|  | double | minyRef,
|  | double | maxyRef,
|  | IFunc2d | fx,
|  | IFunc2d | fy,
|  | IFunc2d | fz
| ) |  | `[inline, static]`

Generates coordinates of a 2D structured grid embedded in 3D by mapping nodes of a regular 2D structured grid lying on the XY plane with grid directions parallel to the first two coordinate axes. First two coordinates of each reference grid node are mapped to the three coordinate components of the generated grid.The generated grid covers a bounded patch of a parametric surface in 3D specified by the three functions.Numbers of nodes in each grid directions are specified by current dimensions of the grid.This is plain version of the method that does not check consistency of dimension or existence of objects.

Parameters:

  field | Field for which coordinates are generated. Dimensions must be set and array of vector values allocated before this function is called.
  minxRef | Lower bound for the first parameter in the reference coordinate system.
  maxxRef | Upper bound for the first parameter in the reference coordinate system.
  minyRef | Lower bound for the second parameter in the reference coordinate system.
  maxyRef | Upper bound for the second parameter in the reference coordinate system.
  minzRef | Lower bound for the third parameter in the reference coordinate system.
  maxzRef | Upper bound for the third parameter in the reference coordinate system.
  fx | Function that maps node coordinates of the reference grid to the first node coordinates' component of the actual grid.
  fy | Function that maps node coordinates of the reference grid to the second node coordinates' component of the actual grid.
  fz | Function that maps node coordinates of the reference grid to the third node coordinates' component of the actual grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::GenerateCoordinates | ( | StructuredField2d< vec3 > | field,
|  | double | minxRef,
|  | double | maxxRef,
|  | double | minyRef,
|  | double | maxyRef,
|  | IFunc2d | fx,
|  | IFunc2d | fy,
|  | IFunc2d | fz
| ) |  | `[inline, static]`

Generates coordinates of a 2D structured grid embedded in 3D by mapping nodes of a regular 2D structured grid lying on the XY plane with grid directions parallel to the first two coordinate axes. First two coordinates of each reference grid node are mapped to the three coordinate components of the generated grid.The generated grid covers a bounded patch of a parametric surface in 3D specified by the three functions.Numbers of nodes in each grid directions are specified by current dimensions of the grid.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.

Parameters:

  field | Field for which coordinates are generated. Dimensions must be set and array of vector values allocated before this function is called.
  minxRef | Lower bound for the first parameter in the reference coordinate system.
  maxxRef | Upper bound for the first parameter in the reference coordinate system.
  minyRef | Lower bound for the second parameter in the reference coordinate system.
  maxyRef | Upper bound for the second parameter in the reference coordinate system.
  minzRef | Lower bound for the third parameter in the reference coordinate system.
  maxzRef | Upper bound for the third parameter in the reference coordinate system.
  fx | Function that maps node coordinates of the reference grid to the first node coordinates' component of the actual grid.
  fy | Function that maps node coordinates of the reference grid to the second node coordinates' component of the actual grid.
  fz | Function that maps node coordinates of the reference grid to the third node coordinates' component of the actual grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::MapCoordinatesPlain | ( | StructuredField2d< vec2 > | referenceField,
|  | StructuredField2d< vec2 > | targetField,
|  | IFunc2d | fx,
|  | IFunc2d | fy
| ) |  | `[inline, static]`

Generates coordinates of a 2D structured grid by mapping coordinates of a reference grid by the specified scalar functions that map coordinate vectors from the reference domain to individual coordinate components in the actual domain. Target field can be the same as the reference field (in this case coordinates of the reference field are overwritten one by one).Function can be used for transformation of any nodal vector values of a grid, not just for transformation of coordinates.This is plain version of the method that does not check consistency of dimension or existence of objects.

Parameters:

  referenceField | Field containing reference coordinates that will be mapped to actual coordinates.

Dimensions must be set and array of vector values (coordinates) must be allocated before the function is called.

Parameters:

  targetField | Field for which transformed coordinates are generated.

Dimensions must be set and consistent with dimensions of the reference field, and array of vector values must be allocated before the function is called.

This parameter can be the same field as referenceField .

Parameters:

  fx | Function that maps node coordinates of the reference grid to the first node coordinates of the actual grid.
  fy | Function that maps node coordinates of the reference grid to the second node coordinates of the actual grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::MapCoordinates | ( | StructuredField2d< vec2 > | referenceField,
|  | StructuredField2d< vec2 > | targetField,
|  | IFunc2d | fx,
|  | IFunc2d | fy
| ) |  | `[inline, static]`

Generates coordinates of a 2D structured grid by mapping coordinates of a reference grid by the specified scalar functions that map coordinate vectors from the reference domain to individual coordinate components in the actual domain. Target field can be the same as the reference field (in this case coordinates of the reference field are overwritten one by one).Function can be used for transformation of any nodal vector values of a grid, not just for transformation of coordinates.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.

Parameters:

  referenceField | Field containing reference coordinates that will be mapped to actual coordinates.

Dimensions must be set and array of vector values (coordinates) must be allocated before the function is called.

Parameters:

  targetField | Field for which coordinates are generated.

Dimensions must be set and consistent with dimensions of the reference field, and array of vector values must be allocated before the function is called.

This parameter can be the same field as referenceField .

Parameters:

  fx | Function that maps node coordinates of the reference grid to the first node coordinates of the actual grid.
  fy | Function that maps node coordinates of the reference grid to the second node coordinates of the actual grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::MapCoordinatesToScalarsPlain | ( | StructuredField2d< vec2 > | referenceField,
|  | StructuredField2d< double > | targetScalarField,
|  | IFunc2d | scalarMap
| ) |  | `[inline, static]`

Generates scalar values for a 2D structured grid from the specified field of grid coordinates by a specified scalar function of 2 variables that maps coordinates to scalar values. Function can be used for any mapping of nodal vector values to nodal scalar values of a 2D grid, not just for mapping of coordinates.This is plain version of the method that does not check consistency of dimension or existence of objects.

Parameters:

  referenceField | Field containing coordinates that will be mapped to scalar values.

Dimensions must be set and array of vector values (coordinates) must be allocated before the function is called.

Parameters:

  targetField | Field in which the mapped scalars are stored.

Dimensions must be set and consistent with dimensions of the reference field, and array of values must be allocated before the function is called.

Parameters:

  scalarMap | Function that maps node coordinates of the reference grid to scalar values of the target grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::MapCoordinatesToScalars | ( | StructuredField2d< vec2 > | referenceField,
|  | StructuredField2d< double > | targetScalarField,
|  | IFunc2d | scalarMap
| ) |  | `[inline, static]`

Generates scalar values for a 2D structured grid from the specified field of grid coordinates by a specified scalar function of 2 variables that maps coordinates to scalar values. Function can be used for any mapping of nodal vector values to nodal scalar values of a 2D grid, not just for mapping of coordinates.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.

Parameters:

  referenceField | Field containing coordinates that will be mapped to scalar values.

Dimensions must be set and array of vector values (coordinates) must be allocated before the function is called.

Parameters:

  targetField | Field in which the mapped scalars are stored.

Dimensions must be set and consistent with dimensions of the reference field, and array of values must be allocated before the function is called.

Parameters:

  scalarMap | Function that maps node coordinates of the reference grid to scalar values of the target grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::GenerateCoordinatesPlain | ( | StructuredField2d< vec2 > | field,
|  | double | minxRef,
|  | double | maxxRef,
|  | double | minyRef,
|  | double | maxyRef
| ) |  | `[inline, static]`

Generates coordinates of a 2D regular grid, with grid directions parallel to coordinate axes and equidistantly arranged nodes in both directions. Numbers of nodes in each grid direction are specified by current dimensions of the grid.This is plain version of the method that does not check consistency of dimension or existence of objects.

Parameters:

  field | Field for which coordinates are generated. Dimensions must be set and array of vector values allocated before this function is called.
  minxRef | Minimal value of x coordinate of the generated grid.
  maxxRef | Maximal value of x coordinate of the generated grid.
  minyRef | Minimal value of y coordinate of the generated grid.
  maxyRef | Maximal value of y coordinate of the generated grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::GenerateCoordinates | ( | StructuredField2d< vec2 > | field,
|  | double | minxRef,
|  | double | maxxRef,
|  | double | minyRef,
|  | double | maxyRef
| ) |  | `[inline, static]`

Generates coordinates of a 2D regular grid, with grid directions parallel to coordinate axes and equidistantly arranged nodes in both directions. Numbers of nodes in each grid direction are specified by current dimensions of the grid.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.

Parameters:

  field | Field for which coordinates are generated. Dimensions must be set and array of vector values allocated before this function is called.
  minxRef | Minimal value of x coordinate of the generated grid.
  maxxRef | Maximal value of x coordinate of the generated grid.
  minyRef | Minimal value of y coordinate of the generated grid.
  maxyRef | Maximal value of y coordinate of the generated grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::GenerateCoordinatesPlain | ( | StructuredField2d< vec2 > | field,
|  | double | minxRef,
|  | double | maxxRef,
|  | double | minyRef,
|  | double | maxyRef,
|  | IFunc2d | fx,
|  | IFunc2d | fy
| ) |  | `[inline, static]`

Generates coordinates of a 2D structured grid by mapping nodal coordinates of a regular 2D structured grid with grid directions parallel to coordinate axes. Coordinates of each reference grid node are mapped to the two coordinate components of the generated grid.The generated grid covers a bounded parametric patch in 2D specified by the two functions.Numbers of nodes in each grid directions are specified by current dimensions of the grid.This is plain version of the method that does not check consistency of dimension or existence of objects.

Parameters:

  field | Field for which coordinates are generated. Dimensions must be set and array of vector values allocated before this function is called.
  minxRef | Lower bound for the first parameter in the reference coordinate system.
  maxxRef | Upper bound for the first parameter in the reference coordinate system.
  minyRef | Lower bound for the second parameter in the reference coordinate system.
  maxyRef | Upper bound for the second parameter in the reference coordinate system.
  fx | Function that maps node coordinates of the reference grid to the first node coordinates' component of the actual grid.
  fy | Function that maps node coordinates of the reference grid to the second node coordinates' component of the actual grid.

template<TElement >

static void IG::Num::StructuredField2d< TElement >::GenerateCoordinates | ( | StructuredField2d< vec2 > | field,
|  | double | minxRef,
|  | double | maxxRef,
|  | double | minyRef,
|  | double | maxyRef,
|  | IFunc2d | fx,
|  | IFunc2d | fy
| ) |  | `[inline, static]`

Generates coordinates of a 2D structured grid by mapping nodal coordinates of a regular 2D structured grid with grid directions parallel to coordinate axes. Coordinates of each reference grid node are mapped to the two coordinate components of the generated grid.The generated grid covers a bounded parametric patch in 2D specified by the two functions.unctions.Numbers of nodes in each grid directions are specified by current dimensions of the grid.Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.

Parameters:

  field | Field for which coordinates are generated. Dimensions must be set and array of vector values allocated before this function is called.
  minxRef | Lower bound for the first parameter in the reference coordinate system.
  maxxRef | Upper bound for the first parameter in the reference coordinate system.
  minyRef | Lower bound for the second parameter in the reference coordinate system.
  maxyRef | Upper bound for the second parameter in the reference coordinate system.
  fx | Function that maps node coordinates of the reference grid to the first node coordinates' component of the actual grid.
  fy | Function that maps node coordinates of the reference grid to the second node coordinates' component of the actual grid.

## Member Data Documentation

template<TElement >

int IG::Num::StructuredField2d< TElement >::_d1`[private]`

template<TElement >

int IG::Num::StructuredField2d< TElement >::_d2`[private]`

## Property Documentation

template<TElement >

TElement IG::Num::StructuredField2d< TElement >::this[int i1, int i2]`[get, set]`

Returns element of the field at specified indices.

Parameters:

  i1 | The first index of an element in a 2D array (least significant).
  i2 | The second index of an element in a 2D array.

Indexing of elements of the structured 2D field has changed in 2011. Now the first index (in x direction) is least significant and the last one is most significant, opposite to notation in matrices. $A Igor Jan08 Oct11;

Reimplemented from IG::Num::Field< TElement >.

template<TElement >

int IG::Num::StructuredField2d< TElement >::Dim1`[get, set]`

Returns the first dimenson of the structured mesh (number of mesh points in the first direction). Dependencies are handled by a call to the SetDimensions method when the property is set.

template<TElement >

int IG::Num::StructuredField2d< TElement >::Dim2`[get, set]`

Returns the second dimenson of the structured mesh (number of mesh points in the second direction). Dependencies are handled by a call to the SetDimensions method when the property is set.

The documentation for this class was generated from the following file:

- StructuredField2dGeneric.cs

All Classes Namespaces Files Functions Variables Enumerations Properties Events