Coin Logo Coin3D is Free Software,
published under the BSD 3-clause license.
https://bitbucket.org/Coin3D/
http://www.kongsberg.com/kogt/
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
SoFEMKit Class Reference

The SoFEMKit class is used to visualize finite element meshes. More...

#include <SoFEMKit.h>

Inherits SoBaseKit.

Public Member Functions

 SoFEMKit (void)
 
virtual void getBoundingBox (SoGetBoundingBoxAction *action)
 
virtual void GLRender (SoGLRenderAction *action)
 
void reset (void)
 
void removeHiddenFaces (const SbBool onoff)
 
void addNode (const int nodeidx, const SbVec3f &xyz)
 
void add3DElement (const int elementidx, const int32_t *nodes, const int layerindex=0)
 
void add2DElement (const int elementidx, const int32_t *nodes, const int layerindex=0)
 
void setNodeColor (const int nodeidx, const SbColor &color)
 
void setElementColor (const int elementidx, const SbColor &color)
 
void enableAllElements (const SbBool onoroff)
 
void enableElement (const int elementidx, const SbBool onoroff)
 
void enableElements (const SbPlane &plane, const SbBool onoroff)
 
void enableLayer (const int layerindex, const SbBool onoroff)
 
void create3DIndices (int32_t *idxarray, const int32_t *nodes)
 
void create2DIndices (int32_t *idxarray, const int32_t *nodes)
 
- Public Member Functions inherited from SoBaseKit
virtual SoType getTypeId (void) const
 
 SoBaseKit (void)
 
virtual const SoNodekitCataloggetNodekitCatalog (void) const
 
virtual SoNodegetPart (const SbName &partname, SbBool makeifneeded)
 
SbString getPartString (const SoBase *part)
 
virtual SoNodeKitPathcreatePathToPart (const SbName &partname, SbBool makeifneeded, const SoPath *pathtoextend=NULL)
 
virtual SbBool setPart (const SbName &partname, SoNode *from)
 
SbBool set (const char *namevaluepairliststring)
 
SbBool set (const char *partnamestring, const char *parameterstring)
 
virtual void doAction (SoAction *action)
 
virtual void callback (SoCallbackAction *action)
 
virtual void getMatrix (SoGetMatrixAction *action)
 
virtual void handleEvent (SoHandleEventAction *action)
 
virtual void rayPick (SoRayPickAction *action)
 
virtual void search (SoSearchAction *action)
 
virtual void write (SoWriteAction *action)
 
virtual void getPrimitiveCount (SoGetPrimitiveCountAction *action)
 
virtual SoChildListgetChildren (void) const
 
void printDiagram (void)
 
void printSubDiagram (const SbName &rootname, int level)
 
void printTable (void)
 
virtual void addWriteReference (SoOutput *out, SbBool isfromfield=FALSE)
 
SbBool forceChildDrivenWriteRefs (SoOutput *out)
 
- Public Member Functions inherited from SoNode
void setOverride (const SbBool state)
 
SbBool isOverride (void) const
 
void setNodeType (const NodeType type)
 
NodeType getNodeType (void) const
 
virtual SoNodecopy (SbBool copyconnections=FALSE) const
 
virtual SbBool affectsState (void) const
 
virtual void GLRenderBelowPath (SoGLRenderAction *action)
 
virtual void GLRenderInPath (SoGLRenderAction *action)
 
virtual void GLRenderOffPath (SoGLRenderAction *action)
 
virtual void pick (SoPickAction *action)
 
virtual void audioRender (SoAudioRenderAction *action)
 
virtual void grabEventsSetup (void)
 
virtual void grabEventsCleanup (void)
 
virtual void startNotify (void)
 
virtual void notify (SoNotList *l)
 
SbUniqueId getNodeId (void) const
 
virtual void writeInstance (SoOutput *out)
 
virtual SoFieldContainercopyThroughConnection (void) const
 
- Public Member Functions inherited from SoFieldContainer
void setToDefaults (void)
 
SbBool hasDefaultValues (void) const
 
SbBool fieldsAreEqual (const SoFieldContainer *container) const
 
void copyFieldValues (const SoFieldContainer *container, SbBool copyconnections=FALSE)
 
SbBool set (const char *const fielddata)
 
void get (SbString &fielddata)
 
virtual int getFields (SoFieldList &l) const
 
virtual int getAllFields (SoFieldList &l) const
 
virtual SoFieldgetField (const SbName &name) const
 
virtual SoFieldgetEventIn (const SbName &name) const
 
virtual SoFieldgetEventOut (const SbName &name) const
 
SbBool getFieldName (const SoField *const field, SbName &name) const
 
SbBool enableNotify (const SbBool flag)
 
SbBool isNotifyEnabled (void) const
 
SbBool set (const char *fielddata, SoInput *input)
 
void get (SbString &fielddata, SoOutput *out)
 
virtual SbBool validateNewFieldValue (SoField *field, void *newval)
 
SbBool getIsBuiltIn (void) const
 
virtual void getFieldsMemorySize (size_t &managed, size_t &unmanaged) const
 
void setUserData (void *userdata) const
 
void * getUserData (void) const
 
- Public Member Functions inherited from SoBase
void ref (void) const
 
void unref (void) const
 
void unrefNoDelete (void) const
 
int32_t getRefCount (void) const
 
void touch (void)
 
SbBool isOfType (SoType type) const
 
virtual SbName getName (void) const
 
virtual void setName (const SbName &newname)
 
void addAuditor (void *const auditor, const SoNotRec::Type type)
 
void removeAuditor (void *const auditor, const SoNotRec::Type type)
 
const SoAuditorListgetAuditors (void) const
 
SbBool shouldWrite (void)
 
void assertAlive (void) const
 

Static Public Member Functions

static void initClass (void)
 
- Static Public Member Functions inherited from SoBaseKit
static const SoNodekitCataloggetClassNodekitCatalog (void)
 
static SbBool isSearchingChildren (void)
 
static void setSearchingChildren (const SbBool newval)
 
- Static Public Member Functions inherited from SoNode
static uint32_t getCompatibilityTypes (const SoType &nodetype)
 
static SoNodegetByName (const SbName &name)
 
static int getByName (const SbName &name, SoNodeList &l)
 
static void initClasses (void)
 
static SbUniqueId getNextNodeId (void)
 
static int getActionMethodIndex (const SoType type)
 
static void getBoundingBoxS (SoAction *action, SoNode *node)
 
static void GLRenderS (SoAction *action, SoNode *node)
 
static void callbackS (SoAction *action, SoNode *node)
 
static void getMatrixS (SoAction *action, SoNode *node)
 
static void handleEventS (SoAction *action, SoNode *node)
 
static void pickS (SoAction *action, SoNode *node)
 
static void rayPickS (SoAction *action, SoNode *node)
 
static void searchS (SoAction *action, SoNode *node)
 
static void writeS (SoAction *action, SoNode *node)
 
static void audioRenderS (SoAction *action, SoNode *node)
 
static void getPrimitiveCountS (SoAction *action, SoNode *node)
 
- Static Public Member Functions inherited from SoFieldContainer
static void initCopyDict (void)
 
static void addCopy (const SoFieldContainer *orig, const SoFieldContainer *copy)
 
static SoFieldContainercheckCopy (const SoFieldContainer *orig)
 
static SoFieldContainerfindCopy (const SoFieldContainer *orig, const SbBool copyconnections)
 
static void copyDone (void)
 
- Static Public Member Functions inherited from SoBase
static void initClass (void)
 
static SoType getClassTypeId (void)
 
static void addName (SoBase *const base, const char *const name)
 
static void removeName (SoBase *const base, const char *const name)
 
static void incrementCurrentWriteCounter (void)
 
static void decrementCurrentWriteCounter (void)
 
static SoBasegetNamedBase (const SbName &name, SoType type)
 
static int getNamedBases (const SbName &name, SoBaseList &baselist, SoType type)
 
static SbBool read (SoInput *input, SoBase *&base, SoType expectedtype)
 
static void setInstancePrefix (const SbString &c)
 
static void setTraceRefs (SbBool trace)
 
static SbBool getTraceRefs (void)
 
static SbBool connectRoute (SoInput *input, const SbName &fromnodename, const SbName &fromfieldname, const SbName &tonodename, const SbName &tofieldname)
 
static SbBool readRoute (SoInput *input)
 

Public Attributes

SoSFBool ccw
 
- Public Attributes inherited from SoNode
 INVENTOR
 
 VRML1
 
 VRML2
 
 INVENTOR_1
 
 INVENTOR_2_0
 
 INVENTOR_2_1
 
 INVENTOR_2_5
 
 INVENTOR_2_6
 
 COIN_1_0
 
 COIN_2_0
 
 EXTENSION
 

Protected Member Functions

virtual ~SoFEMKit ()
 
- Protected Member Functions inherited from SoBaseKit
virtual const SoFieldDatagetFieldData (void) const
 
virtual ~SoBaseKit ()
 
virtual SoNodeaddToCopyDict (void) const
 
virtual void copyContents (const SoFieldContainer *fromfc, SbBool copyconnections)
 
SoGroupgetContainerNode (const SbName &listname, SbBool makeifneeded=TRUE)
 
virtual SoNodegetAnyPart (const SbName &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE)
 
virtual SoNodeKitPathcreatePathToAnyPart (const SbName &partname, SbBool makeifneeded, SbBool leafcheck=FALSE, SbBool publiccheck=FALSE, const SoPath *pathtoextend=NULL)
 
virtual SbBool setAnyPart (const SbName &partname, SoNode *from, SbBool anypart=TRUE)
 
void createNodekitPartsList (void)
 
void createFieldList (void)
 
virtual void createDefaultParts (void)
 
const SoNodekitParts * getNodekitPartsList (void) const
 
const SbList< SoSFNode *> & getCatalogInstances (void) const
 
void catalogError (void)
 
virtual SbBool setUpConnections (SbBool onoff, SbBool doitalways=FALSE)
 
virtual SbBool readInstance (SoInput *in, unsigned short flags)
 
virtual void setDefaultOnNonWritingFields (void)
 
void countMyFields (SoOutput *out)
 
virtual SbBool setPart (const int partNum, SoNode *node)
 
- Protected Member Functions inherited from SoNode
 SoNode (void)
 
virtual ~SoNode ()
 
- Protected Member Functions inherited from SoFieldContainer
 SoFieldContainer (void)
 
virtual ~SoFieldContainer ()
 
- Protected Member Functions inherited from SoBase
 SoBase (void)
 
virtual ~SoBase ()
 
virtual void destroy (void)
 
SbBool hasMultipleWriteRefs (void) const
 
SbBool writeHeader (SoOutput *out, SbBool isgroup, SbBool isengine) const
 
void writeFooter (SoOutput *out) const
 
virtual const char * getFileFormatName (void) const
 

Additional Inherited Members

- Public Types inherited from SoNode
enum  NodeType
 
- Protected Types inherited from SoBase
enum  BaseFlags
 
- Static Protected Member Functions inherited from SoBaseKit
static const SoNodekitCatalog ** getClassNodekitCatalogPtr (void)
 
- Static Protected Member Functions inherited from SoNode
static const SoFieldData ** getFieldDataPtr (void)
 
static void setNextActionMethodIndex (int index)
 
static int getNextActionMethodIndex (void)
 
static void incNextActionMethodIndex (void)
 
static void setCompatibilityTypes (const SoType &nodetype, const uint32_t bitmask)
 
- Static Protected Member Functions inherited from SoBase
static uint32_t getCurrentWriteCounter (void)
 
- Protected Attributes inherited from SoBaseKit
SoChildListchildren
 
SbBool connectionsSetUp
 
- Protected Attributes inherited from SoNode
SbUniqueId uniqueId
 
- Protected Attributes inherited from SoFieldContainer
SbBool isBuiltIn
 
- Static Protected Attributes inherited from SoNode
static SbUniqueId nextUniqueId
 
static int nextActionMethodIndex
 

Detailed Description

The SoFEMKit class is used to visualize finite element meshes.

Constructor & Destructor Documentation

◆ SoFEMKit()

SoFEMKit::SoFEMKit ( void  )

Constructor.

◆ ~SoFEMKit()

SoFEMKit::~SoFEMKit ( )
protectedvirtual

Destructor

Member Function Documentation

◆ add2DElement()

void SoFEMKit::add2DElement ( const int  elementidx,
const int32_t *  nodes,
const int  layerindex = 0 
)

Add a 2D element to the FEM. elementidx must be an unique index that can be used when setting the element color. nodes should contain the four node indices in the folowing order:

2______3

---—

0 1

layerindex can be used to specify the layer this element is in.

◆ add3DElement()

void SoFEMKit::add3DElement ( const int  elementidx,
const int32_t *  nodes,
const int  layerindex = 0 
)

Add a 3D element to the FEM. elementidx should be an unique index that is used when setting element color. nodes should be eight node indices, ordered like this:

5_______6 /| /| 4/_|____/7| z
| | | | | y | |1 _ |_|2 | / | / | / |/

|/ |/ ---—x

0 3

layerindex can be used to specify the layer this element is in.

◆ addNode()

void SoFEMKit::addNode ( const int  nodeidx,
const SbVec3f xyz 
)

Add a node (vertex) to the FEM. nodeidx should be used to refer to this node (e.g. when setting the node color or when creating elements). Each node must have an unique nodeidx.

◆ create2DIndices()

void SoFEMKit::create2DIndices ( int32_t *  idxarray,
const int32_t *  nodes 
)

◆ create3DIndices()

void SoFEMKit::create3DIndices ( int32_t *  idxarray,
const int32_t *  nodes 
)

◆ enableAllElements()

void SoFEMKit::enableAllElements ( const SbBool  onoroff)

Enable/disable all elements.

◆ enableElement()

void SoFEMKit::enableElement ( const int  elementidx,
const SbBool  onoff 
)

Enable/disable the elementidx element.

◆ enableElements()

void SoFEMKit::enableElements ( const SbPlane plane,
const SbBool  onoroff 
)

Enable/disable elements intersecting plane.

◆ enableLayer()

void SoFEMKit::enableLayer ( const int  layerindex,
const SbBool  onoroff 
)

Enable/disable elements in the leyerindex layer.

◆ getBoundingBox()

void SoFEMKit::getBoundingBox ( SoGetBoundingBoxAction action)
virtual

Reimplemented from SoBaseKit.

◆ GLRender()

void SoFEMKit::GLRender ( SoGLRenderAction action)
virtual

Reimplemented from SoBaseKit.

◆ initClass()

void SoFEMKit::initClass ( void  )
static

◆ removeHiddenFaces()

void SoFEMKit::removeHiddenFaces ( const SbBool  onoff)

Turn on/off simple (but effective!) optimization that removes all faces that are hidden by other faces. Default is to remove hidden faces.

◆ reset()

void SoFEMKit::reset ( void  )

Reset the kit. All elements and nodes will be removed.

◆ setElementColor()

void SoFEMKit::setElementColor ( const int  elementidx,
const SbColor color 
)

Sets the elementidx element color.

◆ setNodeColor()

void SoFEMKit::setNodeColor ( const int  nodeidx,
const SbColor color 
)

Sets the nodeidx node color. Node color will override element colors if both the element color and a node color is set for any given node.

Member Data Documentation

◆ ccw

SoSFBool SoFEMKit::ccw

Set to FALSE if you use a left handed coordinate system (or a coordinate system where the model matrix determinant is negative).


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