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

#include <PointsBehindMesh.h>

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

Public Types

typedef TDataType::Real Real
 
typedef TDataType::Coord Coord
 
typedef TDataType::Matrix Matrix
 
typedef TopologyModule::Triangle Triangle
 
- Public Types inherited from dyno::Sampler< TDataType >
typedef TDataType::Real Real
 
typedef TDataType::Coord Coord
 
- Public Types inherited from dyno::Node
template<class T>
using SPtr = std::shared_ptr<T>
 
- Public Types inherited from dyno::OBase
typedef std::vector< FBase * > FieldVector
 
typedef std::map< FieldID, FBase * > FieldMap
 

Public Member Functions

 PointsBehindMesh ()
 
 ~PointsBehindMesh () override
 
 DEF_VAR (Real, Thickness, Real(0.2), "")
 
 DEF_VAR (Real, SamplingDistance, Real(0.05), "")
 
 DEF_VAR (bool, GeneratingDirection, true, "")
 
 DEF_INSTANCE_IN (TriangleSet< TDataType >, TriangleSet, "")
 
 DEF_ARRAY_STATE (Coord, Position, DeviceType::GPU, "")
 
 DEF_INSTANCE_STATE (TriangleSet< TDataType >, Plane, "")
 
 DEF_ARRAY_STATE (Coord, PointNormal, DeviceType::GPU, "Normal Vector of the point set")
 
 DEF_VAR_OUT (bool, PointGrowthDirection, "")
 
 DEF_ARRAY_STATE (int, PointBelongTriangleIndex, DeviceType::GPU, "")
 
 DEF_VAR_OUT (Real, SamplingDistance, "")
 
- Public Member Functions inherited from dyno::Sampler< TDataType >
 Sampler ()
 
std::string getNodeType () override
 
 DEF_INSTANCE_STATE (PointSet< TDataType >, PointSet, "")
 
- Public Member Functions inherited from dyno::Node
 Node ()
 
 ~Node () override
 
void setName (std::string name)
 
std::string getName () override
 
bool isAutoSync ()
 
bool isAutoHidden ()
 
void setAutoSync (bool con)
 Whether the node can be automatically synchronized when its ancestor is updated.
 
void setAutoHidden (bool con)
 
virtual bool isActive ()
 Check the state of dynamics.
 
virtual void setActive (bool active)
 Set the state of dynamics.
 
virtual bool isVisible ()
 Check the visibility of context.
 
virtual void setVisible (bool visible)
 Set the visibility of context.
 
virtual Real getDt ()
 Simulation timestep.
 
void setDt (Real dt)
 
void setSceneGraph (SceneGraph *scn)
 
SceneGraphgetSceneGraph ()
 
std::vector< NodePort * > & getImportNodes ()
 
std::vector< NodePort * > & getExportNodes ()
 
bool addModule (std::shared_ptr< Module > module)
 Add a module to m_module_list and other special module lists.
 
bool deleteModule (std::shared_ptr< Module > module)
 
template<class TModule>
bool addModule (std::shared_ptr< TModule > tModule)
 Add a speical kind of module.
 
template<class TModule>
bool deleteModule (std::shared_ptr< TModule > tModule)
 
std::list< std::shared_ptr< Module > > & getModuleList ()
 
bool hasModule (std::string name)
 
std::shared_ptr< ModulegetModule (std::string name)
 Get a module by its name.
 
template<class TModule>
std::shared_ptr< TModule > getModule ()
 Get the Module by the module class name.
 
template<class TModule>
std::shared_ptr< TModule > getModule (std::string name)
 
std::shared_ptr< PipelineresetPipeline ()
 
std::shared_ptr< AnimationPipelineanimationPipeline ()
 
std::shared_ptr< GraphicsPipelinegraphicsPipeline ()
 
template<class TModule>
std::shared_ptr< TModule > addModule (std::string name)
 
void update ()
 Called every time interval.
 
void updateGraphicsContext ()
 
void reset ()
 
virtual NBoundingBox boundingBox ()
 
bool connect (NodePort *nPort)
 Depth-first tree traversal.
 
bool disconnect (NodePort *nPort)
 
bool attachField (FBase *field, std::string name, std::string desc, bool autoDestroy=true) override
 Attach a field to Node.
 
std::vector< NodePort * > & getAllNodePorts ()
 
uint sizeOfNodePorts ()
 
uint sizeOfImportNodes () const
 
uint sizeOfExportNodes () const
 
void setForceUpdate (bool b)
 
 DEF_VAR_STATE (Real, ElapsedTime, 0, "Elapsed Time")
 
 DEF_VAR_STATE (Real, TimeStep, Real(0.033), "Time step size")
 
 DEF_VAR_STATE (uint, FrameNumber, 0, "Frame number")
 
