16 #ifndef SURGSIM_PHYSICS_FEMPLYREADERDELEGATE_H 17 #define SURGSIM_PHYSICS_FEMPLYREADERDELEGATE_H 22 #include "SurgSim/DataStructures/PlyReaderDelegate.h" 23 #include "SurgSim/Physics/Fem.h" 41 virtual std::string getElementName()
const = 0;
53 virtual void*
beginVertices(
const std::string& elementName,
size_t vertexCount);
57 virtual void processVertex(
const std::string& elementName) = 0;
61 virtual void endVertices(
const std::string& elementName);
81 void*
beginMaterials(
const std::string& elementName,
size_t materialCount);
101 double x = std::numeric_limits<double>::signaling_NaN();
102 double y = std::numeric_limits<double>::signaling_NaN();
103 double z = std::numeric_limits<double>::signaling_NaN();
105 double thetaX = std::numeric_limits<double>::signaling_NaN();
106 double thetaY = std::numeric_limits<double>::signaling_NaN();
107 double thetaZ = std::numeric_limits<double>::signaling_NaN();
120 double massDensity = std::numeric_limits<double>::signaling_NaN();
121 double poissonRatio = std::numeric_limits<double>::signaling_NaN();
122 double youngModulus = std::numeric_limits<double>::signaling_NaN();
123 int64_t overrun = -1;
127 bool m_hasPerElementMaterial;
132 unsigned int type = 0;
135 unsigned int* indices =
nullptr;
136 unsigned int vertexCount = 0;
138 double massDensity = std::numeric_limits<double>::signaling_NaN();
139 double poissonRatio = std::numeric_limits<double>::signaling_NaN();
140 double youngModulus = std::numeric_limits<double>::signaling_NaN();
142 bool m_hasRotationDOF;
148 #endif // SURGSIM_PHYSICS_FEMPLYREADERDELEGATE_H Wraps glewInit() to separate the glew opengl definitions from the osg opengl definitions only imgui n...
Definition: AddRandomSphereBehavior.cpp:36
Internal data to receive the "material" data.
Definition: FemPlyReaderDelegate.h:118
Internal data to receive the fem element.
Definition: FemPlyReaderDelegate.h:130
void * beginMaterials(const std::string &elementName, size_t materialCount)
Callback function, begin the processing of materials.
Definition: FemPlyReaderDelegate.cpp:175
Common part of implementation of PlyReaderDelegate for FemRepresentations.
Definition: FemPlyReaderDelegate.h:33
FemPlyReaderDelegate()
Constructor.
Definition: FemPlyReaderDelegate.cpp:27
virtual void endVertices(const std::string &elementName)
Callback function to finalize processing of vertices.
Definition: FemPlyReaderDelegate.cpp:153
Wrapper for the C .ply file parser This class wraps the main functionality for the original C ...
Definition: PlyReader.h:85
unsigned int m_boundaryConditionData
Internal data to receive the "boundary_condition" element.
Definition: FemPlyReaderDelegate.h:115
Vertex data containing 6 dofs (3 translational and 3 rotational)
Definition: FemPlyReaderDelegate.h:99
void * beginFemElements(const std::string &elementName, size_t elementCount)
Callback function, begin the processing of FemElements.
Definition: FemPlyReaderDelegate.cpp:160
virtual void processBoundaryCondition(const std::string &elementName)=0
Callback function to process one boundary condition.
virtual void * beginVertices(const std::string &elementName, size_t vertexCount)
Callback function, begin the processing of vertices.
Definition: FemPlyReaderDelegate.cpp:147
void * beginBoundaryConditions(const std::string &elementName, size_t boundaryConditionCount)
Callback function, begin the processing of boundary conditions.
Definition: FemPlyReaderDelegate.cpp:188
virtual void processFemElement(const std::string &elementName)=0
Callback function to process one FemElement.
void endFemElements(const std::string &elementName)
Callback function to finalize processing of FemElements.
Definition: FemPlyReaderDelegate.cpp:167
bool registerDelegate(SurgSim::DataStructures::PlyReader *reader) override
Registers the delegate with the reader.
Definition: FemPlyReaderDelegate.cpp:31
void endMaterials(const std::string &elementName)
Callback function, end the processing of materials.
Definition: FemPlyReaderDelegate.cpp:181
int64_t overrun2
Used to check for buffer overruns.
Definition: FemPlyReaderDelegate.h:108
virtual void processVertex(const std::string &elementName)=0
Callback function to process one vertex.
virtual void endParseFile()=0
Callback for end of PlyReader::parseFile.
bool fileIsAcceptable(const SurgSim::DataStructures::PlyReader &reader) override
Check whether the file in the reader can be used with this delegate, this gives the delegate a chance...
Definition: FemPlyReaderDelegate.cpp:113
bool m_hasBoundaryConditions
Flag indicating if the associated file has boundary conditions.
Definition: FemPlyReaderDelegate.h:112
int64_t overrun1
Used to check for buffer overruns.
Definition: FemPlyReaderDelegate.h:104
PlyReaderDelegate abstract class.
Definition: PlyReaderDelegate.h:31