PeriDyno 0.8.2
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
dyno::SkeletonLoader< TDataType > Class Template Reference

Load a Skeleton. More...

#include <SkeletonLoader.h>

Inheritance diagram for dyno::SkeletonLoader< TDataType >:
Inheritance graph
[legend]
Collaboration diagram for dyno::SkeletonLoader< TDataType >:
Collaboration graph
[legend]

Public Types

typedef TDataType::Real Real
 
typedef TDataType::Coord Coord
 
typedef std::vector< std::shared_ptr< JointTree< typename TDataType > > > JointList
 
- 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

 SkeletonLoader ()
 
virtual ~SkeletonLoader ()
 
void setJointMap (JointList &jointMap)
 
JointList getJointMap ()
 
void getCenterQuat (Coord v0, Coord v1, Quat< Real > &T, Quat< Real > &R)
 
bool translate (Coord t)
 
bool scale (Real s)
 
void loadFBX ()
 
bool initFBX (const char *filepath)
 
void getNodes (const ofbx::IScene &scene)
 
void getModelProperties (const ofbx::Object &object, std::shared_ptr< JointTree< TDataType > > cur)
 
void getAnimationCurve (const ofbx::Object &object, std::shared_ptr< JointTree< TDataType > > parent)
 
void getLimbNode (const ofbx::Object &object, std::shared_ptr< JointTree< TDataType > > parent)
 
void copyVec (Coord &dest, ofbx::Vec3 src)
 
void copyVecR (Coord &dest, ofbx::Vec3 src)
 
void copyVecT (Coord &dest, ofbx::Vec3 src)
 
 DEF_INSTANCE_STATE (TopologyModule, Topology, "Topology")
 Capsule Topology. More...
 
 DEF_ARRAY_OUT (JCapsule, Capsule, DeviceType::GPU, "Capsule <V, U> Detail")
 
 DEF_ARRAY_OUT (Quat< Real >, Rotate, DeviceType::GPU, "Capsule Rotate")
 
 DEF_ARRAY_OUT (Quat< Real >, Translate, DeviceType::GPU, "Capsule Translate")
 
 DEF_ARRAY_OUT (Coord, PosV, DeviceType::GPU, "Capsule <V, U> V position")
 
 DEF_ARRAY_OUT (Coord, PosU, DeviceType::GPU, "Capsule <V, U> U position")
 
 DEF_VAR (FilePath, FileName, "", "")
 FBX file. More...
 
- Public Member Functions inherited from dyno::Node
 Node (std::string name="default")
 
 ~Node () override
 
void setName (std::string name)
 
std::string getName () override
 
virtual std::string getNodeType ()
 
bool isControllable ()
 
void setControllable (bool con)
 
bool canExported ()
 
void allowExported (bool ex)
 To allow exporting the node. More...
 
virtual bool isActive ()
 Check the state of dynamics. More...
 
virtual void setActive (bool active)
 Set the state of dynamics. More...
 
virtual bool isVisible ()
 Check the visibility of context. More...
 
virtual void setVisible (bool visible)
 Set the visibility of context. More...
 
virtual Real getDt ()
 Simulation timestep. More...
 
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. More...
 
bool deleteModule (std::shared_ptr< Module > module)
 
template<class TModule >
bool addModule (std::shared_ptr< TModule > tModule)
 Add a speical kind of module. More...
 
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. More...
 
template<class TModule >
std::shared_ptr< TModule > getModule ()
 Get the Module by the module class name. More...
 
template<class TModule >
std::shared_ptr< TModule > getModule (std::string name)
 
std::shared_ptr< AnimationPipelineanimationPipeline ()
 
std::shared_ptr< GraphicsPipelinegraphicsPipeline ()
 
template<class TModule >
std::shared_ptr< TModule > addModule (std::string name)
 
void initialize ()
 Initialize all states, called before the node is first updated. More...
 
void update ()
 Called every time interval. More...
 
void updateGraphicsContext ()
 
void reset ()
 
virtual NBoundingBox boundingBox ()
 
bool connect (NodePort *nPort)
 
bool disconnect (NodePort *nPort)
 
bool attachField (FBase *field, std::string name, std::string desc, bool autoDestroy=true) override
 Attach a field to Node. More...
 
std::vector< NodePort * > & getAllNodePorts ()
 
uint sizeOfNodePorts ()
 
uint sizeOfImportNodes () const
 
uint sizeOfExportNodes () const
 
 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. More...
 
virtual bool captionVisible ()
 Whether to hide the caption in the GUI. More...
 
virtual std::string description ()
 Return a description for the node or module, override this function to support user-defined description. More...
 
virtual std::string getName ()
 
bool addField (FBase *data)
 Add a field to Base FieldID will be set to the name of Field by default. More...
 
bool addField (FieldID name, FBase *data)
 Add a field to Base. More...
 
bool addFieldAlias (FieldID name, FBase *data)
 
bool addFieldAlias (FieldID name, FBase *data, FieldMap &fieldAlias)
 
