![]() |
PeriDyno 1.0.0
|
#include <DiscreteElements.h>
Public Member Functions | |
DiscreteElements () | |
~DiscreteElements () override | |
void | scale (Real s) |
uint | totalSize () |
uint | totalJointSize () |
uint | sphereIndex () |
uint | boxIndex () |
uint | tetIndex () |
uint | capsuleIndex () |
uint | triangleIndex () |
ElementOffset | calculateElementOffset () |
void | setSpheres (DArray< Sphere3D > &spheres) |
void | setBoxes (DArray< Box3D > &boxes) |
void | setTets (DArray< Tet3D > &tets) |
void | setCapsules (DArray< Capsule3D > &capsules) |
void | setTriangles (DArray< Triangle3D > &triangles) |
void | setTetSDF (DArray< Real > &sdf) |
DArray< Sphere3D > & | spheresInLocal () |
DArray< Box3D > & | boxesInLocal () |
DArray< Tet3D > & | tetsInLocal () |
DArray< Capsule3D > & | capsulesInLocal () |
DArray< Triangle3D > & | trianglesInLocal () |
DArray< Sphere3D > & | spheresInGlobal () |
DArray< Box3D > & | boxesInGlobal () |
DArray< Tet3D > & | tetsInGlobal () |
DArray< Capsule3D > & | capsulesInGlobal () |
DArray< Triangle3D > & | trianglesInGlobal () |
DArray< Pair< uint, uint > > & | shape2RigidBodyMapping () |
DArray< Coord > & | position () |
DArray< Matrix > & | rotation () |
void | setPosition (const DArray< Coord > &pos) |
void | setRotation (const DArray< Matrix > &rot) |
DArray< BallAndSocketJoint > & | ballAndSocketJoints () |
DArray< SliderJoint > & | sliderJoints () |
DArray< HingeJoint > & | hingeJoints () |
DArray< FixedJoint > & | fixedJoints () |
DArray< PointJoint > & | pointJoints () |
DArray< DistanceJoint > & | distanceJoints () |
void | setTetBodyId (DArray< int > &body_id) |
void | setTetElementId (DArray< TopologyModule::Tetrahedron > &element_id) |
DArray< Real > & | getTetSDF () |
DArray< int > & | getTetBodyMapping () |
DArray< TopologyModule::Tetrahedron > & | getTetElementMapping () |
void | copyFrom (DiscreteElements< TDataType > &de) |
void | merge (CArray< std::shared_ptr< DiscreteElements< TDataType > > > &topos) |
void | requestDiscreteElementsInGlobal (DArray< Box3D > &boxInGlobal, DArray< Sphere3D > &sphereInGlobal, DArray< Tet3D > &tetInGlobal, DArray< Capsule3D > &capInGlobal, DArray< Triangle3D > &triInGlobal) |
void | requestBoxInGlobal (DArray< Box3D > &boxInGlobal) |
void | requestSphereInGlobal (DArray< Sphere3D > &sphereInGlobal) |
void | requestTetInGlobal (DArray< Tet3D > &tetInGlobal) |
void | requestCapsuleInGlobal (DArray< Capsule3D > &capInGlobal) |
void | requestTriangleInGlobal (DArray< Triangle3D > &triInGlobal) |
DiscreteElements () | |
~DiscreteElements () override | |
void | setBoxes (std::vector< px::Box > boxes) |
void | setSpheres (std::vector< px::Sphere > spheres) |
void | setCapsules (std::vector< px::Capsule > capsules) |
VkDeviceArray< px::Box > & | getBoxes () |
VkDeviceArray< px::Sphere > & | getSpheres () |
VkDeviceArray< px::Capsule > & | getCapsules () |
ElementOffset | getElementOffset () |
uint32_t | getTotalElementSize () |
![]() | |
TopologyModule () | |
~TopologyModule () override | |
virtual int | getDOF () |
void | tagAsChanged () |
void | tagAsUnchanged () |
bool | isTopologyChanged () |
void | update () |
![]() | |
OBase () | |
~OBase () override | |
virtual std::string | caption () |
Return the caption. | |
virtual bool | captionVisible () |
Whether to hide the caption in the GUI. | |
virtual std::string | description () |
Return a description for the node or module, override this function to support user-defined description. | |
virtual std::string | getName () |
bool | addField (FBase *data) |
Add a field to Base FieldID will be set to the name of Field by default. | |
bool | addField (FieldID name, FBase *data) |
Add a field to Base. | |
bool | addFieldAlias (FieldID name, FBase *data) |
bool | addFieldAlias (FieldID name, FBase *data, FieldMap &fieldAlias) |
bool | findField (FBase *data) |
Find a field by its pointer. | |
bool | findFieldAlias (const FieldID name) |
Find a field by its name. | |
bool | findFieldAlias (const FieldID name, FieldMap &fieldAlias) |
Find a field in fieldAlias by its name This function is typically called by other functions. | |
bool | removeField (FBase *data) |
Remove a field by its pointer. | |
bool | removeFieldAlias (const FieldID name) |
Remove a field by its name. | |
bool | removeFieldAlias (const FieldID name, FieldMap &fieldAlias) |
FBase * | getField (const FieldID name) |
Return a field by its name. | |
std::vector< FBase * > & | getAllFields () |
virtual bool | attachField (FBase *field, std::string name, std::string desc, bool autoDestroy=true) |
Attach a field to Base. | |
template<typename T> | |
T * | getField (FieldID name) |
bool | isAllFieldsReady () |
Check the completeness of all required fields. | |
std::vector< FieldID > | getFieldAlias (FBase *data) |
int | getFieldAliasCount (FBase *data) |
void | setBlockCoord (float x, float y) |
float | bx () |
float | by () |
bool | findInputField (FBase *field) |
bool | addInputField (FBase *field) |
bool | removeInputField (FBase *field) |
std::vector< FBase * > & | getInputFields () |
bool | findOutputField (FBase *field) |
bool | addOutputField (FBase *field) |
bool | addToOutput (FBase *field) |
bool | removeOutputField (FBase *field) |
bool | removeFromOutput (FBase *field) |
std::vector< FBase * > & | getOutputFields () |
bool | findParameter (FBase *field) |
bool | addParameter (FBase *field) |
bool | removeParameter (FBase *field) |
std::vector< FBase * > & | getParameters () |
![]() | |
Object () | |
virtual | ~Object () |
ObjectId | objectId () |
Protected Member Functions | |
void | updateTopology () override |
Protected Attributes | |
DArray< Sphere3D > | mSpheresInLocal |
DArray< Box3D > | mBoxesInLocal |
DArray< Tet3D > | mTetsInLocal |
DArray< Capsule3D > | mCapsulesInLocal |
DArray< Triangle3D > | mTrianglesInLocal |
DArray< Sphere3D > | mSphereInGlobal |
DArray< Box3D > | mBoxInGlobal |
DArray< Tet3D > | mTetInGlobal |
DArray< Capsule3D > | mCapsuleInGlobal |
DArray< Triangle3D > | mTriangleInGlobal |
DArray< BallAndSocketJoint > | mBallAndSocketJoints |
DArray< SliderJoint > | mSliderJoints |
DArray< HingeJoint > | mHingeJoints |
DArray< FixedJoint > | mFixedJoints |
DArray< PointJoint > | mPointJoints |
DArray< DistanceJoint > | mDistanceJoints |
DArray< Pair< uint, uint > > | mShape2RigidBody |
DArray< Coord > | mPosition |
DArray< Matrix > | mRotation |
DArray< Real > | m_tet_sdf |
DArray< int > | m_tet_body_mapping |
DArray< TopologyModule::Tetrahedron > | m_tet_element_id |
![]() | |
std::vector< FBase * > | fields_input |
std::vector< FBase * > | fields_output |
std::vector< FBase * > | fields_param |
Private Attributes | |
VkDeviceArray< px::Box > | mBoxes |
VkDeviceArray< px::Capsule > | mCapsules |
VkDeviceArray< px::Sphere > | mSpheres |
Additional Inherited Members | |
![]() | |
static bool | registerClass (ClassInfo *ci) |
static Object * | createObject (std::string name) |
static std::map< std::string, ClassInfo * > * | getClassMap () |
static ObjectId | baseId () |
Base Id. | |
Discrete elements will arranged in the order of sphere, box, tet, capsule, triangle
Definition at line 506 of file DiscreteElements.h.
typedef ::dyno::BallAndSocketJoint<Real> dyno::DiscreteElements< TDataType >::BallAndSocketJoint |
Definition at line 518 of file DiscreteElements.h.
typedef ::dyno::TOrientedBox3D<Real> dyno::DiscreteElements< TDataType >::Box3D |
Definition at line 515 of file DiscreteElements.h.
typedef TDataType::Coord dyno::DiscreteElements< TDataType >::Coord |
Definition at line 511 of file DiscreteElements.h.
typedef ::dyno::DistanceJoint<Real> dyno::DiscreteElements< TDataType >::DistanceJoint |
Definition at line 523 of file DiscreteElements.h.
typedef ::dyno::FixedJoint<Real> dyno::DiscreteElements< TDataType >::FixedJoint |
Definition at line 521 of file DiscreteElements.h.
typedef ::dyno::HingeJoint<Real> dyno::DiscreteElements< TDataType >::HingeJoint |
Definition at line 520 of file DiscreteElements.h.
typedef TDataType::Matrix dyno::DiscreteElements< TDataType >::Matrix |
Definition at line 512 of file DiscreteElements.h.
typedef ::dyno::PointJoint<Real> dyno::DiscreteElements< TDataType >::PointJoint |
Definition at line 522 of file DiscreteElements.h.
typedef TDataType::Real dyno::DiscreteElements< TDataType >::Real |
Definition at line 510 of file DiscreteElements.h.
typedef ::dyno::SliderJoint<Real> dyno::DiscreteElements< TDataType >::SliderJoint |
Definition at line 519 of file DiscreteElements.h.
typedef ::dyno::TSphere3D<Real> dyno::DiscreteElements< TDataType >::Sphere3D |
Definition at line 514 of file DiscreteElements.h.
typedef ::dyno::TTet3D<Real> dyno::DiscreteElements< TDataType >::Tet3D |
Definition at line 516 of file DiscreteElements.h.
dyno::DiscreteElements< TDataType >::DiscreteElements | ( | ) |
Definition at line 6 of file DiscreteElements.cpp.
|
override |
Definition at line 11 of file DiscreteElements.cpp.
dyno::DiscreteElements< TDataType >::DiscreteElements | ( | ) |
|
override |
|
inline |
Definition at line 570 of file DiscreteElements.h.
|
inline |
Definition at line 557 of file DiscreteElements.h.
|
inline |
Definition at line 551 of file DiscreteElements.h.
uint dyno::DiscreteElements< TDataType >::boxIndex | ( | ) |
ElementOffset dyno::DiscreteElements< TDataType >::calculateElementOffset | ( | ) |
uint dyno::DiscreteElements< TDataType >::capsuleIndex | ( | ) |
|
inline |
Definition at line 559 of file DiscreteElements.h.
|
inline |
Definition at line 553 of file DiscreteElements.h.
void dyno::DiscreteElements< TDataType >::copyFrom | ( | DiscreteElements< TDataType > & | de | ) |
|
inline |
Definition at line 575 of file DiscreteElements.h.
|
inline |
Definition at line 573 of file DiscreteElements.h.
|
inline |
Definition at line 25 of file DiscreteElements.h.
|
inline |
Definition at line 27 of file DiscreteElements.h.
ElementOffset dyno::DiscreteElements< TDataType >::getElementOffset | ( | ) |
Definition at line 42 of file DiscreteElements.cpp.
|
inline |
Definition at line 26 of file DiscreteElements.h.
|
inline |
Definition at line 581 of file DiscreteElements.h.
|
inline |
Definition at line 582 of file DiscreteElements.h.
|
inline |
Definition at line 580 of file DiscreteElements.h.
uint32_t dyno::DiscreteElements< TDataType >::getTotalElementSize | ( | ) |
Definition at line 52 of file DiscreteElements.cpp.
|
inline |
Definition at line 572 of file DiscreteElements.h.
void dyno::DiscreteElements< TDataType >::merge | ( | CArray< std::shared_ptr< DiscreteElements< TDataType > > > & | topos | ) |
|
inline |
Definition at line 574 of file DiscreteElements.h.
|
inline |
Definition at line 564 of file DiscreteElements.h.
void dyno::DiscreteElements< TDataType >::requestBoxInGlobal | ( | DArray< Box3D > & | boxInGlobal | ) |
void dyno::DiscreteElements< TDataType >::requestCapsuleInGlobal | ( | DArray< Capsule3D > & | capInGlobal | ) |
void dyno::DiscreteElements< TDataType >::requestDiscreteElementsInGlobal | ( | DArray< Box3D > & | boxInGlobal, |
DArray< Sphere3D > & | sphereInGlobal, | ||
DArray< Tet3D > & | tetInGlobal, | ||
DArray< Capsule3D > & | capInGlobal, | ||
DArray< Triangle3D > & | triInGlobal ) |
void dyno::DiscreteElements< TDataType >::requestSphereInGlobal | ( | DArray< Sphere3D > & | sphereInGlobal | ) |
void dyno::DiscreteElements< TDataType >::requestTetInGlobal | ( | DArray< Tet3D > & | tetInGlobal | ) |
void dyno::DiscreteElements< TDataType >::requestTriangleInGlobal | ( | DArray< Triangle3D > & | triInGlobal | ) |
|
inline |
Definition at line 565 of file DiscreteElements.h.
void dyno::DiscreteElements< TDataType >::scale | ( | Real | s | ) |
void dyno::DiscreteElements< TDataType >::setBoxes | ( | DArray< Box3D > & | boxes | ) |
void dyno::DiscreteElements< TDataType >::setBoxes | ( | std::vector< px::Box > | boxes | ) |
void dyno::DiscreteElements< TDataType >::setCapsules | ( | DArray< Capsule3D > & | capsules | ) |
void dyno::DiscreteElements< TDataType >::setCapsules | ( | std::vector< px::Capsule > | capsules | ) |
|
inline |
Definition at line 567 of file DiscreteElements.h.
|
inline |
Definition at line 568 of file DiscreteElements.h.
void dyno::DiscreteElements< TDataType >::setSpheres | ( | DArray< Sphere3D > & | spheres | ) |
void dyno::DiscreteElements< TDataType >::setSpheres | ( | std::vector< px::Sphere > | spheres | ) |
void dyno::DiscreteElements< TDataType >::setTetBodyId | ( | DArray< int > & | body_id | ) |
void dyno::DiscreteElements< TDataType >::setTetElementId | ( | DArray< TopologyModule::Tetrahedron > & | element_id | ) |
void dyno::DiscreteElements< TDataType >::setTets | ( | DArray< Tet3D > & | tets | ) |
void dyno::DiscreteElements< TDataType >::setTetSDF | ( | DArray< Real > & | sdf | ) |
void dyno::DiscreteElements< TDataType >::setTriangles | ( | DArray< Triangle3D > & | triangles | ) |
|
inline |
Definition at line 562 of file DiscreteElements.h.
|
inline |
Definition at line 571 of file DiscreteElements.h.
uint dyno::DiscreteElements< TDataType >::sphereIndex | ( | ) |
|
inline |
Definition at line 556 of file DiscreteElements.h.
|
inline |
Definition at line 550 of file DiscreteElements.h.
uint dyno::DiscreteElements< TDataType >::tetIndex | ( | ) |
|
inline |
Definition at line 558 of file DiscreteElements.h.
|
inline |
Definition at line 552 of file DiscreteElements.h.
uint dyno::DiscreteElements< TDataType >::totalJointSize | ( | ) |
uint dyno::DiscreteElements< TDataType >::totalSize | ( | ) |
uint dyno::DiscreteElements< TDataType >::triangleIndex | ( | ) |
|
inline |
Definition at line 560 of file DiscreteElements.h.
|
inline |
Definition at line 554 of file DiscreteElements.h.
|
overrideprotectedvirtual |
Reimplemented from dyno::TopologyModule.
|
protected |
Definition at line 630 of file DiscreteElements.h.
|
protected |
Definition at line 631 of file DiscreteElements.h.
|
protected |
Definition at line 629 of file DiscreteElements.h.
|
protected |
Definition at line 617 of file DiscreteElements.h.
|
private |
Definition at line 34 of file DiscreteElements.h.
|
protected |
Definition at line 606 of file DiscreteElements.h.
|
protected |
Definition at line 612 of file DiscreteElements.h.
|
protected |
Definition at line 614 of file DiscreteElements.h.
|
private |
Definition at line 35 of file DiscreteElements.h.
|
protected |
Definition at line 608 of file DiscreteElements.h.
|
protected |
Definition at line 622 of file DiscreteElements.h.
|
protected |
Definition at line 620 of file DiscreteElements.h.
|
protected |
Definition at line 619 of file DiscreteElements.h.
|
protected |
Definition at line 621 of file DiscreteElements.h.
|
protected |
Definition at line 626 of file DiscreteElements.h.
|
protected |
Definition at line 627 of file DiscreteElements.h.
|
protected |
Definition at line 624 of file DiscreteElements.h.
|
protected |
Definition at line 618 of file DiscreteElements.h.
|
protected |
Definition at line 611 of file DiscreteElements.h.
|
private |
Definition at line 36 of file DiscreteElements.h.
|
protected |
Definition at line 605 of file DiscreteElements.h.
|
protected |
Definition at line 613 of file DiscreteElements.h.
|
protected |
Definition at line 607 of file DiscreteElements.h.
|
protected |
Definition at line 615 of file DiscreteElements.h.
|
protected |
Definition at line 609 of file DiscreteElements.h.