- 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 resetStates () override
 
- Protected Member Functions inherited from dyno::Node
bool appendExportNode (NodePort *nodePort)
 
bool removeExportNode (NodePort *nodePort)
 
virtual void preUpdateStates ()
 
virtual void updateStates ()
 
virtual void postUpdateStates ()
 
virtual void updateTopology ()
 
virtual bool validateInputs ()
 
virtual bool requireUpdate ()
 
void tick ()
 notify all state and output fields are updated
 

Private Member Functions

 DECLARE_TCLASS (PointsBehindMesh, TDataType)
 

Private Attributes

DArray< Coordmsquare_1
 
DArray< Coordmsquare_2
 
DArray< Coordmsquare_3
 
DArray< Coordmsquare_4
 
DArray< CoordmBasicVector_x
 
DArray< CoordmBasicVector_y
 
DArray< CoordmBasicVector_z
 
DArray< CoordmVerticesTempt
 
DArray< TrianglemTriangleTempt
 
DArray< int > mThinPointSize
 
DArray< int > mThickPointSize
 
DArray< CoordmThickPoints
 
DArray< CoordmThinPoints
 
DArray< bool > mRemovingFlag
 
DArray< int > mPointOfTriangleId
 
DArray< int > mSeedOfTriangleId
 
DArray< CoordmTriangleNormal
 
std::shared_ptr< NeighborPointQuery< TDataType > > m_NeighborPointQuery
 
Scan< int > scan
 

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.
 
- Public Attributes inherited from dyno::Node
std::string m_node_name
 
- 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::PointsBehindMesh< TDataType >

Definition at line 42 of file PointsBehindMesh.h.

Member Typedef Documentation

◆ Coord

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

Definition at line 48 of file PointsBehindMesh.h.

◆ Matrix

template<typename TDataType>
typedef TDataType::Matrix dyno::PointsBehindMesh< TDataType >::Matrix

Definition at line 49 of file PointsBehindMesh.h.

◆ Real

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

Definition at line 47 of file PointsBehindMesh.h.

◆ Triangle

template<typename TDataType>
typedef TopologyModule::Triangle dyno::PointsBehindMesh< TDataType >::Triangle

Definition at line 50 of file PointsBehindMesh.h.

Constructor & Destructor Documentation

◆ PointsBehindMesh()

template<typename TDataType>
dyno::PointsBehindMesh< TDataType >::PointsBehindMesh ( )
Here is the caller graph for this function:

◆ ~PointsBehindMesh()

template<typename TDataType>
dyno::PointsBehindMesh< TDataType >::~PointsBehindMesh ( )
inlineoverride

Definition at line 53 of file PointsBehindMesh.h.

Member Function Documentation

◆ DECLARE_TCLASS()

template<typename TDataType>
dyno::PointsBehindMesh< TDataType >::DECLARE_TCLASS ( PointsBehindMesh< TDataType > ,
TDataType  )
private
Here is the call graph for this function:

◆ DEF_ARRAY_STATE() [1/3]

template<typename TDataType>
dyno::PointsBehindMesh< TDataType >::DEF_ARRAY_STATE ( Coord ,
PointNormal ,
DeviceType::GPU ,
"Normal Vector of the point set"  )

◆ DEF_ARRAY_STATE() [2/3]

template<typename TDataType>
dyno::PointsBehindMesh< TDataType >::DEF_ARRAY_STATE ( Coord ,
Position ,
DeviceType::GPU ,
""  )

◆ DEF_ARRAY_STATE() [3/3]

template<typename TDataType>
dyno::PointsBehindMesh< TDataType >::DEF_ARRAY_STATE ( int ,
PointBelongTriangleIndex ,
DeviceType::GPU ,
""  )

◆ DEF_INSTANCE_IN()

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

◆ DEF_INSTANCE_STATE()

template<typename TDataType>
dyno::PointsBehindMesh< TDataType >::DEF_INSTANCE_STATE ( TriangleSet< TDataType > ,
Plane ,
""  )

◆ DEF_VAR() [1/3]

template<typename TDataType>
dyno::PointsBehindMesh< TDataType >::DEF_VAR ( bool ,
GeneratingDirection ,
true ,
""  )

◆ DEF_VAR() [2/3]

template<typename TDataType>
dyno::PointsBehindMesh< TDataType >::DEF_VAR ( Real ,
SamplingDistance ,
Real(0.05) ,
""  )

◆ DEF_VAR() [3/3]

template<typename TDataType>
dyno::PointsBehindMesh< TDataType >::DEF_VAR ( Real ,
Thickness ,
Real(0.2) ,
""  )

