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

#include <DragSurfaceInteraction.h>

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

Public Types

typedef TDataType::Real Real
 
typedef TDataType::Coord Coord
 
typedef TopologyModule::Edge Edge
 
typedef TopologyModule::Triangle Triangle
 
- Public Types inherited from dyno::OBase
typedef std::vector< FBase * > FieldVector
 
typedef std::map< FieldID, FBase * > FieldMap
 

Public Member Functions

 DragSurfaceInteraction ()
 
virtual ~DragSurfaceInteraction ()
 
void InteractionClick ()
 
void InteractionDrag ()
 
void calcSurfaceInteractClick ()
 
void calcSurfaceInteractDrag ()
 
void setTriFixed ()
 
void cancelVelocity ()
 
 DEF_INSTANCE_IN (TriangleSet< TDataType >, InitialTriangleSet, "")
 
 DEF_ARRAY_IN (Attribute, Attribute, DeviceType::GPU, "Particle attribute")
 
 DEF_ARRAY_IN (Coord, Position, DeviceType::GPU, "")
 
 DEF_ARRAY_IN (Coord, Velocity, DeviceType::GPU, "")
 
 DEF_VAR (Real, InterationRadius, 0.005, "The radius of interaction")
 
 DEF_VAR_IN (Real, TimeStep, "Time step")
 
- Public Member Functions inherited from dyno::MouseInputModule
 MouseInputModule ()
 
 ~MouseInputModule () override
 
void enqueueEvent (PMouseEvent event)
 
 DEF_VAR (bool, CacheEvent, false, "If set false, all previous queued events will be dropped")
 
- Public Member Functions inherited from dyno::InputModule
 InputModule ()
 
virtual ~InputModule ()
 
std::string getModuleType () final
 
- 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 onEvent (PMouseEvent event) override
 
- Protected Member Functions inherited from dyno::MouseInputModule
void updateImpl () final
 
bool requireUpdate () override
 
- Protected Member Functions inherited from dyno::Module
virtual bool initializeImpl ()
 
virtual void preprocess ()
 
virtual void postprocess ()
 
virtual bool validateInputs ()
 
virtual bool validateOutputs ()
 
virtual void updateStarted ()
 Two functions called at the beginning and end of update() used for debug.
 
virtual void updateEnded ()
 

Private Attributes

bool needInit = true
 
std::shared_ptr< Cameracamera
 
TRay3D< Realray1
 
TRay3D< Realray2
 
Real x1
 
Real y1
 
Real x2
 
Real y2
 
bool isPressed
 
DArray< int > triIntersectedIndex
 
DArray< int > intersected_triangles
 
DArray< AttributerestoreAttribute
 
int intersectionCenterIndex
 
DArray< CoordintersectionCenter
 

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::DragSurfaceInteraction< TDataType >

Definition at line 21 of file DragSurfaceInteraction.h.

Member Typedef Documentation

◆ Coord

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

Definition at line 26 of file DragSurfaceInteraction.h.

◆ Edge

template<typename TDataType>
typedef TopologyModule::Edge dyno::DragSurfaceInteraction< TDataType >::Edge

Definition at line 27 of file DragSurfaceInteraction.h.

◆ Real

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

Definition at line 25 of file DragSurfaceInteraction.h.

◆ Triangle

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

Definition at line 28 of file DragSurfaceInteraction.h.

Constructor & Destructor Documentation

◆ DragSurfaceInteraction()

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

◆ ~DragSurfaceInteraction()

template<typename TDataType>
virtual dyno::DragSurfaceInteraction< TDataType >::~DragSurfaceInteraction ( )
inlinevirtual

Definition at line 31 of file DragSurfaceInteraction.h.

Member Function Documentation

◆ calcSurfaceInteractClick()

template<typename TDataType>
void dyno::DragSurfaceInteraction< TDataType >::calcSurfaceInteractClick ( )

◆ calcSurfaceInteractDrag()

template<typename TDataType>
void dyno::DragSurfaceInteraction< TDataType >::calcSurfaceInteractDrag ( )

◆ cancelVelocity()

template<typename TDataType>
void dyno::DragSurfaceInteraction< TDataType >::cancelVelocity ( )

◆ DEF_ARRAY_IN() [1/3]

template<typename TDataType>
dyno::DragSurfaceInteraction< TDataType >::DEF_ARRAY_IN ( Attribute ,
Attribute ,
DeviceType::GPU ,
"Particle attribute"  )

