![]() |
PeriDyno 1.2.1
|
#include <Node.h>


Public Types | |
| 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 | |
| Node () | |
| ~Node () override | |
| void | setName (std::string name) |
| std::string | getName () override |
| virtual std::string | getNodeType () |
| 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) |
| SceneGraph * | getSceneGraph () |
| 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< Module > | getModule (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< Pipeline > | resetPipeline () |
| std::shared_ptr< AnimationPipeline > | animationPipeline () |
| std::shared_ptr< GraphicsPipeline > | graphicsPipeline () |
| 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) |
| FBase * | getField (const FieldID name) |
| Return a field by its name. | |
| std::vector< FBase * > & | getAllFields () |
| 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 () |
Public Member Functions inherited from dyno::Object | |
| Object () | |
| virtual | ~Object () |
| ObjectId | objectId () |
Public Attributes | |
| std::string | m_node_name |
Protected Member Functions | |
| 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 () |
| virtual bool | requireUpdate () |
| void | tick () |
| notify all state and output fields are updated | |
Private Member Functions | |
| bool | addNodePort (NodePort *port) |
| bool | addToModuleList (std::shared_ptr< Module > module) |
| bool | deleteFromModuleList (std::shared_ptr< Module > module) |
Private Attributes | |
| bool | mAutoSync = false |
| A parameter to control whether the node can be updated automatically by its ancestor. | |
| bool | mPhysicsEnabled = true |
| bool | mRenderingEnabled = true |
| bool | mExported = true |
| bool | mForceUpdate = true |
| bool | mAutoHidden = false |
| Real | mDt |
| Time step size. | |
| std::list< std::shared_ptr< Module > > | mModuleList |
| A module list containing all modules. | |
| std::shared_ptr< Pipeline > | mResetPipeline |
| Pointer of the pipeline. | |
| std::shared_ptr< AnimationPipeline > | mAnimationPipeline |
| std::shared_ptr< GraphicsPipeline > | mGraphicsPipeline |
| std::vector< NodePort * > | mImportNodes |
| std::vector< NodePort * > | mExportNodes |
| SceneGraph * | mSceneGraph = nullptr |
Friends | |
| class | NodePort |
Additional Inherited Members | |
Static Public Member Functions inherited from dyno::Object | |
| static bool | registerClass (ClassInfo *ci) |
| static Object * | createObject (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 |
| using dyno::Node::SPtr = std::shared_ptr<T> |
| dyno::Node::Node | ( | ) |
|
override |
| bool dyno::Node::addModule | ( | std::shared_ptr< Module > | module | ) |
Add a module to m_module_list and other special module lists.
| module | module should be created before calling this function |
Definition at line 356 of file Node.cpp.


|
inline |
|
inline |
|
private |
|
private |
| std::shared_ptr< AnimationPipeline > dyno::Node::animationPipeline | ( | ) |
|
protected |
|
overridevirtual |
Attach a field to Node.
| field | Field pointer |
| name | Field name |
| desc | Field description |
| autoDestroy | The field will be destroyed by Base if true, otherwise, the field should be explicitly destroyed by its creator. |
Reimplemented from dyno::OBase.
Definition at line 484 of file Node.cpp.

|
virtual |
| bool dyno::Node::connect | ( | NodePort * | nPort | ) |
| dyno::Node::DEF_VAR_STATE | ( | Real | , |
| ElapsedTime | , | ||
| 0 | , | ||
| "Elapsed Time" | ) |
| dyno::Node::DEF_VAR_STATE | ( | uint | , |
| FrameNumber | , | ||
| 0 | , | ||
| "Frame number" | ) |
|
private |
| bool dyno::Node::deleteModule | ( | std::shared_ptr< Module > | module | ) |
|
inline |
| bool dyno::Node::disconnect | ( | NodePort * | nPort | ) |
|
inline |
|
virtual |
Simulation timestep.
Reimplemented in dyno::ParticleSystem< TDataType >.
Definition at line 84 of file Node.cpp.

|
inline |
|
inline |
|
inline |
Get the Module by the module class name.
| TModule | Module class name |
Definition at line 168 of file Node.h.


| std::shared_ptr< Module > dyno::Node::getModule | ( | std::string | name | ) |
|
inline |
|
inline |
|
overridevirtual |
Reimplemented from dyno::OBase.
Definition at line 34 of file Node.cpp.

|
virtual |
Reimplemented in dyno::AdaptiveBoundary< TDataType >, dyno::BasicShape< TDataType >, dyno::CapillaryWave< TDataType >, dyno::CollisionDetector< TDataType >, dyno::EdgePickerNode< TDataType >, dyno::GLCommonPointVisualNode< TDataType >, dyno::GLInstanceVisualNode< TDataType >, dyno::GLPointVisualNode< TDataType >, dyno::GLSurfaceVisualNode< TDataType >, dyno::GltfLoader< TDataType >, dyno::GLWireframeVisualNode< TDataType >, dyno::MarchingCubes< TDataType >, dyno::ModelEditing< TDataType >, dyno::NormalVisualization< TDataType >, dyno::OceanBase< TDataType >, dyno::OceanPatch< TDataType >, dyno::ParticleEmitter< TDataType >, dyno::ParticleEmitter< TDataType >, dyno::ParticleSystem< TDataType >, dyno::ParticleSystem< TDataType >, dyno::Peridynamics< TDataType >, dyno::PointPickerNode< TDataType >, dyno::QuadPickerNode< TDataType >, dyno::RigidBody< TDataType >, dyno::RigidBodySystem< TDataType >, dyno::RigidWaterCoupling< TDataType >, dyno::Sampler< TDataType >, dyno::SparseMarchingCubes< TDataType >, dyno::SparseVolumeClipper< TDataType >, dyno::StaticMeshLoader< TDataType >, dyno::TextureMeshLoader, dyno::TrianglePickerNode< TDataType >, dyno::VectorVisualNode< TDataType >, dyno::Vessel< TDataType >, dyno::Volume< TDataType >, dyno::VolumeBoolean< TDataType >, dyno::VolumeBoundary< TDataType >, dyno::VolumeClipper< TDataType >, and dyno::VolumeOctree< TDataType >.
| SceneGraph * dyno::Node::getSceneGraph | ( | ) |
| std::shared_ptr< GraphicsPipeline > dyno::Node::graphicsPipeline | ( | ) |
| bool dyno::Node::hasModule | ( | std::string | name | ) |
|
virtual |
|
virtual |
|
protectedvirtual |
Reimplemented in dyno::DualParticleFluid< TDataType >, dyno::GhostFluid< TDataType >, dyno::MultibodySystem< TDataType >, dyno::OceanPatch< TDataType >, dyno::ParticleFluid< TDataType >, dyno::ParticleSystem< TDataType >, dyno::RigidBodySystem< TDataType >, dyno::SemiAnalyticalSFINode< TDataType >, dyno::TriangularMeshBoundary< TDataType >, and dyno::TriangularSystem< TDataType >.
Definition at line 192 of file Node.cpp.

|
protectedvirtual |
Reimplemented in dyno::Cloth< TDataType >, dyno::CodimensionalPD< TDataType >, dyno::DualParticleFluid< TDataType >, dyno::GhostFluid< TDataType >, dyno::Merge< TDataType >, dyno::ParticleFluid< TDataType >, dyno::ParticleFluid< TDataType >, dyno::ParticleRelaxtionOnMesh< TDataType >, dyno::ParticleSkinning< TDataType >, dyno::SemiAnalyticalSFINode< TDataType >, and dyno::TriangularMeshBoundary< TDataType >.
Definition at line 127 of file Node.cpp.

|
protected |
|
protectedvirtual |
| void dyno::Node::reset | ( | ) |
| std::shared_ptr< Pipeline > dyno::Node::resetPipeline | ( | ) |
|
protectedvirtual |
Reimplemented in dyno::ArticulatedBody< TDataType >, dyno::BasicShapeToVolume< TDataType >, dyno::CapillaryWave< TDataType >, dyno::CapsuleModel< TDataType >, dyno::CircularEmitter< TDataType >, dyno::Cloth< TDataType >, dyno::CodimensionalPD< TDataType >, dyno::CollisionDetector< TDataType >, dyno::ConeModel< TDataType >, dyno::ConfigurableBody< TDataType >, dyno::ConvertToTextureMesh< TDataType >, dyno::CopyModel< TDataType >, dyno::CopyToPoint< TDataType >, dyno::CubeModel< TDataType >, dyno::CylinderModel< TDataType >, dyno::DevicePoissonDiskSampler< TDataType >, dyno::DualParticleFluid< TDataType >, dyno::EarClipper< TDataType >, dyno::EdgePickerNode< TDataType >, dyno::EditableMesh< TDataType >, dyno::ExtractShape< TDataType >, dyno::ExtractTriangleSets< TDataType >, dyno::ExtrudeModel< TDataType >, dyno::Gear< TDataType >, dyno::GhostFluid< TDataType >, dyno::GhostParticles< TDataType >, dyno::GLCommonPointVisualNode< TDataType >, dyno::GLInstanceVisualNode< TDataType >, dyno::GLPointVisualNode< TDataType >, dyno::GLSurfaceVisualNode< TDataType >, dyno::GltfLoader< TDataType >, dyno::GLWireframeVisualNode< TDataType >, dyno::GranularMedia< TDataType >, dyno::Group< TDataType >, dyno::HyperelasticBody< TDataType >, dyno::Jeep< TDataType >, dyno::JointDeform< TDataType >, dyno::LandScape< TDataType >, dyno::LargeOcean< TDataType >, dyno::MakeGhostParticles< TDataType >, dyno::MakeParticleSystem< TDataType >, dyno::MarchingCubes< TDataType >, dyno::Merge< TDataType >, dyno::MergeSimplexSet< TDataType >, dyno::MergeTriangleSet< TDataType >, dyno::MountainTorrents< TDataType >, dyno::MultibodySystem< TDataType >, dyno::NormalVisualization< TDataType >, dyno::Ocean< TDataType >, dyno::OceanPatch< TDataType >, dyno::ParticleEmitter< TDataType >, dyno::ParticleFluid< TDataType >, dyno::ParticleFluid< TDataType >, dyno::ParticleRelaxtionOnMesh< TDataType >, dyno::ParticleSkinning< TDataType >, dyno::ParticleSystem< TDataType >, dyno::ParticleSystem< TDataType >, dyno::Peridynamics< TDataType >, dyno::PlaneModel< TDataType >, dyno::PointClip< TDataType >, dyno::PointFromCurve< TDataType >, dyno::PointPickerNode< TDataType >, dyno::PointsBehindMesh< TDataType >, dyno::PointSetToTriangleSet< TDataType >, dyno::PointsLoader< TDataType >, dyno::PoissonDiskSampler< TDataType >, dyno::PoissonEmitter< TDataType >, dyno::PolyExtrude< TDataType >, dyno::PolygonSetToTriangleSetNode< TDataType >, dyno::QuadPickerNode< TDataType >, dyno::RigidBodySystem< TDataType >, dyno::RigidMesh< TDataType >, dyno::RigidSandCoupling< TDataType >, dyno::RigidWaterCoupling< TDataType >, dyno::SdfSampler< TDataType >, dyno::SemiAnalyticalSFINode< TDataType >, dyno::ShapeSampler< TDataType >, dyno::SparseMarchingCubes< TDataType >, dyno::SparseVolumeClipper< TDataType >, dyno::SphereModel< TDataType >, dyno::SplineConstraint< TDataType >, dyno::SplitSimplexSet< TDataType >, dyno::SquareEmitter< TDataType >, dyno::SquareEmitter< TDataType >, dyno::Subdivide< TDataType >, dyno::SurfaceParticleTracking< TDataType >, dyno::SweepModel< TDataType >, dyno::Tank< TDataType >, dyno::TetrahedralSystem< TDataType >, dyno::TextureMeshLoader, dyno::TextureMeshMerge< TDataType >, dyno::TextureMeshToTriangleSetNode< TDataType >, dyno::Thread< TDataType >, dyno::ThreadSystem< TDataType >, dyno::TrackedTank< TDataType >, dyno::TransformModel< TDataType >, dyno::TrianglePickerNode< TDataType >, dyno::TriangleSetToTriangleSets< TDataType >, dyno::TriangularSystem< TDataType >, dyno::TurningModel< TDataType >, dyno::UAV< TDataType >, dyno::UUV< TDataType >, dyno::VectorVisualNode< TDataType >, dyno::Vessel< TDataType >, dyno::VolumeBoolean< TDataType >, dyno::VolumeClipper< TDataType >, dyno::VolumeGenerator< TDataType >, dyno::VolumeLoader< TDataType >, dyno::VolumeOctreeBoolean< TDataType >, and dyno::VolumeOctreeGenerator< TDataType >.
Definition at line 205 of file Node.cpp.


|
virtual |
| void dyno::Node::setAutoHidden | ( | bool | con | ) |
| void dyno::Node::setAutoSync | ( | bool | con | ) |
| void dyno::Node::setDt | ( | Real | dt | ) |
| void dyno::Node::setForceUpdate | ( | bool | b | ) |
| void dyno::Node::setSceneGraph | ( | SceneGraph * | scn | ) |
|
virtual |
|
protected |
| void dyno::Node::update | ( | ) |
| void dyno::Node::updateGraphicsContext | ( | ) |
|
protectedvirtual |
Reimplemented in dyno::AdaptiveBoundary< TDataType >, dyno::ArticulatedBody< TDataType >, dyno::CapillaryWave< TDataType >, dyno::GltfLoader< TDataType >, dyno::GranularMedia< TDataType >, dyno::JointDeform< TDataType >, dyno::LargeOcean< TDataType >, dyno::MarchingCubes< TDataType >, dyno::MergeTriangleSet< TDataType >, dyno::MountainTorrents< TDataType >, dyno::NormalVisualization< TDataType >, dyno::Ocean< TDataType >, dyno::OceanPatch< TDataType >, dyno::ParticleEmitter< TDataType >, dyno::ParticleEmitter< TDataType >, dyno::PointClip< TDataType >, dyno::PointSetToTriangleSet< TDataType >, dyno::PolygonSetToTriangleSetNode< TDataType >, dyno::RigidBody< TDataType >, dyno::RigidMesh< TDataType >, dyno::RigidSandCoupling< TDataType >, dyno::RigidWaterCoupling< TDataType >, dyno::SparseMarchingCubes< TDataType >, dyno::SparseVolumeClipper< TDataType >, dyno::SplineConstraint< TDataType >, dyno::SurfaceParticleTracking< TDataType >, dyno::TextureMeshToTriangleSetNode< TDataType >, dyno::TriangularMeshBoundary< TDataType >, dyno::VectorVisualNode< TDataType >, dyno::Vessel< TDataType >, dyno::VolumeBoundary< TDataType >, dyno::VolumeOctreeBoolean< TDataType >, dyno::VolumeOctreeGenerator< TDataType >, and dyno::Wake< TDataType >.
Definition at line 132 of file Node.cpp.


|
protectedvirtual |
Reimplemented in dyno::CodimensionalPD< TDataType >, dyno::TetrahedralSystem< TDataType >, dyno::ThreadSystem< TDataType >, and dyno::VolumeOctreeGenerator< TDataType >.
Definition at line 467 of file Node.cpp.

|
protectedvirtual |
Reimplemented in dyno::BasicShapeToVolume< TDataType >, dyno::CollisionDetector< TDataType >, dyno::MultibodySystem< TDataType >, dyno::OceanBase< TDataType >, dyno::SdfSampler< TDataType >, dyno::SemiAnalyticalSFINode< TDataType >, dyno::SparseMarchingCubes< TDataType >, dyno::SurfaceParticleTracking< TDataType >, and dyno::VolumeOctreeBoolean< TDataType >.
Definition at line 210 of file Node.cpp.


|
private |
|
private |
|
private |
|
private |
|
private |
|
private |