|
| DiscreteElement (LineSegment *line_segment, double length) |
|
ModifiableRigidElement * | GetRigidElement () |
|
const std::vector< DiscreteElement * > * | GetSubElements () |
|
DiscreteElement * | GetSuperElement () |
|
LineSegment * | GetLineSegment () |
|
void | SetRigidElement (ModifiableRigidElement *rigid_element) |
|
virtual void | Setup (double T, const double *const X, mat6 &InertiaMatrix, vec6 &Force)=0 |
|
double | GetElementLength () |
|
double | GetElementRadius () |
|
double | GetElementMass () |
|
virtual void | StoreTempStates (const double *X, ObjectFactoryStack< DiscreteElement::TempStates > &temp_states_buffer) |
|
virtual void | SetTempStates (const vec3 &P, const Quat &Q, const vec3 &V, const vec3 &W, ObjectFactoryStack< DiscreteElement::TempStates > &temp_states_buffer) |
|
virtual void | SplitTempStates (DiscreteElement *prev, DiscreteElement *next, ObjectFactoryStack< DiscreteElement::TempStates > &temp_states_buffer) |
|
virtual void | CollectTempStates (ObjectFactoryStack< DiscreteElement::TempStates > &temp_states_buffer) |
|
virtual void | OverrideStates (double T, double *X) |
|
virtual void | GetTempStates (vec3 &P, Quat &Q, vec3 &V, vec3 &W) |
|
- Author
- Jorgen Haavind Jensen
Abstract class. Models a generic 6-dof rigid element that can be recursively subdivided. A DiscreteElement element is ment to model a fixed sub-segment of a line structure. It keeps material properties, and other information necessary to compute Associates with a single runtime-swappable ModifiableRigidElement and computes it's inertia and body forces.