PeriDyno 1.0.0
Loading...
Searching...
No Matches
dyno::CollistionDetectionTriangleSet< TDataType > Class Template Reference

#include <CollistionDetectionTriangleSet.h>

Inheritance diagram for dyno::CollistionDetectionTriangleSet< TDataType >:
Collaboration diagram for dyno::CollistionDetectionTriangleSet< TDataType >:

Public Types

typedef TDataType::Real Real
 
typedef TDataType::Coord Coord
 
typedef ::dyno::TAlignedBox3D< RealAABB
 
typedef ::dyno::TContactPair< RealContactPair
 
typedef ::dyno::TOrientedBox3D< RealBox3D
 
- Public Types inherited from dyno::OBase
typedef std::vector< FBase * > FieldVector
 
typedef std::map< FieldID, FBase * > FieldMap
 

Public Member Functions

 CollistionDetectionTriangleSet ()
 
 ~CollistionDetectionTriangleSet () override
 
 DEF_INSTANCE_IN (DiscreteElements< TDataType >, DiscreteElements, "")
 
 DEF_INSTANCE_IN (TriangleSet< TDataType >, TriangleSet, "")
 
 DEF_ARRAY_OUT (ContactPair, Contacts, DeviceType::GPU, "")
 
- Public Member Functions inherited from dyno::ComputeModule
 ComputeModule ()
 
 ~ComputeModule () override
 
std::string getModuleType () override
 
- Public Member Functions inherited from dyno::Module
 Module (std::string name="default")
 
 ~Module (void) override
 
bool initialize ()
 
void update ()
 
void setName (std::string name)
 
std::string getName () override
 
virtual void setParentNode (Node *node)
 Set the parent node.
 
NodegetParentNode ()
 
SceneGraphgetSceneGraph ()
 
bool isInitialized ()
 
bool attachField (FBase *field, std::string name, std::string desc, bool autoDestroy=true) override
 Attach a field to Base.
 
bool isInputComplete ()
 Check the completeness of input fields.
 
bool isOutputCompete ()
 
 DEF_VAR (bool, ForceUpdate, false, "")
 
void setUpdateAlways (bool b)
 Set the update strategy for the module.
 
- Public Member Functions inherited from dyno::OBase
 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.
 
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)
 
FBasegetField (const FieldID name)
 Return a field by its name.
 
std::vector< FBase * > & getAllFields ()
 
template<typename T>
TgetField (FieldID name)
 
bool isAllFieldsReady ()
 Check the completeness of all required fields.
 
