GemaCoreLib
The GeMA Core library
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
 NGmFileIOUtils
 CBcCellBoundaryAux class used to store a cell boundary created from a user given list of cells/borders
 CBcNodeSetAux class used to store a node set created either from a GmCellBoundary or from a user given node list
 CBcTaggedPtrA wrapper class around QtTaggedPtr providing specific constructors to the type of Gema pointers that need to be stored by a boundary condition
 CGm3DSurfaceCellIntersection
 CGm3DSurfacePointInfo
 CGmAccessorProxyHelper class with common code for several classes that wrap a value accessor, provinding a slitly different indexing mode (such as a cell accessor where indices the cell pointer or a Gauss accessor where indices are the element pointer + an ip index)
 CGmAcResultsDataSrcAux class adding an accessor to a basic result data source
 CGmAcResultsDataSrcBaseA class storing basic information about a result data to be exported (monitored / saved), that is common to node, cell and Gauss data sources
 CGmAggregator
 CGmAppendBufferA virtual class representing a buffer of T objects that can be appended in a thread-safe way, growing the buffer as needed
 CGmArmadilloSolverMatrixBaseAn implementation of the GmSolverMatrix interface using as base the Armadillo library
 CGmArmadilloSparseSolverMatrixThe standard 'Sparse' matrix based on Armadillo
 CGmAttributeCellAccessorExtends GmCellAccessor to handle attribute accessors
 CGmAttributeDiscontinuityAccessorExtends GmDiscontinuityAccessor to handle attribute accessors
 CGmAttributeResultsDataSrcA class implementing the GmResultsDataSrcInfo interface, storing the metadata and id for a result data registered attribute. It also stores the requested unit and the converter when needed. It is built with the result rule definition only (name + unit) and later completed with the data src definition (info + id) when the infoChanged signal is emmited
 CGmAttributeResultsDataSrcInfoA basic class used to store meta-data information about result attributes DEFINITIONS
 CGmAttributeResultsManagerA class used to host the metadata and the values for all attributes added to the results data. This includes the attributes referenced by result data sets and attributes created by the progress stats classes, also managing their correspondence. It also controls which attributes are being monitored and among those, which of them should have value changes broadcasted "immediately"
 CGmBar2CellGeometryInfoThe Bar2 implementation
 CGmBar2ShapeGmShape specialization for a 2D Bar with 2 nodes object
 CGmBar3CellGeometryInfoThe Bar3 implementation
 CGmBar3D2CellGeometryInfoThe Bar3D2 implementation
 CGmBar3D2ShapeGmShape specialization for a 3D Bar with 2 nodes object
 CGmBar3D3CellGeometryInfoThe Bar3D3 implementation
 CGmBar3D3ShapeGmShape specialization for a 3D Bar with 3 nodes object
 CGmBar3ShapeGmShape specialization for a 2D Bar with 3 nodes object
 CGmBarShapeGmShape specialization for Bars, containing common functions used by concrete Bar specializations, such as Bar2 or Bar3
 CGmBaseCellGroupSetA helper class implementing common code for handling group sets, specially handling group nodes. Is inherited by GmCellDisjointGroupSet and by GmCellGenericGroupSet
 CGmBcAccessorProxyA helper class with common code between GmBoundaryConditionAccessor and GmContactBoundaryConditionAccessor
 CGmBcTagInfoA helper struct to store bc tag information
 CGmBlasTempUpdateNumThreadsA RAII class used to temporarily adjust the number of OpenBlas threads in effect. If the number of threads is zero, does nothing
 CGmBorderIntegrationRuleBorder integration rule base classe
 CGmBoundaryConditionA class used to represent a set of boundary conditions of the same type, tied to the same mesh
 CGmBoundaryConditionAccessorProxy object to a value accesor implementing a more convenient interface to retrieve / store values for BoundaryCondition attributes
 CGmBoundaryConditionBaseA base class used to implement the common part between GmBoundaryCondition and GmContactBoundaryCondition. Should NOT be instanced directly
 CGmBoundaryConditionStateDumpItemAn auxiliar class used to host the needed code for duming a boundary condition to a state dump. Its purpose os to avoid adding that code to the BC class itself
 CGmBVHAcceleration
 CGmBVHVisibility
 CGmBVHVisibility2D
 CGmBVHVisibility3D
 CGmCellBase interface for mesh cells
 CGmCell3DIntersectionCoordAccessorA simple accessor used to access 3d surface cell intersection data with possible unit conversion from the mesh coordinate unit to the desired unit. IMPORTANT: This class does NOT implement all the standard methods of a GmValueAccessor object. Those implemented, though, follow the SAME semantics
 CGmCellAccessorProxy object to a value accesor implementing a more convenient interface where indices used to retrieve / store values are replaced by a reference to a cell
 CGmCellAccessorProxyAn accessor proxy + method for saving a cell in the context
 CGmCellAcResultsDataSrcA GmAcResultsDataSrc class holding a cell value accessor
 CGmCellBoundaryThis class stores a set of cell edges or cell faces that together form a piece of the boundary of a mesh
 CGmCellDisjointGroupSetCell group set consisting of a set of disjoint mesh cell groups
 CGmCellGenericGroupSetCell group set consisting of a set of mesh cell groups
 CGmCellGeometryA class used to return static metadata information about a cell geometry, along with some methods for calculating geometric properties for a cell, given its coordinate matrix
 CGmCellGeometryInfo
 CGmCellGeometryInfoLineElementAn auxiliary class that can be used as base for line (bar) elements. Implements the needed integration rule factories (main element + edge + face)
 CGmCellGeometryInfoSolidElementAn auxiliary class that can be used as base for solid elements. Implements the needed integration rule factories (main element + edge + face)
 CGmCellGeometryInfoSurfaceElementAn auxiliary class that can be used as base for surface elements. Implements the needed integration rule factories (main element + edge + face)
 CGmCellGeometryIntegrationRuleSetA helper class used to store the class types for each rule type. Template parameters are the implementation classes, for an element type, for each of the possible rule types. If a rule type is not supported for an element, just pass GmCellGeometryNullIntegrationRule as template parameter
 CGmCellGeometryIntegrationRuleSetDefaultRulesA helper class used to store the default rules for each rule type. Template parameters are the default integration rule type + a default rule number for each of the possible rule types. If a rule type is not supported for an element, just pass -1 for the associated default rule
 CGmCellGeometryIntegrationRuleSetDoubleParDefaultRulesA helper class used to store the default rules for elements where the default is expressed by two values (like in the wedge case). Implements only the adjustParameters() method by choosing the appropriate rule to apply
 CGmCellGeometryIntegrationRuleSetMultiFaceDefaultRulesA helper class used to store the default rules for elements with more than one face type (like wedges). Template parameters should be GmCellGeometryIntegrationRuleSetDefaultRules<> instances for TRI and QUAD faces. Implements only the adjustFaceParameters() method by choosing the appropriate rule to apply
 CGmCellGeometryMetadataPlane structure storing the full set of geometric metadata for a cell type
 CGmCellGeometryNullIntegrationRuleA type used to represent a 'unexistant" integration rule. Should be used as template parameter for GmCellGeometryIntegrationRuleSet<> when a type does not have an implementation for a rule type (Gauss, Lobatto, open or closed Newton)
 CGmCellGroupSetInterface for helping managing mesh cell groups and returning the elements in their union
 CGmCellMeshBase interface class for CellMesh type plugins
 CGmCellMeshGroupSetCell group set consisting of all the mesh cells
 CGmCellMeshTopologyBase interface class for mesh topological queries
 CGmCellSequentialGroupSetCell group set consisting of a sequential set of mesh cells with no cell group association
 CGmCellTaskDataSetBase class for accessing the set of cells belonging to a mesh partition
 CGmCompact2DSegmentCellIntersectionA (much more) compact version of GmSegmentCellIntersection for 2d intersections only. Must be created on the heap by a call to instance()
 CGmContactBoundaryConditionA class used to represent a set of contact boundary conditions of the same type, tied to the same mesh
 CGmContactBoundaryConditionAccessorProxy object to a value accesor implementing a more convenient interface to retrieve / store values for ContactBoundaryCondition attributes
 CGmCRMatrixAn auxiliary matrix WRAPPER that binds the matrix to a CONST memory area with data already inicialized and interpreted in COLUMN MAJOR FORMAT
 CGmCRVectorAn auxiliary vector WRAPPER that binds the vector to a CONST memory area with data already initialized
 CGmCSxSMLIndexTypeDataA helper class used to provide the different types and sizes needed by GmCSxSparseMatrixLayout<IndexType, T>::indexWorker due to the different possibilities for IndexType
 CGmCSxSMLIndexTypeData< arma::uword >GmCSxSparseMatrixLayoutIndexWorkerTypeData specialization for int64 indices
 CGmCSxSMLIndexTypeData< int >GmCSxSparseMatrixLayoutIndexWorkerTypeData specialization for int32 indices
 CGmCSxSparseMatrixLayoutA structure for storing a matrix layout in either CSR or CSC format. The template type defines the type that will be used for storing indices (the Armadillo library, for example, works with a 64 bits index while the LIS library works with a 32 bits index)
 CGmDataDeserializerA deserializer object used to read mesh data from several file formats
 CGmDefaultPCRAn "empty" PCR object that will neither partition, color or renumber the mesh
 CGmDefValueValueSetStoredDataA GmValueSetStiredData implementation that stores no data and returns the default value, whenever queried, until a different value is written to the set. At that moment, instructs the Value set that owns this data set to exchange it by a base container that will contain the data from that moment on
 CGmDGHexCellGeometryInfoThe DGHex implementation
 CGmDGHexShape
 CGmDGQuadCellGeometryInfoThe DGQuad implementation
 CGmDGQuadShape
 CGmDiscontinuityThe geometric representation for a single discontinuity from the Discontinuity set. For 2D meshes, it is a polyline. For 3D meshes is a triangulated surface. It can also be represented by edge or face lists
 CGmDiscontinuityAccessorProxy object to a value accesor implementing a more convenient interface where indices used to retrieve / store values are replaced by a reference to the discontinuity
 CGmDiscontinuitySetBase interface for providing discontinuity geometry information for spatial indices
 CGmDiscontinuitySetStateDumpItem
 CGmDofMapAn interface for a simple class returning the dof number associated to a local matrix column
 CGmDualVectorA vector tailored for storing mesh related data for the common scenario where elements are added to the mesh but the number of added elements is much smaller than the original mesh size. Although conceptually a single vector, internally the storage is split in two parts. A fixed one with the original mesh information and a second one that grows as new elements are added to the mesh. Since the second part is small, standard vector growing practices are not too hurtfull
 CGmDualVectorRA class very simmilar to GmDualVector with support for removing values. Removing values should be used with caution. See the comments on the function
 CGmEdgeListDiscontinuityEdge based 2D representation for a discontinuity
 CGmElementBase interface for FEM (finite element) mesh elements
 CGmElementDofA class to represent the degrees of freedom associated with each node of an element as seen by a physics object
 CGmElementMeshBase interface for FEM (finite element) meshes
 CGmFaceListDiscontinuityFace based 3D representation for a discontinuity
 CGmFileExtraNodesAn auxiliary class for emiting extra mesh nodes needed by standard GeMA element transformations that can be used while exporting data
 CGmFileFilterA generic auxiliary class for managing the various options that can be used to define the set of nodes and cells that should be exported, independently of the file format & writer in use. It also helps in managing extra nodes needed by cell transformation options. It automatically detects if the mesh has cell types that can not be exported to the given file format and ignores them
 CGmFileFormatBasic interface for describing high level file format capabilities
 CGmFileIOAn object for conducting high level aspects of writing results to export files and / or reading mesh data from input files
 CGmFileNodeRenumberingAn auxiliary class for renumbering nodes when filtering cells from an output mesh. Filtering can be done based on active cells, cells belonging to a cell group and/or by cell type (ignoring cells whose type can not be exported to a file format). The renumbered node sequence only includes nodes that belong to unfiltered cells. A second option allows for the renumbering to consider geometry nodes only, ghost nodes only or both It can also be used to create a map for partitioned meshes() where the original node ordering has gaps in it
 CGmFileReaderBasic interface for file deserializers
 CGmFileWriterBasic interface for file serializers
 CGmFilterableCoordinateSetBidingA extension for implementing filtering of points inside a coordinateSetBiding Mostly useful for discontinuity aware interpolation
 CGmFilteredBorderIteratorAn iterator class that traverses all mesh border cells, subject to the given filter object / function. For each mesh border side, the filter function is called, getting as parameters the cell pointer, the side index and the border index. It should return true if the side is to be returned by the iterator or false if it should be skipped. If skipRemote is set to true, and is also configured in the PCR object, remote halo cells will not be included in the set of iterated cells
 CGmFilteredCellIteratorAn iterator class that traverses all mesh cells, subject to the given filter object / function. For each mesh cell, the filter function is called, getting as parameters the cell pointer. It should return true if the cell is to be returned by the iterator or false if it should be skipped. If skipRemote is set to true, and is also configured in the PCR object, remote halo cells will not be included in the set of iterated cells
 CGmFilteredCellSetGaussIndexA Gauss index interface indexing a filtered set of mesh elements
 CGmFilteredGaussIndexBaseA helper class that implements a GaussIndex like interface for the case where the index can filter cells, indexing just a part of the set of mesh cells, either by working with a cell group or by indexing active cells only (or both)
 CGmFixedMeshSetGaussIndexA Gauss index interface always indexing ALL the elements in either the full mesh or in the given mesh cell list. Once built, the index is fixed
 CGmForeachCellHelperClassHelper class for the GmForeachActiveXxxx() family of macros
 CGmForeachCellHelperClassBaseBase helper class for the GmForeachXxxx() family of macros
 CGmForeachOrderedCellHelperClassHelper class for the GmForeachOrderedActiveXxxx() family of macros
 CGmFValueSetPackedDataThe value set data object for packed data with function support. Very similar to GmFVectorValueSetStoredData. See that class comments for an explanation of the nan box way of storing functions
 CGmFVectorValueSetStoredDataA GmValueSetStoredData implementation that adds support for storing functions to GmVectorValueSetStoredData
 CGmGaussAccessorProxy object to a value accessor implementing a more convenient interface to retrieve / store values for Gauss attributes
 CGmGaussAcResultsDataSrcA GmAcResultsDataSrc class holding a Gauss value accessor
 CGmGaussCloudToPointInterpolatorInterpolator class for calculating values for a point from a Gauss point cloud surrounding the point
 CGmGaussCloudToPointMInterpolatorInterpolator class for calculating multiple values for a point from a Gauss point cloud surrounding the point
 CGmGaussCoordinatesA helper class that returns the coordinates of an element's Gauss points. This class should not be instanced directly. Use GmSingleGaussCoordinates or GmMultiGaussCoordinates instead
 CGmGaussIndexA class storing an index capable of determining the number of integration points belonging to a mesh, to a cell group set or to a cell list, possibly filtered by the set of active elements, and capable of determining the linear index of the gauss point from the element id + local integration point number
 CGmGaussIndexProxyA helper class that implements a GmGaussIndex interface from a proxy object that includes all the needed functions but DOES NOT inherit from GmGaussIndex (and so does not incur in a virtual function call penalty)
 CGmGaussIntegrationTablesA class storing tables with (position, weight) pairs for line, triangle and tetrahedron Gauss integration rules
 CGmGaussNeighborsToNodeInterpolatorInterpolator class for calculating node values from a Gauss point cloud surrounding the node
 CGmGaussNeighborsToNodeMInterpolatorInterpolator class for calculating multiple node values from a Gauss point cloud surrounding the node
 CGmGaussToElementNodeInterpolatorInterpolator class for calculating element node values from data stored on the element Gauss points
 CGmGaussToElementNodeMInterpolatorInterpolator class for calculating multiple element node values from multiple data stored on the element Gauss points
 CGmGaussToElementPointInterpolatorInterpolator class for calculating element internal point values from data stored on the element Gauss points
 CGmGaussToElementPointMInterpolatorInterpolator class for calculating multiple element internal point values from multiple data stored on the element Gauss points
 CGmGaussValueSetInheriting from GmValueSet, this class adds the peculiarities needed for saving values in Gauss points
 CGmGaussValueSetGroupA derived class from GmValueSetGroup storing GmGaussValueSet objects
 CGmGenericNodeSet
 CGmGhostNodeAccessorA proxy class that receives as parameters two accessors for the same data, one for the common node data and the other for ghost node data, reimplementing the interface defined by GmValueAccessor to use one accessor or the other depending on the given node index
 CGmGroupDumpItemA basic interface used for creating dump items for objects that can be dumped by a composition of multiple individual dump items
 CGmHashCSxSparseMatrixLayoutBuilderA class for creating a CSR/CSC matrix layout by using an intermediary hash table to consolidate the (row, column) pairs
 CGmHashSparseVector
 CGmHdf5ModelA helper class with enums and methods common to GmHdf5ModelWriter & GmHdf5ModelReader
 CGmHdf5ModelReaderA helper class used to parse and retrieve data from am hdf5 model file. Used by the mesh plugin to read mesh data and by the core to read boundary conditions & discontinuity set data
 CGmHdf5ModelWriterA class used to export parts of a GeMA model to an HDF5 file. Its API includes both GeMA centric functions, exporting the model based on the contents from a GmModelData object, and more "neutral" functions, exporting the model contents from primitives that receive their data from standard vectors. The second set of functions is appropriate to be called from external codes using the GeMA core library as a helper to create the HDF5 model file
 CGmHElementHierarchical element
 CGmHex20CellGeometryInfoThe hex20 implementation
 CGmHex20ShapeGmShape specialization for a Hexahedron with 20 nodes object
 CGmHex27CellGeometryInfoThe hex27 implementation
 CGmHex27ShapeGmShape specialization for a Hexahedron with 27 nodes object
 CGmHex8CellGeometryInfoThe hex8 implementation
 CGmHex8ShapeGmShape specialization for a Hexahedron with 8 nodes object
 CGmHexEdgeIntegrationRuleIntegration rule for Hex element edges
 CGmHexFaceIntegrationRuleIntegration rule for Hex element faces
 CGmHexGaussEdgeIntegrationRuleGauss integration rule for Hex element borders (edges)
 CGmHexGaussFaceIntegrationRuleGauss integration rule for Hex element borders (faces)
 CGmHexGaussIntegrationRule3D Isotropic / anisotropic Gauss integration rules for Hex elements
 CGmHexLobattoEdgeIntegrationRuleLobatto integration rule for Hex element borders (edges)
 CGmHexLobattoFaceIntegrationRuleLobatto integration rule for Hex element borders (faces)
 CGmHexLobattoIntegrationRule3D Isotropic / anisotropic Lobatto integration rules for Hex elements
 CGmHexNewtonIntegrationRule3D Isotropic / anisotropic Newton cotes integration rules for Hex elements
 CGmHexShapeGmShape specialization for Hexahedrons, containing common functions used by concrete Hex specializations, such as Hex8 or Hex27
 CGmHHexPCellGeometryInfoThe HHexP implementation
 CGmHHexPShapeHierarchical shape functions for a HHEXP element
 CGmHPDGHexCellGeometryInfoThe base class for both HHexP & DGHex implementations. Most functions are analogue to a Hex8 implementation
 CGmHPDGQuadCellGeometryInfoThe base class for both HQuadP & DGQuad implementations. Most functions are analogue to a Quad4 implementation
 CGmHQuadPCellGeometryInfoThe HQuadP implementation
 CGmHQuadPShapeHierarchical shape functions for a HQUADP element
 CGmHShapeShape function handling base classe for hierarchical elements
 CGmIdwInterpolatorObjectImplements the Inverse Distance Weighted interpolation method
 CGmInt2DL4CellGeometryInfoThe Int2DL4 implementation
 CGmInt2DL4ShapeGmShape specialization for a 2D linear interface element with 4 nodes object
 CGmInt2DL6CellGeometryInfoThe Int2DL6 implementation
 CGmInt2DL6ShapeGmShape specialization for a 2D coupled interface element with 6 nodes object with 4 nodes (x, y, p) and 2 nodes only of pore pressure
 CGmInt2DQ6CellGeometryInfoThe Int2DQ6 implementation
 CGmInt2DQ6ShapeGmShape specialization for a 2D quadratic interface element with 6 nodes object
 CGmInt2DQ8CellGeometryInfoThe Int2DQ8 implementation
 CGmInt2DQ8ShapeGmShape specialization for a 2D quadratic interface element with 8 nodes object 2 nodes (x, y), 4 nodes (x, y, p) and 2 middle-nodes only of pore pressure
 CGmInt2DShapeGmShape specialization for Cohesive elements, containing common functions used to model fracture process, joints and composites. Such as: Int2dl4 or Int2dl6
 CGmInt3DL12CellGeometryInfoThe Int3DL12 implementation
 CGmInt3DL12ShapeGmShape specialization for a 2D coupled cohesive element with 6 nodes object 4 nodes (x, y, p) and 2 nodes only of pore pressure
 CGmInt3DL6CellGeometryInfoThe Int3DL6 implementation
 CGmInt3DL6ShapeGmShape specialization for a 3D triangular interface element with 8 nodes object
 CGmInt3DL8CellGeometryInfoThe Int3DL8 implementation
 CGmInt3DL8ShapeGmShape specialization for a 3D cohesive element with 8 nodes object
 CGmInt3DL9CellGeometryInfoThe Int3DL9 implementation
 CGmInt3DL9ShapeGmShape specialization for a 2D coupled cohesive element with 6 nodes object 4 nodes (x, y, p) and 2 nodes only of pore pressure
 CGmInt3DQ12CellGeometryInfoThe Int3DQ12 implementation
 CGmInt3DQ12ShapeGmShape specialization for a 3D triangular interface element with 8 nodes object
 CGmInt3DQ15CellGeometryInfoThe Int3DQ15 implementation
 CGmInt3DQ15ShapeGmShape specialization for a 2D coupled cohesive element with 6 nodes object 4 nodes (x, y, p) and 2 nodes only of pore pressure
 CGmInt3DQ16CellGeometryInfoThe Int3DQ16 implementation
 CGmInt3DQ16ShapeGmShape specialization for a 3D cohesive element with 8 nodes object
 CGmInt3DQ20CellGeometryInfoThe Int3DQ20 implementation
 CGmInt3DQ20ShapeGmShape specialization for a 2D coupled cohesive element with 6 nodes object 4 nodes (x, y, p) and 2 nodes only of pore pressure
 CGmInt3DShapeGmShape specialization for 3D Cohesive elements, containing common functions used to model fracture process, joints amd composites. Such as: Int3dl8 or Int3dl16
 CGmInt3DTriShapeGmShape specialization for Wedge interface elements, containing common functions used by Wedge interface specializations, such as Int3dl6, Int3dl9, Int3dq12 or Int3dq15
 CGmIntegrationRuleIntegration rule base classe
 CGmInternalThreadThe internal thread class, inheriting from QThread, used for calling the GmThread::run() method
 CGmInterpolatorInterpolator class used for managing available interpolator algorithms and providing basic support functions with operations common to every derived class.
 CGmInterpolatorCellNodeCoordinateSetBindingA node coordinate set that iterates over nodes from a single mesh cell / element. Nodes are returned in the same order as they appear at the cell/element
 CGmInterpolatorCoordinateSetBindingBasic interface for a set storing point cartesian coordinates. This set can be filled with points from nodes or Gauss points, from one or several cells/elements, according to the concrete implementation used
 CGmInterpolatorElementGaussCoordinateSetBindingA Gauss coordinate set that iterates over Gauss points from a single mesh element. Nodes are returned in the same order as they are returned by the associated integration rule
 CGmInterpolatorGaussCoordinateSetBindingInterface for a coordinate set that stores Gauss point coordinates. Besides returning coordinates, can also return the Gauss point element and integration point index associated with each coordinate
 CGmInterpolatorGaussDataBindingA GmInterpolatorInputDataBinding implementation returning values provided by a Gauss value accessor. Its base class is a template parameter so that we can share the same implementation for an GmInterpolatorInOutDataBinding descendent. The second template should be either a const GmGaussAccessor* or a GmGaussAccessor*
 CGmInterpolatorGaussInOutDataBindingGmInterpolatorInOutDataBinding implementation working with values provided by a Gauss value accessor
 CGmInterpolatorGaussListCoordinateSetBindingA Gauss coordinate set that iterates over the specified Gauss points
 CGmInterpolatorGaussOutputDataBindingGmInterpolatorOutputDataBinding implementation storing a single value in a Gauss point through an accessor
 CGmInterpolatorInOutDataBindingA version of GmInterpolatorInputDataBinding that lets us to also update the stored data
 CGmInterpolatorInputDataBindingBinding class used to store the set of known values associated with the points used in the interpolation. Might store one ore more values per point
 CGmInterpolatorMatrixInputDataBindingGmInterpolatorInputDataBinding implementation returning values provided by a matrix
 CGmInterpolatorMatrixOutputMultiDataBindingGmInterpolatorOutputMultiDataBinding implementation storing a single value in a matrix
 CGmInterpolatorMeshGaussCoordinateSetBindingA Gauss coordinate set that iterates over ALL the Gauss points from mesh, optionaly filtered by the set of active cells. Values are returned ordered by cell id and, for each cell, in the same order as they are returned by the associated integration rule
 CGmInterpolatorMeshNodesCoordinateSetBindingA node coordinate set that iterates over all geometry nodes from a mesh. Nodes are returned in the same order as they appear in the mesh
 CGmInterpolatorMGaussDataBindingA GmInterpolatorInputDataBinding implementation returning values provided by a list of Gauss value accessors. Its base class is a template parameter so that we can share the same implementation for an GmInterpolatorInOutDataBinding descendent. The second template should be either a const GmGaussAccessor* or a GmGaussAccessor*
 CGmInterpolatorMGaussInOutDataBindingGmInterpolatorInOutDataBinding implementation working with values provided by a list of Gauss value accessors
 CGmInterpolatorMGaussOutputDataBindingGmInterpolatorOutputDataBinding implementation storing multiple values in a Gauss point through an accessor list
 CGmInterpolatorMMatrixInputDataBindingGmInterpolatorInputDataBinding implementation returning values provided by a list of matrices
 CGmInterpolatorMMatrixOutputMultiDataBindingGmInterpolatorOutputMultiDataBinding implementation storing multiple values in a matrix list
 CGmInterpolatorMNodeDataBindingA GmInterpolatorInputDataBinding implementation returning values provided by a list of node value accessors. Its base class is a template parameter so that we can share the same implementation for an GmInterpolatorInOutDataBinding descendent. The second template should be either a const GmValueAccessor* or a GmValueAccessor*
 CGmInterpolatorMNodeInOutDataBindingGmInterpolatorInOutDataBinding implementation working with values provided by a list of node value accessors
 CGmInterpolatorMNodeOutputDataBindingGmInterpolatorOutputDataBinding implementation storing multiple values in a node through an accessor list
 CGmInterpolatorMVectorOutputDataBindingGmInterpolatorOutputDataBinding implementation storing multiple values in a vector list
 CGmInterpolatorNeighborGaussCoordinateSetBindingA Gauss coordinate set that iterates over Gauss points from elements adjacent to a given node. The set of Gauss points can include all points in the neighboring elements or only those closest to the node
 CGmInterpolatorNodeCoordinateSetBindingInterface for a coordinate set that stores node coordinates. Besides returning coordinates, can also return the mesh node index associated with each coordinate
 CGmInterpolatorNodeDataBindingA GmInterpolatorInputDataBinding implementation returning values provided by a node value accessor. Its base class is a template parameter so that we can share the same implementation for an GmInterpolatorInOutDataBinding descendent. The second template should be either a const GmValueAccessor* or a GmValueAccessor*
 CGmInterpolatorNodeInOutDataBindingGmInterpolatorInOutDataBinding implementation working with values provided by a node value accessor
 CGmInterpolatorNodeListCoordinateSetBindingA node coordinate set that iterates over nodes from a node list. Nodes are returned in the same order as they appear in the list
 CGmInterpolatorNodeOutputDataBindingGmInterpolatorOutputDataBinding implementation storing a single value in a node attribute through an accessor
 CGmInterpolatorNodeSetCoordinateSetBindingA node coordinate set that iterates over all nodes from a node set. Nodes are returned in the same order as they appear in the set
 CGmInterpolatorObjectInterface class for the implementation of each of the possible interpolation algorithms available in GmInterpolatorType
 CGmInterpolatorOutputCoordinateBindingBinding class used to provide the coordinate of the interpolated point, either in cartesian or natural coordinates, according to the interpolator requirements
 CGmInterpolatorOutputDataBindingBinding class used to host the data structure where calculated interpolated values will be stored. Might store one ore more values per point. It also hosts the dimension specification used when converting vector values to scalar ones
 CGmInterpolatorOutputMultiDataBindingBinding class used to host the data structure where calculated interpolated values will be stored for several points. Might store one ore more values per point.
