“30” “30”](mstkla.md#MESH%20VERTEX:) “30” “30”](MeshEdge.md) “30” “30”](GenRegion.md)

 



   MESH ATTRIBUTE OPERATORS

 


void MESH_AddAtt(PMeshObj mesh, char **attname, *AttType attype, Rank rank,

MType mtype, Interp interp, int persist, char **ioflags, *double defval);

AttType, Rank and Interp are typedef enums which are available if one

includes “mstkla.h”. The specific names (which are pretty much the strings

that are used in LaGriT) are given in mstkla_types.h (See MSTKLA typedefs)

‘persist’ must be 0 for temporary atts and 1 for permanent attribs

‘ioflags’ is a string as in lagrit  (may be any combination of ‘a’, ‘g’, ‘f’, ‘s’, ‘x’, ‘no’ for

AVS, GMV, FEHM, SGI, LaGriT or None)

mtype is MVERTEX if the attribute is to be node based and is MFACE or

MREGION if the attribute is to be element based depending on whether the mesh

is 2D or 3D respectively.


void MESH_ModAtt(PMeshObj mesh, *char **attname, *char

*fieldname, *int inew,

double rnew, *char **cnew);

Here depending on the fieldname, one has to fill the right value for inew,

rnew or cnew.

* *


void MESH_CopyAtt(PMeshObj trgmsh, PMeshObj srcmsh, char

trgatt, *char *srcatt);

* *


 void MESH_DelAtt(PMeshObj mesh, *char **attname);


void MESH_SetAtt(PMeshObj mesh, char **attname, *int ifirst, int ilast, int

istride, char **psetname, *double value);

If psetname is specified ifirst is ignored

* *



Once attributes have been created, one can go to an individual mesh entity

and ask for the value of an attribute for that entity or change the value.

The entities can be Mesh Vertices (always), Mesh Faces (for a surface mesh

only), Mesh Regions (for a solid mesh only).

For example one can use MR_GetAttVal operator to get the value of an

attribute for a given element or use MR_SetAttVal to set it.

See attribute operators forMesh Vertices,Mesh Regions and Mesh Faces

  “30” “30”](mstkla.md#MESH%20VERTEX:) “30” “30”](MeshEdge.md) “30” “30”](GenRegion.md)