◆ DEF_VAR_OUT() [1/2]

template<typename TDataType>
dyno::PointsBehindMesh< TDataType >::DEF_VAR_OUT ( bool ,
PointGrowthDirection ,
""  )

◆ DEF_VAR_OUT() [2/2]

template<typename TDataType>
dyno::PointsBehindMesh< TDataType >::DEF_VAR_OUT ( Real ,
SamplingDistance ,
""  )

◆ resetStates()

template<typename TDataType>
void dyno::PointsBehindMesh< TDataType >::resetStates ( )
overrideprotectedvirtual

Reimplemented from dyno::Node.

Member Data Documentation

◆ m_NeighborPointQuery

template<typename TDataType>
std::shared_ptr<NeighborPointQuery<TDataType> > dyno::PointsBehindMesh< TDataType >::m_NeighborPointQuery
private

Definition at line 105 of file PointsBehindMesh.h.

◆ mBasicVector_x

template<typename TDataType>
DArray<Coord> dyno::PointsBehindMesh< TDataType >::mBasicVector_x
private

Definition at line 83 of file PointsBehindMesh.h.

◆ mBasicVector_y

template<typename TDataType>
DArray<Coord> dyno::PointsBehindMesh< TDataType >::mBasicVector_y
private

Definition at line 83 of file PointsBehindMesh.h.

◆ mBasicVector_z

template<typename TDataType>
DArray<Coord> dyno::PointsBehindMesh< TDataType >::mBasicVector_z
private

Definition at line 83 of file PointsBehindMesh.h.

◆ mPointOfTriangleId

template<typename TDataType>
DArray<int> dyno::PointsBehindMesh< TDataType >::mPointOfTriangleId
private

Definition at line 99 of file PointsBehindMesh.h.

◆ mRemovingFlag

template<typename TDataType>
DArray<bool> dyno::PointsBehindMesh< TDataType >::mRemovingFlag
private

Definition at line 97 of file PointsBehindMesh.h.

◆ mSeedOfTriangleId

template<typename TDataType>
DArray<int> dyno::PointsBehindMesh< TDataType >::mSeedOfTriangleId
private

Definition at line 101 of file PointsBehindMesh.h.

◆ msquare_1

template<typename TDataType>
DArray<Coord> dyno::PointsBehindMesh< TDataType >::msquare_1
private

Definition at line 81 of file PointsBehindMesh.h.

◆ msquare_2

template<typename TDataType>
DArray<Coord> dyno::PointsBehindMesh< TDataType >::msquare_2
private

Definition at line 81 of file PointsBehindMesh.h.

◆ msquare_3

template<typename TDataType>
DArray<Coord> dyno::PointsBehindMesh< TDataType >::msquare_3
private

Definition at line 81 of file PointsBehindMesh.h.

◆ msquare_4

template<typename TDataType>
DArray<Coord> dyno::PointsBehindMesh< TDataType >::msquare_4
private

Definition at line 81 of file PointsBehindMesh.h.

◆ mThickPoints

template<typename TDataType>
DArray<Coord> dyno::PointsBehindMesh< TDataType >::mThickPoints
private

Definition at line 93 of file PointsBehindMesh.h.

◆ mThickPointSize

template<typename TDataType>
DArray<int> dyno::PointsBehindMesh< TDataType >::mThickPointSize
private

Definition at line 91 of file PointsBehindMesh.h.

◆ mThinPoints

template<typename TDataType>
DArray<Coord> dyno::PointsBehindMesh< TDataType >::mThinPoints
private

Definition at line 95 of file PointsBehindMesh.h.

◆ mThinPointSize

template<typename TDataType>
DArray<int> dyno::PointsBehindMesh< TDataType >::mThinPointSize
private

Definition at line 89 of file PointsBehindMesh.h.

◆ mTriangleNormal

template<typename TDataType>
DArray<Coord> dyno::PointsBehindMesh< TDataType >::mTriangleNormal
private

Definition at line 103 of file PointsBehindMesh.h.

◆ mTriangleTempt

template<typename TDataType>
DArray<Triangle> dyno::PointsBehindMesh< TDataType >::mTriangleTempt
private

Definition at line 87 of file PointsBehindMesh.h.

◆ mVerticesTempt

template<typename TDataType>
DArray<Coord> dyno::PointsBehindMesh< TDataType >::mVerticesTempt
private

Definition at line 85 of file PointsBehindMesh.h.

◆ scan

template<typename TDataType>
Scan<int> dyno::PointsBehindMesh< TDataType >::scan
private

Definition at line 107 of file PointsBehindMesh.h.


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