It also hosts the dimension specification used when converting vector values to scalar ones
 CGmInterpolatorVectorOutputDataBindingGmInterpolatorOutputDataBinding implementation storing a single value in a vector
 CGmIntGaussIntegrationRuleGauss Integration rule for 3D triangular interface. Similar to GmTriGaussIntegrationRule but uses natural coordinates with only two components
 CGmIntNewtonIntegrationRuleNewton Cotes Integration rule for 3D triangular interface. Similar to GmTriNewtonIntegrationRule but uses natural coordinates with only two components
 CGmLinearMultiTableIntegrationRuleA helper class used to combine 1, 2 or 3 single "line" integration rule tables into a multi-dimensional integration rule. The combined rule has the same number of natural coordinates as the number of supplied tables. Also, each rule parameter corresponds to a table and rule degree
 CGmLineGaussIntegrationRule1D Gauss Integration rules (for bar elements)
 CGmLineLobattoIntegrationRule1D Lobatto Integration rules (for bar elements)
 CGmLineNewtonIntegrationRule1D Newton cotes Integration rules (for bar elements)
 CGmLinkedSparseVector
 CGmLobattoIntegrationTablesA class storing tables with (position, weight) pairs for line Lobatto integration rules
 CGmLogCategoryClass representing a category with multiple logging levels
 CGmLogContextDataAuxiliary structure with global Log configuration
 CGmLogIdentClearerRAII object to clear the identation level to log messages, restoring to the previous identation when the object is destroyed
 CGmLogIdenterRAII object to add an identation level to log messages, reverting the settings when the object is destroyed
 CGmLogSignalEmitterAux class whose only purpose is to allow loggers to emit a logMessage signal, if configured to do so
 CGmMatrixDofA class to represent the degrees of freedom associated with the set of matrix columns, as seen by a physics object
 CGmMatrixSet
 CGmMemoryBufferListA helper class that can store a list of buffers and their sizes, allowing for GmMemoryDumpItem instances to return multi part buffers from getDataBuffer() and setDataBuffer()
 CGmMemoryDumpClass storing a memory dump containing several dump items
 CGmMemoryDumpItemInterface for an object that can be dumped and undumped to either file or memory by GmMemoryDump
 CGmMemoryDumpItemScopedBufferOpA simple RAII style class that can be used to call MemoryDumpItem buffer operations while making sure that bufferReleased() will always be called, even on error conditions
 CGmMeshBase interface class for Mesh type plugins
 CGmMeshGaussIndexA Gauss index interface always indexing ALL the elements of a mesh, with support for mesh growing
 CGmMeshNodeSetA node set wrapper over a common mesh. Constant (no support for setNodeData())
 CGmMlsInterpolatorObjectImplements the Moving Least Squares interpolation method
 CGmModelDataAuxiliar class used to store the complete set of model data for a simulation
 CGmMonitorResultsRuleA results rule used to send the associated data sets to the monitor server thread
 CGmMonitorResultsRuleTesterA helper class used to help testing monitor rules without the need for a connected external server
 CGmMultiGaussCoordinatesA helper class that returns the coordinates of an element's Gauss points, tailored to be used inside a loop over a set of elements
 CGmNanBoxedIndexA helper class to store an usigned index as the boxed nan value
 CGmNanBoxedValueA wrapper class around QtNanBoxedValue providing specific constructors to store user functions / user function evaluators together with double values
 CGmNewtonIntegrationTablesA class storing tables with (position, weight) pairs for line, triangle and tetrahedron Open & closed Newton Cotes integration rules
 CGmNfFileFormatFile format specifications for the "Neutral File" file format
 CGmNfFileReaderA file deserializer for reading data in the "Neutral File" file format
 CGmNfFileWriterA file serializer for saving data in the "Neutral File" file format
 CGmNnInterpolatorObjectImplements the Nearest Neighbor interpolation method
 CGmNodeAcResultsDataSrcA GmAcResultsDataSrc class holding a node value accessor
 CGmNodeCloudToPointConformInterpolatorInterpolator class for calculating values for a point from a node cloud surrounding the point with custom selection based on visibility and element sign
 CGmNodeCloudToPointInterpolatorInterpolator class for calculating values for a point from a node cloud surrounding the point
 CGmNodeCloudToPointMInterpolatorInterpolator class for calculating multiple values for a point from a node cloud surrounding the point
 CGmNodeSetThis class stores a set of nodes belonging to a mesh. The nodes can belong to the mesh boundary but that is not necessary
 CGmNodeTaskDataSetBase class for accessing the set of nodes belonging to a mesh partition
 CGmNodeToCellPointInterpolatorInterpolator class for calculating values for a point inside a cell, from data stored on the cell nodes
 CGmNodeToCellPointMInterpolatorInterpolator class for calculating multiple values for a point inside a cell, from multiple data stored on the cell nodes
 CGmNodeToElementPointInterpolatorInterpolator class for calculating values for a point inside an element, from data stored on the element nodes
 CGmNodeToElementPointInterpolatorHInterpolator class for calculating single value for a point inside an element, from single data stored on the discontinuous and hierarchical elements nodes
 CGmNodeToElementPointMInterpolatorInterpolator class for calculating multiple values for a point inside an element, from multiple data stored on the element nodes
 CGmNoFunctionValueSetDataAccessorAn accessor implementation that can work with any kind of GmValueSetData, without support for functions and unit conversion
 CGmNoFValueSetPackedDataThe value set data object for packed data without function support. Very similar to GmVectorValueSetStoredData
 CGmNumSolverBase interface class for NumSolver type plugins
 CGmNumSolverPrinterA proxy class that can wrap and behave like a GmNumSolver object, adding the possibility for printing and / or saving the linear system matrices and vectors according to the given configuration. This feature was not included directly in the numeric solver API since numeric solvers can be shared between multiple solver processes with different print options
 CGmOmpTempUpdateNumThreadsA RAII class used to temporarily adjust the number of OMP threads in effect
 CGmPackedBufferThe basic interface for a shared buffer storing interleaved data for a group of value sets
 CGmPackedBufferImplThe concrete implementation for GmPackedBuffer. The template parameter defines the kind of vector used for storing the data. Can be instanced with Vector equal to GmSingleVector or GmDualVectorR (dual vector with support for remove values)
 CGmPackedBufferInfoA class used for storing and managing the order of the value sets inside a pack
 CGmPathClass used to store releveant system and project paths, providing functions for path macro translations
 CGmPCRBase interface class for Partition-Color-Renumber object plugins
 CGmPerThreadAppendBufferAn implementation of the GmAppendBuffer interface based on a "per thread" growing buffer
 CGmPhysicsBase interface class for Physics type plugins
 CGmPhysicsUserFunctionsBase interface class for Physics type plugins to export user functions that can be used to provide attributes / property values
 CGmPluginDataThis class is a simple wrapper over a generic Lua table, provided in the model, that also handles the necessary steps to allow for user provided functions to be callable from multiple simulation threads
 CGmPluginInfoBase class used to store information about a generic plugin
 CGmPluginLoaderClass responsible for managing discovery and loading of plugins
 CGmPluginLoaderAdderAuxiliar class used to add objects parsed by GmPluginLoader::loadPluginObjectList() to it's destiny
 CGmPluginLoaderObjMemberAdderEspecialization of GmPluginLoaderAdder to add objects to a container 'U' by calling one member function of this container with a signature that receives a pointer to a 'T' object (that must inherit from GmPluginObject) and returns a boolean indicating wheater the insertion was successfull or not
 CGmPluginObjectBase interface class for all object plugins
 CGmPluginObjectFactoryFactory class exported by every plugin object
 CGmpMmGaussData
 CGmPODVectorA simple vector for Plain Old Data (POD) types with the control size variable type parameterized to allow for a smaller class size with ControlSize = unsigned int, with smaller vector size limits, or for a bigger class with ControlSize = size_t. Also receives as parameter the default growing strategy applied by its resize procedure and a flag stating if the memory allocation should be done in old C style (realloc / free) or in the new C++ style (operators new[] / delete[]). Using the old style is the default and allows us to, hopefully, benefit from realloc(). That can be an issue when using the takeData() method to transfer data ownership to other classes expecting to be able to release memory with operator delete[]. For those cases, set UseNew to true
 CGmPolygonTriangulator
 CGmPolylineDiscontinuityPolyline 2D representation for a discontinuity
 CGmPolylineSegment
 CGmpRefDist
 CGmPrintResultsRuleA results rule printing the associated data sets to the logger
 CGmPrintUtilsGroups utilitary routines for pretty printing data
 CGmProcessBase interface class for Process type plugins
 CGmProcessMethodRedirectorClass simmilar to LuaUpMethod, changed so that the redirector method can optionally log the time taken by the process execution and also its memory usage
 CGmPropertyCellAccessorExtends GmCellAccessor to handle property accessors
 CGmPropertyDiscontinuityAccessorExtends GmDiscontinuityAccessor to handle property accessors
 CGmPropertySetInterface storing property descriptions and values
 CGmProxyBorderIntegrationRuleCommon code for border integration rules based on a given integration rule that is used to implement most of the border interface methods
 CGmPyra13CellGeometryInfoThe Pyra13 implementation
 CGmPyra13ShapeGmShape specialization for a Tetrahedron with 4 nodes object
 CGmPyra5CellGeometryInfoThe Pyra5 implementation
 CGmPyra5ShapeGmShape specialization for a Pyramid with 5 nodes object
 CGmPyraGaussEdgeIntegrationRuleGauss integration rule for Tet element borders (edges)
 CGmPyraGaussFaceIntegrationRuleNewton Integration rule for pyramid elements. Should be included
 CGmPyraGaussIntegrationRule3D integration rules for Pyramid elements
 CGmPyraShapeGmShape specialization for Pyramid, containing common functions used by concrete Pyra specializations, such as pyra5 or pyra13
 CGmQuad3D4CellGeometryInfoThe Quad3D4 implementation
 CGmQuad3D4ShapeGmShape specialization for a 3D Quadrilateral with 4 nodes object
 CGmQuad3D8CellGeometryInfoThe Quad3D8 implementation
 CGmQuad3D8ShapeGmShape specialization for a 3D Quadrilateral with 8 nodes object
 CGmQuad4CellGeometryInfoThe Quad4 implementation
 CGmQuad4ShapeGmShape specialization for a Quadrilateral with 4 nodes object
 CGmQuad8CellGeometryInfoThe Quad8 implementation
 CGmQuad8ShapeGmShape specialization for a Quadrilateral with 8 nodes object
 CGmQuad9CellGeometryInfoThe Quad9 implementation
 CGmQuad9ShapeGmShape specialization for a Quadrilateral with 9 nodes object
 CGmQuadEdgeIntegrationRuleIntegration rule for Quad element borders
 CGmQuadGaussEdgeIntegrationRuleGauss integration rule for Quad element borders
 CGmQuadGaussIntegrationRule2D Isotropic / anisotropic Gauss integration rules for Quad elements
 CGmQuadLobattoEdgeIntegrationRuleLobatto integration rule for Quad element borders
 CGmQuadLobattoIntegrationRule2D Isotropic / anisotropic Lobatto integration rules for Quad elements
 CGmQuadNewtonIntegrationRule2D Isotropic / anisotropic Newton cotes integration rules for Quad elements
 CGmQuadShapeGmShape specialization for Quadrilaterals, containing common functions used by concrete Quad specializations, such as Quad4, Quad8 or Quad9
 CGmReducedBarycentricSingleTableIntegrationRuleAn especialization of the barycentric, single table, integration rule class to treat the case when the number of coordinates used by the integration rule is one less than the number of coordinates in the rule table. In that case, the FIRST barycentric coordinate from the table is IGNORED. That is used by some interface elements
 CGmRegularGridMeshBase interface class for Regular Grid Mesh type plugins
 CGmResultsDataAuxiliar class used to store the complete set of results data for a simulation
 CGmResultsDataSetA set storing what should be exported (saved / printed / monitored) by the result rule classes
 CGmResultsDataSrcInfoA basic interface with the metadata common to all results data src types. This is the information that is broadcasted to monitoring programs and represents each entry in a ResultDataSet
 CGmResultsEvalSetA class storing the evaluation points for a set of rules
 CGmResultsRuleA result rule represents an action that will be executed over one or more data sets at the moments (times, iterations, etc) defined by one or more time sets. This action can be, for example, saving the data to a file, printing the data or sending it through the monitor server. This base class implements the common part for any action, loading and managing the data sets list and the time sets list. The executed action is delegated to the corresponding derived class
 CGmResultsRuleAggregatorA helper class to help combining values evaluated at every integration point into a single value, according to the given aggregation rule. The aggregated value is built on the provided buffer. For non scalar data, aggregation is performed by component, as if done over multiple scalar values
 CGmResultsTimeManagerCollects all the time data from several TimeSet objects, controlling the next time "moments" (time, iterations, etc) where a results rule should be "activated"
 CGmResultsTimeSetA rule specifying the execution moments (time, iterations, etc) that a result rule should be executed
 CGmResultsTrackedDataA tracked data value. Can be either a double vector or a string. Thanks to the implicitly shared nature of a QVector/QString, the result data can be transfered to and from a message object without copying
 CGmResultsTrackedIndexDataThe index data for a result rule, storing "evaluation point" data for node, cell or gauss based indices. Thanks to the implicitly shared nature of a QVector, the result data can be transfered to and from a message object without copying
 CGmRleSparseVector
 CGmRunProgressA RAII class used to simplify tracking an item with a progressStats object. When the object is created, an itemStart() call is made. When destroyed, the corresponding itemEnd() call is made. If an invalid item is passed as parameter (-1), does nothing. This can simplify the code for optional attributes that are collected only on detailed cases
 CGmRunProgressOnMainThreadAn alternative implementation of GmRunProgress that when called from a worker thread does nothing
 CGmRunProgressReportA class used to create formatted reports based on ProgressStats item attribute values
 CGmRunProgressStatsA class used to store time, memory and additional values statistics related to the simulation loading and execution
 CGmRunProgressStatsItemAn item used to store time, memory and additional values statistics related to the simulation loading and execution. This is not a general purpose class and should be used only by GmRunProgressStats. In fact it is not declared inside GmRunProgressStats due to its need to inherit from QObject
 CGmSaveResultsRuleA results rule saving the associated data sets to a file
 CGmSegmentCell2DIntersectionCoordAccessorA simple accessor used to access 2d segment cell intersection data with possible unit conversion from the mesh coordinate unit to the desired unit. IMPORTANT: This class does NOT implement all the standard methods of a GmValueAccessor object. Those implemented, though, follow the SAME semantics
 CGmSegmentCellIntersectionRepresentation for the intersection between a polyline segment and a mesh cell. Can be used both in 2D and in 3D
 CGmSeqBlockCellTaskDataSetA GmCellTaskDataSet implementation returning a continuous block of cells, optionally filtered for active cells only. Expects M to be a GmCellMesh or a GmCellGroupSet
 CGmSeqBlockNodeSetTaskDataSet
 CGmSeqBlockNodeTaskDataSetA GmNodeTaskDataSet implementation returning a continuous block of nodes
 CGmShapeShape function handling base classe.
 CGmShapeInterpolatorObjectImplements the Shape function and linear shape function interpolation methods
 CGmShapeOrthogonalPolOrthogonal polynomial calculation
 CGmSimulationDataAuxiliar class used to store the complete set of simulation data
 CGmSingleAppendBufferAn implementation of the GmAppendBuffer interface based on synchoronized access to a shared buffer
 CGmSingleGaussCoordinatesA helper class that returns the coordinates of an element's Gauss points. Should be used when we want to get coordinates from a SINGLE element. If you are going to get coordinates for multiple elements in a loop, prefer using GmMultiGaussCoordinates
 CGmSingleTableIntegrationRuleA helper class used to implement rules based on a single table storing the full natural coordinate + its weight. It can be used, for example, to implement triangular, tetrahedron and pyramid integration rules. The N template parameter defines the number of natural coordinates returned by the rule
 CGmSingleVectorA class with the same API as GmDualVector storing a single vector. No query "if" overhead. Ideal for static meshes
 CGmSolutionDataAuxiliar class used to store the complete set of solution methods data for a simulation
 CGmSolverMatrixBase interface class for Solver Matrix objects.
 CGmSparseMatrixA class for wrapping up a sparse matrix, either using CSR or CSC format. Can also differ on the type used for storing line and column indices
 CGmSparseMatrixBaseA base class derived from QObject. Needed since GmSparseMatrix is a template and so can't inherit directly from QObject
 CGmSparseMatrixLayoutA base structure for storing layout data for sparse matrices (fill structure or non zero positions). The matrix data itself is not stored, allowing for the layout to be shared among several matrices if needed
 CGmSparseMatrixLayoutBuilderAn interface for building the layout structure of a sparse matrix
 CGmSparseMatrixOptionsSet of configuration options for Sparse matrices
 CGmSparseMatrixPerThreadTripletBufferEspecialization of the GmPerThreadAppendBuffer class using the GmSparseMatrixTripletBuffer interface
 CGmSparseMatrixSingleTripletBufferEspecialization of the GmSingleAppendBuffer class using the GmSparseMatrixTripletBuffer interface
 CGmSparseMatrixTripletBufferAn especialization of GmAppendBufffer for triplet data with an extra method for returning the buffer already sorted
 CGmSparseMatrixTripletDataAux structure used when building sparse matrices with the help of a triplet list. The tripet structure stores 2 ints
 CGmSpatialIndexBase interface class for Spatial Index type plugins
 CGmSpinLockA simple spin lock implementation based on a loop using test and set over an atomic int to change its value from 0 to 1
 CGmSpinLockerRAII object used to acquire a spin lock and release it upon object destruction
 CGmStateDumpPresents a higher level of abstraction over GmMemoryDump, storing accessor data, vector data or user buffers
 CGmStateDumpAccessorDataItemInterface responsible for providing information of mesh and if the accessors stored in derived classes contains geometry node information
 CGmStateDumpArmaDataItemClass responsible for storing either a GmVector / GmMatrix object
 CGmStateDumpBaseDataItemEnsure that all dump items stored by GmStateDump have an id() and a logger
 CGmStateDumpBufferDataItemClass responsible for storing one or more user buffer objects
 CGmStateDumpDiscontinuityStreamItem
 CGmStateDumpFileItemClass responsible for storing the needed data to rollback an "append only" file to a previous state
 CGmStateDumpFunctionMapDataItemClass responsible for storing a table mapping function pointers (either an user function or a function evaluator) to function ids
 CGmStateDumpLuaDataItemClass responsible for storing Lua global / local values
 CGmStateDumpMapDataItemClass responsible for storing a QMap of values. Useful for storing generic sets of "scalar" attributes
 CGmStateDumpMatrixDataItemClass responsible for storing a GmMatrix object
 CGmStateDumpSDVectorDataItemClass responsible for storing a GmSingleVector or a GmDualVector
 CGmStateDumpSplitIntVecDataItemClass responsible for storing the contents provided by a list of int vectors, each with its own size, possibly empty. The list size can also change over time
 CGmStateDumpStreamableItemGeneral class for QT streamable objects
 CGmStateDumpValueSetDataItemA GmMemoryDumpItem implementation loading / storing values from the GmValueSetData object associated with the given accessor, by directly reading / writing from its internal buffer. The accessor MUST inherit from GmTrackedValueAccessor and the value set data object MUST implement the dumpBuffer() interface (unless it is a GmDefValueValueSetData object)
 CGmStateDumpVariantMapDataItemClass responsible for a QVariantMap of values. Useful for storing generic sets of "scalar" attributes
 CGmStateDumpVectorDataItemClass responsible for storing a GmVector object
 CGmStateVarAuxiliar class used to store the definition of a state variable.
 CGmStrideCellTaskDataSetA GmCellTaskDataSet implementation with strided access, optionally filtered for active cells only. Expects M to be a GmCellMesh or a GmCellGroupSet
 CGmStrideNodeTaskDataSetA GmNodeTaskDataSet implementation with strided access
 CGmTaskManagerTask manager used for handling parallel executions
 CGmTet10CellGeometryInfoThe Tet10 implementation
 CGmTet10ShapeGmShape specialization for a Tetrahedron with 4 nodes object
 CGmTet4CellGeometryInfoThe Tet4 implementation
 CGmTet4ShapeGmShape specialization for a Tetrahedron with 4 nodes object
 CGmTetGaussEdgeIntegrationRuleGauss integration rule for Tet element borders (edges)
 CGmTetGaussFaceIntegrationRuleGauss integration rule for Tet element faces
 CGmTetGaussIntegrationRule3D integration rules for Tet elements
 CGmTetNewtonIntegrationRuleNewton Integration rule for tetrahedron elements. Accepts both open and closed rules
 CGmTetShapeGmShape specialization for Tetrahedrons, containing common functions used by concrete Hex specializations, such as Tet4 or Tet10
 CGmThreadOur thread wrapper, specialized for running tasks from the thread manager queue
 CGmThreadManagerThread manager used for handling parallel executions
 CGmThreadTaskInterface for a task executed by a thread manager thread
 CGmTimeAdderRAII class used to add the elapsed time to a counter received by reference. Counter is incremented in nano seconds
 CGmTimeMsgRAII object used to measure the elapsed time of an operation
 CGmTLBufferA class similar to GmTLS that creates a buffer for each possible thread in the GmThreadManager, plus an additional one for the main thread
 CGmTLBuffer_AllocAux structure to define the allocation strategy for GmTLBuffer
 CGmTLBuffer_Alloc< T, false >GmTLBuffer_Alloc specialization for unaligned buffers
 CGmTLBuffer_Alloc< T, true >GmTLBuffer_Alloc specialization for aligned buffers
 CGmTLSA class that works together with GmThreadManager to provide thread local storage
 CGmTLS_AllocAux structure to define the allocation strategy for GmTLS
 CGmTLS_Alloc< DataT, false >GmTLS_Alloc specialization for unaligned buffers
 CGmTLS_Alloc< DataT, true >GmTLS_Alloc specialization for aligned buffers
 CGmTLS_DataTAux structure to define the data type, cache aligned or not, for the GmTLS class
 CGmTLS_DataT< T, false >GmTLS_Data specialization for unaligned data
 CGmTLS_DataT< T, true >GmTLS_Data specialization for aligned data (can't just hold a typedef since the alignment clause must be applied to a struct member)
 CGmTrackedValueAccessorAuxiliary class responisble for allowing a value accessor to track changes to the referenced value set data inside a GmValueSet. This is necessary to create locked accessors and to enable value sets storing no data, that always return the default value until the set is written to, when it reverts to a standard data set
 CGmTri3CellGeometryInfoThe Tri3 implementation
 CGmTri3D3CellGeometryInfoThe Tri3D3 implementation
 CGmTri3D3ShapeGmShape specialization for a 3D Triangle with 3 nodes object
 CGmTri3D6CellGeometryInfoThe Tri3D6 implementation
 CGmTri3D6ShapeGmShape specialization for a 3D Triangle with 6 nodes object
 CGmTri3ShapeGmShape specialization for a Triangle with 3 nodes object
 CGmTri6CellGeometryInfoThe Tri6 implementation
 CGmTri6ShapeGmShape specialization for a Triangle with 6 nodes object
 CGmTriGaussEdgeIntegrationRuleGauss integration rule for Tri element borders
 CGmTriGaussIntegrationRuleGauss Integration rule for triangle elements. Base on Felippa, IFEM, section 24.2
 CGmTriNewtonIntegrationRuleNewton Integration rule for triangle elements. Accepts both open and closed rules
 CGmTriShapeGmShape specialization for Triangles, containing common functions used by concrete Tri specializations, such as Tri3 or Tri6
 CGmTriSurfaceDiscontinuitySurface 3D representation for a discontinuity
 CGmUnfilteredGaussIndexBaseA helper class that implements a GaussIndex like interface for the basic case where the ENTIRE mesh is being indexed (more precisely, the valid values for a queried cellId MUST be equal to the set of indexed cells)
 CGmUnitConversionDataAccessorA template class to add unit conversion support to the given base class
 CGmUserFunctionClass used to store the definition of a user function and its parameters
 CGmUserFunctionContextThe context received by C methods giving access to parameters data and metadata
 CGmUserFunctionEvaluatorClass responsible for evaluating a UserFunction over a node / cell
 CGmValueAccessorInterface class for accessing and setting values from an "indexable" collection of values
 CGmValueAccessorBaseAn implementation of basic attributes and functions that should be common for most value accessor implementations
 CGmValueInfoAuxiliar class used to store the definition of a value. It can be used to store informations about state variables, attributes and properties
 CGmValueSetBasic class used to store sets of values, bound to a common definition, on behalf of another object (a mesh most likely) that contains a known maximum size of values (nodes or cells, for example)
 CGmValueSetDataThe generic interface implemented by every GmValueSetData object. Its purpose is to provide a base class that can be used without concerns about the effective layout of the stored data
 CGmValueSetDataAccessorAn accessor implementation that can work with any kind of GmValueSetData, with or without functions, but without unit conversion support
 CGmValueSetDataAccessorBaseCommon code for both GmNoFunctionValueSetDataAccessor and GmValueSetDataAccessor
 CGmValueSetEvalContex
 CGmValueSetEvalContextAuxiliar class used to store the needed information to translate an user function id / user function into an user function evaluator
 CGmValueSetGroupThis class manages a group of ValueSets that have all the same size and must grow (or shrink) together. It also manages the memory used by each value set, allowing for "packed" layouts where data from different value sets are interleaved in memory for better cache access. As a bonus, it keeps track of a map from data id to their value sets
 CGmValueSetPackedDataThe generic GmValueSetData interface for packed storage
 CGmValueSetStoredDataThe generic GmValueSetData interface for classes that do store their own data
 CGmVectorCSxSparseMatrixLayoutBuilderA class for creating a CSR/CSC matrix layout by using an intermediary vector based structure to consolidate the (row, column) pairs
 CGmVectorResizerA RAII auxiliary class tailored for resizing a GmSingleVector or a GmDualVector and reverting to the original size on the destructor if the commit method was not called
 CGmVectorSet
 CGmVectorValueSetStoredDataA GmValueSetStoredData implementation that supports efficient storing for numeric values, either scalar or multi-dimensional, in a vector storage
 CGmWedge15CellGeometryInfoThe Wedge15 implementation
 CGmWedge15ShapeGmShape specialization for a Wedge with 6 nodes object
 CGmWedge6CellGeometryInfoThe Wedge6 implementation
 CGmWedge6ShapeGmShape specialization for a Wedge with 6 nodes object
 CGmWedgeGaussEdgeIntegrationRuleGauss integration rule for Wedge element borders (edges)
 CGmWedgeGaussFaceIntegrationRuleGauss integration rule for Wedge element faces
 CGmWedgeGaussIntegrationRule3D Gauss integration rules for Wedge elements
 CGmWedgeShapeGmShape specialization for Wedges, containing common functions used by Wedge elements, such as Wedge6 or Wedge15
 CGmXdmfFileFormatFile format specifications for the Xdmf file format
 CGmXdmfFileWriterA file serializer for saving data in the "Xdmf (Hdf5)" file format
 CGmXdmfHdf5A support class for saving data to a HDF5 file. Hdf5 files are self-describing but do not have a fixed semantic, so this file is usually accompanied by another file that describes the semantic of the tables exported in the HDF5 file
 CNotifyProgress
 CRayIntersection
 CStringListAccessorA simple accessor used to retrieve strings from a list when valueStr() is called. All other functions return 0.0