std::vector< FieldIDgetFieldAlias (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 ()
 
- Public Member Functions inherited from dyno::Object
 Object ()
 
virtual ~Object ()
 
ObjectId objectId ()
 

Protected Member Functions

void compute () override
 
- Protected Member Functions inherited from dyno::Module
virtual bool initializeImpl ()
 
virtual void preprocess ()
 
virtual void postprocess ()
 
virtual bool validateInputs ()
 
virtual bool validateOutputs ()
 
virtual bool requireUpdate ()
 
virtual void updateStarted ()
 Two functions called at the beginning and end of update() used for debug.
 
virtual void updateEnded ()
 

Private Attributes

Scan< int > mScan
 
Reduction< int > mReduce
 
DArray< AABBmQueryAABB
 
DArray< AABBmTriangleAABB
 
LinearBVH< TDataType > mLBVH
 
DArray< int > mBoundaryContactCounter
 
DArray< int > mBoundaryContactCpy
 
DArray< ContactPairmContactBuffer
 
std::shared_ptr< CollisionDetectionBroadPhase< TDataType > > mBroadPhaseCD
 

Additional Inherited Members

- Static Public Member Functions inherited from dyno::Object
static bool registerClass (ClassInfo *ci)
 
static ObjectcreateObject (std::string name)
 
static std::map< std::string, ClassInfo * > * getClassMap ()
 
static ObjectId baseId ()
 Base Id.
 
- Protected Attributes inherited from dyno::OBase
std::vector< FBase * > fields_input
 
std::vector< FBase * > fields_output
 
std::vector< FBase * > fields_param
 

Detailed Description

template<typename TDataType>
class dyno::CollistionDetectionTriangleSet< TDataType >

A class to detect contacts between discrete elements and a triangle mesh

Definition at line 31 of file CollistionDetectionTriangleSet.h.

Member Typedef Documentation

◆ AABB

template<typename TDataType>
typedef ::dyno::TAlignedBox3D<Real> dyno::CollistionDetectionTriangleSet< TDataType >::AABB

Definition at line 38 of file CollistionDetectionTriangleSet.h.

◆ Box3D

template<typename TDataType>
typedef ::dyno::TOrientedBox3D<Real> dyno::CollistionDetectionTriangleSet< TDataType >::Box3D

Definition at line 40 of file CollistionDetectionTriangleSet.h.

◆ ContactPair

template<typename TDataType>
typedef ::dyno::TContactPair<Real> dyno::CollistionDetectionTriangleSet< TDataType >::ContactPair

Definition at line 39 of file CollistionDetectionTriangleSet.h.

◆ Coord

template<typename TDataType>
typedef TDataType::Coord dyno::CollistionDetectionTriangleSet< TDataType >::Coord

Definition at line 37 of file CollistionDetectionTriangleSet.h.

◆ Real

template<typename TDataType>
typedef TDataType::Real dyno::CollistionDetectionTriangleSet< TDataType >::Real

Definition at line 36 of file CollistionDetectionTriangleSet.h.

Constructor & Destructor Documentation

◆ CollistionDetectionTriangleSet()

template<typename TDataType>
dyno::CollistionDetectionTriangleSet< TDataType >::CollistionDetectionTriangleSet ( )

◆ ~CollistionDetectionTriangleSet()

template<typename TDataType>
dyno::CollistionDetectionTriangleSet< TDataType >::~CollistionDetectionTriangleSet ( )
override

Member Function Documentation

◆ compute()

template<typename TDataType>
void dyno::CollistionDetectionTriangleSet< TDataType >::compute ( )
overrideprotectedvirtual

Implements dyno::ComputeModule.

◆ DEF_ARRAY_OUT()

template<typename TDataType>
dyno::CollistionDetectionTriangleSet< TDataType >::DEF_ARRAY_OUT ( ContactPair ,
Contacts ,
DeviceType::GPU ,
""  )

◆ DEF_INSTANCE_IN() [1/2]

template<typename TDataType>
dyno::CollistionDetectionTriangleSet< TDataType >::DEF_INSTANCE_IN ( DiscreteElements< TDataType > ,
DiscreteElements ,
""  )

◆ DEF_INSTANCE_IN() [2/2]

template<typename TDataType>
dyno::CollistionDetectionTriangleSet< TDataType >::DEF_INSTANCE_IN ( TriangleSet< TDataType > ,
TriangleSet ,
""  )

Member Data Documentation

◆ mBoundaryContactCounter

template<typename TDataType>
DArray<int> dyno::CollistionDetectionTriangleSet< TDataType >::mBoundaryContactCounter
private

Definition at line 63 of file CollistionDetectionTriangleSet.h.

◆ mBoundaryContactCpy

template<typename TDataType>
DArray<int> dyno::CollistionDetectionTriangleSet< TDataType >::mBoundaryContactCpy
private

Definition at line 64 of file CollistionDetectionTriangleSet.h.

◆ mBroadPhaseCD

template<typename TDataType>
std::shared_ptr<CollisionDetectionBroadPhase<TDataType> > dyno::CollistionDetectionTriangleSet< TDataType >::mBroadPhaseCD
private

Definition at line 67 of file CollistionDetectionTriangleSet.h.

◆ mContactBuffer

template<typename TDataType>
DArray<ContactPair> dyno::CollistionDetectionTriangleSet< TDataType >::mContactBuffer
private

Definition at line 65 of file CollistionDetectionTriangleSet.h.

◆ mLBVH

template<typename TDataType>
LinearBVH<TDataType> dyno::CollistionDetectionTriangleSet< TDataType >::mLBVH
private

Definition at line 61 of file CollistionDetectionTriangleSet.h.

◆ mQueryAABB

template<typename TDataType>
DArray<AABB> dyno::CollistionDetectionTriangleSet< TDataType >::mQueryAABB
private

Definition at line 59 of file CollistionDetectionTriangleSet.h.

◆ mReduce

template<typename TDataType>
Reduction<int> dyno::CollistionDetectionTriangleSet< TDataType >::mReduce
private

Definition at line 57 of file CollistionDetectionTriangleSet.h.

◆ mScan

template<typename TDataType>
Scan<int> dyno::CollistionDetectionTriangleSet< TDataType >::mScan
private

Definition at line 56 of file CollistionDetectionTriangleSet.h.

◆ mTriangleAABB

template<typename TDataType>
DArray<AABB> dyno::CollistionDetectionTriangleSet< TDataType >::mTriangleAABB
private

Definition at line 60 of file CollistionDetectionTriangleSet.h.


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