IGLib  1.5
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
IG.Num.StructuredField3d< TElement > Class Template Reference

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

+ Inheritance diagram for IG.Num.StructuredField3d< TElement >:
+ Collaboration diagram for IG.Num.StructuredField3d< TElement >:

Public Member Functions

 StructuredField3d ()
 Constructs a new empty 3D field (no elements contained) with no name and no description. More...
 
 StructuredField3d (int dim1, int dim2, int dim3)
 Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated. More...
 
 StructuredField3d (int dim1, int dim2, int dim3, string fieldName)
 Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated. More...
 
 StructuredField3d (int dim1, int dim2, int dim3, string fieldName, string fieldDescription)
 Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated. More...
 
int GetIndex (int i1, int i2, int i3)
 Returns the linear index of the component that is identified by 3 separate indices. More...
 
void getIndices (int index, out int i1, out int i2, out int i3)
 Converts linear (contiguous) index to 3 separate indices for 3 dimensions. More...
 
virtual void SetDimensions (int d1, int d2, int d3)
 Sets all three dimensions of the current 3D structured field. More...
 
- Public Member Functions inherited from IG.Num.Field< TElement >
 Field ()
 Constructs a new empty field (no elements contained) with no name and no description. More...
 
 Field (int numElements)
 Creates a new field with the specified number of elements. More...
 
 Field (int numElements, string fieldName)
 Constructs a new field with the specified number of elements and name. More...
 
 Field (int numElements, string fieldName, string fieldDescription)
 Constructs a new field with the specified number of elements, name and description. Table of elements is allocated. More...
 
virtual void SetLength (int newLength)
 Sets the length of the current field to the specified value. More...
 
TElement GetValue (int index)
 Returns element of the field at the specified index. More...
 
void SetValue (int index, TElement value)
 Sets the element at the specified index to the specified value. More...
 

Static Public Member Functions