bool findField (FBase *data)
 Find a field by its pointer. More...
 
bool findFieldAlias (const FieldID name)
 Find a field by its name. More...
 
bool findFieldAlias (const FieldID name, FieldMap &fieldAlias)
 Find a field in fieldAlias by its name This function is typically called by other functions. More...
 
bool removeField (FBase *data)
 Remove a field by its pointer. More...
 
bool removeFieldAlias (const FieldID name)
 Remove a field by its name. More...
 
bool removeFieldAlias (const FieldID name, FieldMap &fieldAlias)
 
FBasegetField (const FieldID name)
 Return a field by its name. More...
 
std::vector< FBase * > & getAllFields ()
 
virtual bool attachField (FBase *field, std::string name, std::string desc, bool autoDestroy=true)
 Attach a field to Base. More...
 
template<typename T >
TgetField (FieldID name)
 
bool isAllFieldsReady ()
 Check the completeness of all required fields. More...
 
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 ()
 

Public Attributes

JointList m_jointMap
 
std::vector< JCapsulem_capLists
 
std::vector< Quat< Real > > m_T
 
std::vector< Quat< Real > > m_R
 
std::vector< Capsule3DmHostCap3D
 
int m_numCaps = 0
 
int m_numjoints = 0
 
- Public Attributes inherited from dyno::Node
std::string m_node_name
 

Protected Member Functions

void resetStates () override
 
void updateTopology () 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 void resetStates ()
 
virtual bool validateInputs ()
 
void tick ()
 notify all state and output fields are updated More...
 

Protected Attributes

ofbx::ISceneg_scene = nullptr
 
- Protected Attributes inherited from dyno::OBase
std::vector< FBase * > fields_input
 
std::vector< FBase * > fields_output
 
std::vector< FBase * > fields_param
 

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. More...
 

Detailed Description

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

Load a Skeleton.

Definition at line 34 of file SkeletonLoader.h.

Member Typedef Documentation

◆ Coord

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

Definition at line 39 of file SkeletonLoader.h.

◆ JointList

template<typename TDataType >
typedef std::vector<std::shared_ptr<JointTree<typename TDataType> > > dyno::SkeletonLoader< TDataType >::JointList

Definition at line 41 of file SkeletonLoader.h.

◆ Real

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

Definition at line 38 of file SkeletonLoader.h.

Constructor & Destructor Documentation

◆ SkeletonLoader()

template<typename TDataType >
dyno::SkeletonLoader< TDataType >::SkeletonLoader

Definition at line 10 of file SkeletonLoader.cpp.

◆ ~SkeletonLoader()

template<typename TDataType >
dyno::SkeletonLoader< TDataType >::~SkeletonLoader
virtual

Definition at line 18 of file SkeletonLoader.cpp.

Member Function Documentation

◆ copyVec()

template<typename TDataType >
void dyno::SkeletonLoader< TDataType >::copyVec ( Coord dest,
ofbx::Vec3  src 
)
inline

Definition at line 63 of file SkeletonLoader.h.

◆ copyVecR()

template<typename TDataType >
void dyno::SkeletonLoader< TDataType >::copyVecR ( Coord dest,
ofbx::Vec3  src 
)
inline

Definition at line 64 of file SkeletonLoader.h.

◆ copyVecT()

template<typename TDataType >
void dyno::SkeletonLoader< TDataType >::copyVecT ( Coord dest,
ofbx::Vec3  src 
)
inline

Definition at line 65 of file SkeletonLoader.h.

◆ DEF_ARRAY_OUT() [1/5]

template<typename TDataType >
dyno::SkeletonLoader< TDataType >::DEF_ARRAY_OUT ( Coord  ,
PosU  ,
DeviceType::GPU  ,
"Capsule <V, U> U position"   
)

◆ DEF_ARRAY_OUT() [2/5]

template<typename TDataType >
dyno::SkeletonLoader< TDataType >::DEF_ARRAY_OUT ( Coord  ,
PosV  ,
DeviceType::GPU  ,
"Capsule <V, U> V position"   
)

◆ DEF_ARRAY_OUT() [3/5]

template<typename TDataType >
dyno::SkeletonLoader< TDataType >::DEF_ARRAY_OUT ( JCapsule  ,
Capsule  ,
DeviceType::GPU  ,
"Capsule <V, U> Detail"   
)

◆ DEF_ARRAY_OUT() [4/5]

template<typename TDataType >
dyno::SkeletonLoader< TDataType >::DEF_ARRAY_OUT ( Quat< Real ,
Rotate  ,
DeviceType::GPU  ,
"Capsule Rotate"   
)

◆ DEF_ARRAY_OUT() [5/5]

template<typename TDataType >
dyno::SkeletonLoader< TDataType >::DEF_ARRAY_OUT ( Quat< Real ,
Translate  ,
DeviceType::GPU  ,
"Capsule Translate"   
)

◆ DEF_INSTANCE_STATE()

template<typename TDataType >
dyno::SkeletonLoader< TDataType >::DEF_INSTANCE_STATE ( TopologyModule  ,
Topology  ,
"Topology"   
)

Capsule Topology.

◆ DEF_VAR()

template<typename TDataType >
dyno::SkeletonLoader< TDataType >::DEF_VAR ( FilePath  ,
FileName  ,
""  ,
""   
)

FBX file.

◆ getAnimationCurve()

template<typename TDataType >
void dyno::SkeletonLoader< TDataType >::getAnimationCurve ( const ofbx::Object object,
std::shared_ptr< JointTree< TDataType > >  parent 
)

Definition at line 46 of file SkeletonLoader.cpp.

◆ getCenterQuat()

template<typename TDataType >
void dyno::SkeletonLoader< TDataType >::getCenterQuat ( Coord  v0,
Coord  v1,
Quat< Real > &  T,
Quat< Real > &  R 
)

Definition at line 172 of file SkeletonLoader.cpp.

Here is the call graph for this function:

◆ getJointMap()

template<typename TDataType >
JointList dyno::SkeletonLoader< TDataType >::getJointMap ( )
inline

Definition at line 47 of file SkeletonLoader.h.

◆ getLimbNode()

template<typename TDataType >
void dyno::SkeletonLoader< TDataType >::getLimbNode ( const ofbx::Object object,
std::shared_ptr< JointTree< TDataType > >  parent 
)

Definition at line 120 of file SkeletonLoader.cpp.

◆ getModelProperties()

template<typename TDataType >
void dyno::SkeletonLoader< TDataType >::getModelProperties ( const ofbx::Object object,
std::shared_ptr< JointTree< TDataType > >  cur 
)

Definition at line 102 of file SkeletonLoader.cpp.

◆ getNodes()

template<typename TDataType >
void dyno::SkeletonLoader< TDataType >::getNodes ( const ofbx::IScene scene)

Definition at line 147 of file SkeletonLoader.cpp.

Here is the call graph for this function:

◆ initFBX()

template<typename TDataType >
bool dyno::SkeletonLoader< TDataType >::initFBX ( const char *  filepath)

Definition at line 24 of file SkeletonLoader.cpp.

Here is the call graph for this function:

◆ loadFBX()

template<typename TDataType >
void dyno::SkeletonLoader< TDataType >::loadFBX

Definition at line 161 of file SkeletonLoader.cpp.

◆ resetStates()

template<typename TDataType >
void dyno::SkeletonLoader< TDataType >::resetStates
overrideprotectedvirtual

Reimplemented from dyno::Node.

Definition at line 221 of file SkeletonLoader.cpp.

◆ scale()

template<typename TDataType >
bool dyno::SkeletonLoader< TDataType >::scale ( Real  s)

Definition at line 204 of file SkeletonLoader.cpp.

◆ setJointMap()

template<typename TDataType >
void dyno::SkeletonLoader< TDataType >::setJointMap ( JointList jointMap)
inline

Definition at line 46 of file SkeletonLoader.h.

◆ translate()

template<typename TDataType >
bool dyno::SkeletonLoader< TDataType >::translate ( Coord  t)

Definition at line 212 of file SkeletonLoader.cpp.

◆ updateTopology()

template<typename TDataType >
void dyno::SkeletonLoader< TDataType >::updateTopology
overrideprotectedvirtual

Reimplemented from dyno::Node.

Definition at line 315 of file SkeletonLoader.cpp.

Member Data Documentation

◆ g_scene

template<typename TDataType >
ofbx::IScene* dyno::SkeletonLoader< TDataType >::g_scene = nullptr
protected

Definition at line 108 of file SkeletonLoader.h.

◆ m_capLists

template<typename TDataType >
std::vector<JCapsule> dyno::SkeletonLoader< TDataType >::m_capLists

Definition at line 93 of file SkeletonLoader.h.

◆ m_jointMap

template<typename TDataType >
JointList dyno::SkeletonLoader< TDataType >::m_jointMap

Definition at line 90 of file SkeletonLoader.h.

◆ m_numCaps

template<typename TDataType >
int dyno::SkeletonLoader< TDataType >::m_numCaps = 0

Definition at line 101 of file SkeletonLoader.h.

◆ m_numjoints

template<typename TDataType >
int dyno::SkeletonLoader< TDataType >::m_numjoints = 0

Definition at line 102 of file SkeletonLoader.h.

◆ m_R

template<typename TDataType >
std::vector<Quat<Real> > dyno::SkeletonLoader< TDataType >::m_R

Definition at line 95 of file SkeletonLoader.h.

◆ m_T

template<typename TDataType >
std::vector<Quat<Real> > dyno::SkeletonLoader< TDataType >::m_T

Definition at line 94 of file SkeletonLoader.h.

◆ mHostCap3D

template<typename TDataType >
std::vector<Capsule3D> dyno::SkeletonLoader< TDataType >::mHostCap3D

Definition at line 97 of file SkeletonLoader.h.


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