◆ DEF_ARRAY_IN() [2/3]

template<typename TDataType>
dyno::DragSurfaceInteraction< TDataType >::DEF_ARRAY_IN ( Coord ,
Position ,
DeviceType::GPU ,
""  )

◆ DEF_ARRAY_IN() [3/3]

template<typename TDataType>
dyno::DragSurfaceInteraction< TDataType >::DEF_ARRAY_IN ( Coord ,
Velocity ,
DeviceType::GPU ,
""  )

◆ DEF_INSTANCE_IN()

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

◆ DEF_VAR()

template<typename TDataType>
dyno::DragSurfaceInteraction< TDataType >::DEF_VAR ( Real ,
InterationRadius ,
0. 005,
"The radius of interaction"  )

◆ DEF_VAR_IN()

template<typename TDataType>
dyno::DragSurfaceInteraction< TDataType >::DEF_VAR_IN ( Real ,
TimeStep ,
"Time step"  )

◆ InteractionClick()

template<typename TDataType>
void dyno::DragSurfaceInteraction< TDataType >::InteractionClick ( )

◆ InteractionDrag()

template<typename TDataType>
void dyno::DragSurfaceInteraction< TDataType >::InteractionDrag ( )

◆ onEvent()

template<typename TDataType>
void dyno::DragSurfaceInteraction< TDataType >::onEvent ( PMouseEvent event)
overrideprotectedvirtual

Reimplemented from dyno::MouseInputModule.

◆ setTriFixed()

template<typename TDataType>
void dyno::DragSurfaceInteraction< TDataType >::setTriFixed ( )

Member Data Documentation

◆ camera

template<typename TDataType>
std::shared_ptr<Camera> dyno::DragSurfaceInteraction< TDataType >::camera
private

Definition at line 59 of file DragSurfaceInteraction.h.

◆ intersected_triangles

template<typename TDataType>
DArray<int> dyno::DragSurfaceInteraction< TDataType >::intersected_triangles
private

Definition at line 69 of file DragSurfaceInteraction.h.

◆ intersectionCenter

template<typename TDataType>
DArray<Coord> dyno::DragSurfaceInteraction< TDataType >::intersectionCenter
private

Definition at line 72 of file DragSurfaceInteraction.h.

◆ intersectionCenterIndex

template<typename TDataType>
int dyno::DragSurfaceInteraction< TDataType >::intersectionCenterIndex
private

Definition at line 71 of file DragSurfaceInteraction.h.

◆ isPressed

template<typename TDataType>
bool dyno::DragSurfaceInteraction< TDataType >::isPressed
private

Definition at line 66 of file DragSurfaceInteraction.h.

◆ needInit

template<typename TDataType>
bool dyno::DragSurfaceInteraction< TDataType >::needInit = true
private

Definition at line 58 of file DragSurfaceInteraction.h.

◆ ray1

template<typename TDataType>
TRay3D<Real> dyno::DragSurfaceInteraction< TDataType >::ray1
private

Definition at line 60 of file DragSurfaceInteraction.h.

◆ ray2

template<typename TDataType>
TRay3D<Real> dyno::DragSurfaceInteraction< TDataType >::ray2
private

Definition at line 61 of file DragSurfaceInteraction.h.

◆ restoreAttribute

template<typename TDataType>
DArray<Attribute> dyno::DragSurfaceInteraction< TDataType >::restoreAttribute
private

Definition at line 70 of file DragSurfaceInteraction.h.

◆ triIntersectedIndex

template<typename TDataType>
DArray<int> dyno::DragSurfaceInteraction< TDataType >::triIntersectedIndex
private

Definition at line 68 of file DragSurfaceInteraction.h.

◆ x1

template<typename TDataType>
Real dyno::DragSurfaceInteraction< TDataType >::x1
private

Definition at line 62 of file DragSurfaceInteraction.h.

◆ x2

template<typename TDataType>
Real dyno::DragSurfaceInteraction< TDataType >::x2
private

Definition at line 64 of file DragSurfaceInteraction.h.

◆ y1

template<typename TDataType>
Real dyno::DragSurfaceInteraction< TDataType >::y1
private

Definition at line 63 of file DragSurfaceInteraction.h.

◆ y2

template<typename TDataType>
Real dyno::DragSurfaceInteraction< TDataType >::y2
private

Definition at line 65 of file DragSurfaceInteraction.h.


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