static void MapCoordinatesPlain (StructuredField3d< vec3 > referenceField, StructuredField3d< vec3 > targetField, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a 3D structured grid for a parametric volume from a reference grid according to functions specifying x, y, and z coordinates in terms of three scalar functions of 3 variables that map reference coordinates to components of the mapped coordinates of the grid. More...
 
static void MapCoordinates (StructuredField3d< vec3 > referenceField, StructuredField3d< vec3 > targetField, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a 3D structured grid for a parametric volume from a reference grid according to functions specifying x, y, and z coordinates in terms of three scalar functions of 3 variables that map reference coordinates to components of the mapped coordinates of the grid. More...
 
static void MapCoordinatesToScalarsPlain (StructuredField3d< vec3 > referenceField, StructuredField3d< double > targetScalarField, IFunc3d scalarMap)
 Generates scalar values for a 3D structured grid from the specified field of grid coordinates by a specified scalar function of 3 variables that maps reference coordinates to scalar values. More...
 
static void MapCoordinatesToScalars (StructuredField3d< vec3 > referenceField, StructuredField3d< double > targetScalarField, IFunc3d scalarMap)
 Generates scalar values for a 3D structured grid from the specified field of grid coordinates by a specified scalar function of 3 variables that maps reference coordinates to scalar values. More...
 
static void GenerateCoordinatesPlain (StructuredField3d< vec3 > field, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef)
 Generates coordinates (unconnected) unstructured grid based on a 3D regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinates (StructuredField3d< vec3 > field, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef)
 Generates coordinates of unstructured grid based on a 3D regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinatesPlain (StructuredField3d< vec3 > field, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of unstructured grid based on a 3D structured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void GenerateCoordinates (StructuredField3d< vec3 > field, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a 3D structured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
- Static Public Member Functions inherited from IG.Num.Field< TElement >
static void UpdateBounds (Field< double > field, IBoundingBox bounds, int componentIndex)
 Updates the specified component of the specified bounds (object of type IBoundingBox) in such a way that all elements of the specified field will fit within the bounds. More...
 
static void UpdateBounds< TEl > (Field< TEl > field, IBoundingBox bounds)
 Updates the specified bounds (object of type IBoundingBox) in such a way that all non-null vectors on the specified field will fit within the bounds. More...
 
static void UpdateBounds (Field< vec3 > field, IBoundingBox bounds)
 Updates the specified bounds (object of type IBoundingBox) in such a way that all 3D vector elements of type vec3 of the specified field will fit within the bounds. More...
 
static void MapCoordinatesPlain (Field< vec3 > referenceField, Field< vec3 > targetField, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a set of unstructured 3D points (point cloud) from a reference set according to 3 scalar functions of 3 variables that map coordinates of the reference points to components of the mapped points. More...
 
static void MapCoordinates (Field< vec3 > referenceField, Field< vec3 > targetField, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a set of unstructured points (point cloud) from a reference set according to 3 scalar functions of 3 variables that map coordinates of the reference points to components of the mapped points. More...
 
static void MapCoordinates2dPlain (Field< vec3 > referenceField, Field< vec3 > targetField, IFunc2d fx, IFunc2d fy, IFunc2d fz)
 Generates coordinates of a set of unstructured 3D points (point cloud) from a reference set according to 3 scalar functions of 2 variables that map coordinates of the reference points to components of the mapped points. Mapping functions act only on the first two coordinates of each point. More...
 
static void MapCoordinates2d (Field< vec3 > referenceField, Field< vec3 > targetField, IFunc2d fx, IFunc2d fy, IFunc2d fz)
 Generates coordinates of a set of unstructured points (point cloud) from a reference set according to 3 scalar functions of 2 variables that map the first two coordinates of the reference points to components of the mapped points. More...
 
static void MapCoordinates1dPlain (Field< vec3 > referenceField, Field< vec3 > targetField, IRealFunction fx, IRealFunction fy, IRealFunction fz)
 Generates coordinates of a set of unstructured 3D points (point cloud) from a reference set according to 3 functions of 1 variable that map the first coordinate of the reference points to components of the mapped points. More...
 
static void MapCoordinates1d (Field< vec3 > referenceField, Field< vec3 > targetField, IRealFunction fx, IRealFunction fy, IRealFunction fz)
 Generates coordinates of a set of unstructured 3D points (point cloud) from a reference set according to 3 functions of 1 variable that map the first coordinate of the reference points to components of the mapped points. More...
 
static void MapCoordinatesToScalarsPlain (Field< vec3 > referenceField, Field< double > targetScalarField, IFunc3d scalarMap)
 Generates scalar values for a 3D unstructured set fo points from the specified field of grid coordinates by a specified scalar function of 3 variables that maps coordinates to scalar values. More...
 
static void MapCoordinatesToScalars (Field< vec3 > referenceField, Field< double > targetScalarField, IFunc3d scalarMap)
 Generates scalar values for a 3D unstructured set fo points from the specified field of grid coordinates by a specified scalar function of 3 variables that maps coordinates to scalar values. More...
 
static void GenerateCoordinatesPlain (Field< vec3 > field, int dimx, int dimy, int dimz, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef)
 Generates coordinates of a 3D unstructured grid from a regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinates (Field< vec3 > field, int dimx, int dimy, int dimz, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef)
 Generates coordinates of a 3D unstructured grid from a regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinatesPlain (Field< vec3 > field, int dimx, int dimy, int dimz, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a 3D unstructured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void GenerateCoordinates (Field< vec3 > field, int dimx, int dimy, int dimz, double minxRef, double maxxRef, double minyRef, double maxyRef, double minzRef, double maxzRef, IFunc3d fx, IFunc3d fy, IFunc3d fz)
 Generates coordinates of a 3D unstructured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void UpdateBounds (Field< vec2 > field, IBoundingBox bounds)
 Updates the specified bounds (object of type IBoundingBox) in such a way that all 2D vector elements of type vec2 of the specified field will fit within the bounds. More...
 
static void MapCoordinatesPlain (Field< vec2 > referenceField, Field< vec2 > targetField, IFunc2d fx, IFunc2d fy)
 Generates coordinates of a set of unstructured 3D points (point cloud) from a reference set according to 2 scalar functions of 2 variables that map coordinates of the reference points to components of the mapped points. More...
 
static void MapCoordinates (Field< vec2 > referenceField, Field< vec2 > targetField, IFunc2d fx, IFunc2d fy)
 Generates coordinates of a set of unstructured points (point cloud) from a reference set according to 2 scalar functions of 2 variables that map coordinates of the reference points to components of the mapped points. More...
 
static void MapCoordinates1dPlain (Field< vec2 > referenceField, Field< vec2 > targetField, IRealFunction fx, IRealFunction fy)
 Generates coordinates of a set of unstructured 2D points (point cloud) from a reference set according to 2 functions of 1 variables that map the first coordinate of the reference points to components of the mapped points. More...
 
static void MapCoordinates1d (Field< vec2 > referenceField, Field< vec2 > targetField, IRealFunction fx, IRealFunction fy)
 Generates coordinates of a set of unstructured 2D points (point cloud) from a reference set according to 2 functions of 1 variables that map the first coordinate of the reference points to components of the mapped points. More...
 
static void MapCoordinatesToScalarsPlain (Field< vec2 > referenceField, Field< double > targetScalarField, IFunc2d scalarMap)
 Generates scalar values for a 2D unstructured set fo points from the specified field of grid coordinates by a specified scalar function of 2 variables that maps coordinates to scalar values. More...
 
static void MapCoordinatesToScalars (Field< vec2 > referenceField, Field< double > targetScalarField, IFunc2d scalarMap)
 Generates scalar values for a 2D unstructured set fo points from the specified field of grid coordinates by a specified scalar function of 2 variables that maps coordinates to scalar values. More...
 
static void GenerateCoordinatesPlain (Field< vec2 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef)
 Generates coordinates of a 3D unstructured grid from a regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinates (Field< vec2 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef)
 Generates coordinates of a 3D unstructured grid from a regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinatesPlain (Field< vec2 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef, IFunc2d fx, IFunc2d fy)
 Generates coordinates of a 3D unstructured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void GenerateCoordinates (Field< vec2 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef, IFunc2d fx, IFunc2d fy)
 Generates coordinates of a 3D unstructured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void GenerateCoordinates2dPlain (Field< vec3 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef)
 Generates coordinates of a 2D unstructured grid embedded in 3D from a regular grid with grid directions parallel to the first two coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinates2d (Field< vec3 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef)
 Generates coordinates of a 2D unstructured grid embedded in 3D from a regular grid with grid directions parallel to the first two coordinate axes and equidistantly arranged nodes in all directions. More...
 
static void GenerateCoordinates2dPlain (Field< vec3 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef, IFunc2d fx, IFunc2d fy, IFunc2d fz)
 Generates coordinates of a 3D unstructured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void GenerateCoordinates2d (Field< vec3 > field, int dimx, int dimy, double minxRef, double maxxRef, double minyRef, double maxyRef, IFunc2d fx, IFunc2d fy, IFunc2d fz)
 Generates coordinates of a 3D unstructured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables. More...
 
static void GenerateCoordinates1dPlain (Field< vec3 > field, int dimx, double minxRef, double maxxRef)
 Generates coordinates of a 1D unstructured grid from a regular grid with grid direction parallel to X coordinate axes and equidistantly arranged nodes. More...
 
static void GenerateCoordinates1d (Field< vec3 > field, int dimx, double minxRef, double maxxRef)
 Generates coordinates of a 1D unstructured grid from a regular grid with grid direction parallel to X coordinate axis and equidistantly arranged nodes. More...
 
static void GenerateCoordinates1dPlain (Field< vec3 > field, int dimx, double minxRef, double maxxRef, IRealFunction fx, IRealFunction fy, IRealFunction fz)
 Generates coordinates of a 1D unstructured grid of a parametric curve according to functions specifying the x, y, and z coordinates in terms of three functions of 1 variable. More...
 
static void GenerateCoordinates1d (Field< vec3 > field, int dimx, double minxRef, double maxxRef, IRealFunction fx, IRealFunction fy, IRealFunction fz)
 Generates coordinates of a 1D unstructured grid of a parametric curve according to functions specifying the x, y, and z coordinates in terms of three functions of 1 variables. More...
 
static void GenerateCoordinates1dPlain (Field< vec2 > field, int dimx, double minxRef, double maxxRef)
 Generates coordinates of a 1D unstructured grid embedded in 2D space from a regular grid with grid direction parallel to X coordinate axes and equidistantly arranged nodes. More...
 
static void GenerateCoordinates (Field< vec2 > field, int dimx, double minxRef, double maxxRef)
 Generates coordinates of a 1D unstructured grid embedded in 2D space from a regular grid with grid direction parallel to X coordinate axis and equidistantly arranged nodes. More...
 
static void GenerateCoordinates1dPlain (Field< vec2 > field, int dimx, double minxRef, double maxxRef, IRealFunction fx, IRealFunction fy)
 Generates coordinates of a 1D unstructured grid embedded in 2D space of a parametric curve according to functions specifying the x, and y coordinates in terms of 2 functions of 1 variable. More...
 
static void GenerateCoordinates1d (Field< vec2 > field, int dimx, double minxRef, double maxxRef, IRealFunction fx, IRealFunction fy)
 Generates coordinates of a 1D unstructured grid embedded in 2D space of a parametric curve according to functions specifying the x, and y coordinates in terms of 2 functions of 1 variable. More...
 
static void Example ()
 

Properties

TElement this[int i1, int i2, int i3] [get, set]
 Returns element of the field at specified indices. More...
 
int Dim1 [get, set]
 Returns the first dimenson of the structured mesh (number of mesh points in the first direction). More...
 
int Dim2 [get, set]
 Returns the second dimenson of the structured mesh (number of mesh points in the second direction). More...
 
int Dim3 [get, set]
 Gets or sets the second dimenson of the structured mesh (number of mesh points in the second direction). More...
 
- Properties inherited from IG.Num.Field< TElement >
string Name [get, set]
 Name of the field. More...
 
string Description [get, set]
 Description of the field. More...
 
virtual TElement[] Values [get, protected set]
 Array of field values. More...
 
int Length [get, protected set]
 Number of elements. More...
 
TElement this[int index] [get, set]
 Access to elements through element index. More...
 

Private Attributes

int _d1
 
int _d2
 
int _d3
 

Additional Inherited Members

- Protected Attributes inherited from IG.Num.Field< TElement >
TElement[] _values
 

Detailed Description

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

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

Template Parameters
TElementType of elements in the field.

Indexing of elements of the structured 3D 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 Mar09;

Constructor & Destructor Documentation

IG.Num.StructuredField3d< TElement >.StructuredField3d ( )
inline

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

IG.Num.StructuredField3d< TElement >.StructuredField3d ( int  dim1,
int  dim2,
int  dim3 
)
inline

Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated.

Elements of the field are arranged in a 3D structured grid.

Parameters
numElements
IG.Num.StructuredField3d< TElement >.StructuredField3d ( int  dim1,
int  dim2,
int  dim3,
string  fieldName 
)
inline

Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated.

Elements of the field are arranged in a 3D structured grid.

Parameters
numElementsNumber of elements.
fieldNameName of the field.
IG.Num.StructuredField3d< TElement >.StructuredField3d ( int  dim1,
int  dim2,
int  dim3,
string  fieldName,
string  fieldDescription 
)
inline

Constructs a new 3D field with the specified dimensions, name and description. Table of elements is allocated.

Elements of the field are arranged in a 3D structured grid.

Parameters
dim1First dimension of the field (number of grid nodes in the first direction).
dim2Second dimension of the field (number of grid nodes in the second direction).
dim3Third dimension of the field (number of grid nodes in the third direction).
fieldNameName of the field.
fieldDescriptionField description.

Member Function Documentation

int IG.Num.StructuredField3d< TElement >.GetIndex ( int  i1,
int  i2,
int  i3 
)
inline

Returns the linear index of the component that is identified by 3 separate indices.

Field elements are stored in one dimensional array but they can be accesses by 3 indices as they were part of 3 dimensional array.

The last index (for "z direction") is most significant and the first one (in "x direction") is least significant.

Parameters
i1The first index of an element in a 3D array (least significant).
i2The second index of an element in a 3D array.
i3The third index of an element in a 3D array (most significant).

Indexing of elements of the structured 3D 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;

void IG.Num.StructuredField3d< TElement >.getIndices ( int  index,
out int  i1,
out int  i2,
out int  i3 
)
inline

Converts linear (contiguous) index to 3 separate indices for 3 dimensions.

The last index (for "z direction") is most significant and the first one (in "x direction") is least significant.

Parameters
indexOverall contiguous index.
i1The first index of an element in a 3D array (least significant)
i2The second index of an element in a 3D array.
i3The third index of an element in a 3D array (most significant).

Indexing of elements of the structured 3D 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;

virtual void IG.Num.StructuredField3d< TElement >.SetDimensions ( int  d1,
int  d2,
int  d3 
)
inlinevirtual

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

Parameters
d1First dimension.
d2Second dimension.
d3Third dimension.
static void IG.Num.StructuredField3d< TElement >.MapCoordinatesPlain ( StructuredField3d< vec3 referenceField,
StructuredField3d< vec3 targetField,
IFunc3d  fx,
IFunc3d  fy,
IFunc3d  fz 
)
inlinestatic

Generates coordinates of a 3D structured grid for a parametric volume from a reference grid according to functions specifying x, y, and z coordinates in terms of three scalar functions of 3 variables that map reference coordinates to components of the mapped coordinates of the grid.

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
referenceFieldField 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
targetFieldField 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
fxFunction that maps node coordinates of the reference grid to the first node coordinates of the actual grid.
fyFunction that maps node coordinates of the reference grid to the second node coordinates of the actual grid.
fzFunction that maps node coordinates of the reference grid to the third node coordinates of the actual grid.
static void IG.Num.StructuredField3d< TElement >.MapCoordinates ( StructuredField3d< vec3 referenceField,
StructuredField3d< vec3 targetField,
IFunc3d  fx,
IFunc3d  fy,
IFunc3d  fz 
)
inlinestatic

Generates coordinates of a 3D structured grid for a parametric volume from a reference grid according to functions specifying x, y, and z coordinates in terms of three scalar functions of 3 variables that map reference coordinates to components of the mapped coordinates of the grid.

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
referenceFieldField 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
targetFieldField 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
fxFunction that maps node coordinates of the reference grid to the first node coordinates of the actual grid.
fyFunction that maps node coordinates of the reference grid to the second node coordinates of the actual grid.
fzFunction that maps node coordinates of the reference grid to the third node coordinates of the actual grid.
static void IG.Num.StructuredField3d< TElement >.MapCoordinatesToScalarsPlain ( StructuredField3d< vec3 referenceField,
StructuredField3d< double >  targetScalarField,
IFunc3d  scalarMap 
)
inlinestatic

Generates scalar values for a 3D structured grid from the specified field of grid coordinates by a specified scalar function of 3 variables that maps reference coordinates to scalar values.

Function can be used for any mapping of nodal vector values to nodal scalar values of a 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
referenceFieldField 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
targetFieldField 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
scalarMapFunction that maps node coordinates of the reference grid to scalar values of the target grid.
static void IG.Num.StructuredField3d< TElement >.MapCoordinatesToScalars ( StructuredField3d< vec3 referenceField,
StructuredField3d< double >  targetScalarField,
IFunc3d  scalarMap 
)
inlinestatic

Generates scalar values for a 3D structured grid from the specified field of grid coordinates by a specified scalar function of 3 variables that maps reference coordinates to scalar values.

Function can be used for any mapping of nodal vector values to nodal scalar values of a grid, not just for mapping of coordinates.

Consistency of dimensions and existence of objects are checked and exceptions are thrown when checks fail.

Parameters
referenceFieldField 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
targetFieldField 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
scalarMapFunction that maps node coordinates of the reference grid to scalar values of the target grid.
static void IG.Num.StructuredField3d< TElement >.GenerateCoordinatesPlain ( StructuredField3d< vec3 field,
double  minxRef,
double  maxxRef,
double  minyRef,
double  maxyRef,
double  minzRef,
double  maxzRef 
)
inlinestatic

Generates coordinates (unconnected) unstructured grid based on a 3D regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all 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
fieldField for which coordinates are generated. Dimensions must be set and array of vector values allocated before this function is called.
minxRefMinimal value of x coordinate of the generated grid.
maxxRefMaximal value of x coordinate of the generated grid.
minyRefMinimal value of y coordinate of the generated grid.
maxyRefMaximal value of y coordinate of the generated grid.
minzRefMinimal value of z coordinate of the generated grid.
maxzRefMaximal value of z coordinate of the generated grid.
static void IG.Num.StructuredField3d< TElement >.GenerateCoordinates ( StructuredField3d< vec3 field,
double  minxRef,
double  maxxRef,
double  minyRef,
double  maxyRef,
double  minzRef,
double  maxzRef 
)
inlinestatic

Generates coordinates of unstructured grid based on a 3D regular grid with grid directions parallel to coordinate axes and equidistantly arranged nodes in all 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
fieldField for which coordinates are generated. Dimensions must be set and array of vector values allocated before this function is called.
minxRefMinimal value of x coordinate of the generated grid.
maxxRefMaximal value of x coordinate of the generated grid.
minyRefMinimal value of y coordinate of the generated grid.
maxyRefMaximal value of y coordinate of the generated grid.
minzRefMinimal value of z coordinate of the generated grid.
maxzRefMaximal value of z coordinate of the generated grid.
static void IG.Num.StructuredField3d< TElement >.GenerateCoordinatesPlain ( StructuredField3d< vec3 field,
double  minxRef,
double  maxxRef,
double  minyRef,
double  maxyRef,
double  minzRef,
double  maxzRef,
IFunc3d  fx,
IFunc3d  fy,
IFunc3d  fz 
)
inlinestatic

Generates coordinates of unstructured grid based on a 3D structured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables.

Coordinates are obtained by transforming individual coordinates of a regular equidistant grid from the reference system.

.

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
fieldField for which coordinates are generated. Dimensions must be set and array of vector values allocated before this function is called.
minxRefLower bound for the first parameter in the reference coordinate system.
maxxRefUpper bound for the first parameter in the reference coordinate system.
minyRefLower bound for the second parameter in the reference coordinate system.
maxyRefUpper bound for the second parameter in the reference coordinate system.
minzRefLower bound for the third parameter in the reference coordinate system.
maxzRefUpper bound for the third parameter in the reference coordinate system.
fxFunction that maps node coordinates of the reference grid to the first node coordinates' component of the actual grid.
fyFunction that maps node coordinates of the reference grid to the second node coordinates' component of the actual grid.
fzFunction that maps node coordinates of the reference grid to the third node coordinates' component of the actual grid.
static void IG.Num.StructuredField3d< TElement >.GenerateCoordinates ( StructuredField3d< vec3 field,
double  minxRef,
double  maxxRef,
double  minyRef,
double  maxyRef,
double  minzRef,
double  maxzRef,
IFunc3d  fx,
IFunc3d  fy,
IFunc3d  fz 
)
inlinestatic

Generates coordinates of a 3D structured grid of a parametric volume according to functions specifying the x, y, and z coordinates in terms of three scalar functions of 3 variables.

Coordinates are obtained by transforming individual coordinates of a regular equidistant grid from the reference system.

.

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
fieldField for which coordinates are generated. Dimensions must be set and array of vector values allocated before this function is called.
minxRefLower bound for the first parameter in the reference coordinate system.
maxxRefUpper bound for the first parameter in the reference coordinate system.
minyRefLower bound for the second parameter in the reference coordinate system.
maxyRefUpper bound for the second parameter in the reference coordinate system.
minzRefLower bound for the third parameter in the reference coordinate system.
maxzRefUpper bound for the third parameter in the reference coordinate system.
fxFunction that maps node coordinates of the reference grid to the first node coordinates' component of the actual grid.
fyFunction that maps node coordinates of the reference grid to the second node coordinates' component of the actual grid.
fzFunction that maps node coordinates of the reference grid to the third node coordinates' component of the actual grid.

Member Data Documentation

int IG.Num.StructuredField3d< TElement >._d1
private
int IG.Num.StructuredField3d< TElement >._d2
private
int IG.Num.StructuredField3d< TElement >._d3
private

Property Documentation

TElement IG.Num.StructuredField3d< TElement >.this[int i1, int i2, int i3]
getset

Returns element of the field at specified indices.

Parameters
i1The first index of an element in a 3D array (least significant).
i2The second index of an element in a 3D array.
i3The third index of an element in a 3D array (most significant).

Indexing of elements of the structured 3D 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;

int IG.Num.StructuredField3d< TElement >.Dim1
getset

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 IG.Num.StructuredField3d< TElement >.Dim2
getset

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.

int IG.Num.StructuredField3d< TElement >.Dim3
getset

Gets or sets 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: