GemaCoreLib
The GeMA Core library
Public Member Functions | Private Attributes | List of all members
GmMultiGaussCoordinates Class Reference

A helper class that returns the coordinates of an element's Gauss points, tailored to be used inside a loop over a set of elements. More...

#include <gmGaussCoordinates.h>

Inheritance diagram for GmMultiGaussCoordinates:
Inheritance graph
[legend]
Collaboration diagram for GmMultiGaussCoordinates:
Collaboration graph
[legend]

Public Member Functions

 GmMultiGaussCoordinates (const GmElementMesh *mesh, int ruleSet, const GmValueAccessor *coordAc)
 Builds an object that can be used to return an elemnt's Gauss coordinates after a call to setElement()
 
void setElement (const GmElement *e)
 Sets the current element.
 
- Public Member Functions inherited from GmGaussCoordinates
int numPoints () const
 Return the number of integration points for this element.
 
void coord (int ip, GmVector &c) const
 Fills c with the cartesian coordinates of integration point ip.
 
const GmShapeshape () const
 Returns the current element shape function.
 
const GmIntegrationRuleintegrationRule () const
 Returns the current element integration rule.
 
GmMatrixcoordMatrix ()
 Returns a WRITABLE reference to the current element node coordinates. Can be used to alter the standard element node coordinate set.
 

Private Attributes

const GmElementMesh_mesh
 The mesh containing the traversed elements.
 
int _ruleSet
 The rule set defining the integration rules used by the elements.
 
const GmValueAccessor_coordAc
 The node coordinate accessor.
 
GmCellType _lastType
 The type of the last element.
 

Additional Inherited Members

- Protected Member Functions inherited from GmGaussCoordinates
 GmGaussCoordinates (const GmShape *shape, const GmIntegrationRule *ir)
 The basic constructor. Accepts NULL parameters as long as they are filled before using numPoints() or coord()
 
- Protected Attributes inherited from GmGaussCoordinates
const GmShape_shape
 The shape function for the element type.
 
const GmIntegrationRule_ir
 The integration rule defining the set of Gauss points.
 
GmMatrix _X
 The matrix with element node coordinates.
 

Detailed Description

A helper class that returns the coordinates of an element's Gauss points, tailored to be used inside a loop over a set of elements.

Use it like: GmVector ipCoord; GmMultiGaussCoordinates egc(mesh, ruleSet, nodeAc); GmForeachElement(const GmElement* e, mesh) { egc.setElement(e); for(int ip = 0, nip = egc.numPoints(); ip < nip; ip++) { egc.coord(ip, ipCoord); // Fills ipCoord with the cartesian coordinates of the Gauss point ip for element e } }


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