![]()  | 
  
    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 |