|
| RigidObjectCollision (std::shared_ptr< RigidObject2 > obj1, std::shared_ptr< CollidingObject > obj2, std::string cdType="") |
|
void | setBaumgarteStabilization (double stiffness) |
|
const double | getBeta () const |
|
void | setFriction (double frictionalCoefficient) |
|
const double | getFriction () const |
|
void | initGraphEdges (std::shared_ptr< TaskNode > source, std::shared_ptr< TaskNode > sink) override |
| Setup connectivity of task graph.
|
|
void | copyVertsToPrevious () |
|
void | measureDisplacementFromPrevious () |
|
void | setCollisionDetection (std::shared_ptr< CollisionDetectionAlgorithm > colDetect) |
|
void | setCollisionHandlingA (std::shared_ptr< CollisionHandling > colHandlingA) |
| Set the Collision Handling for object A.
|
|
void | setCollisionHandlingB (std::shared_ptr< CollisionHandling > colHandlingB) |
| Set the Collision Handling for object B.
|
|
void | setCollisionHandlingAB (std::shared_ptr< CollisionHandling > colHandlingAB) |
| Set the two-way Collision Handling for both objects.
|
|
std::shared_ptr< CollisionDetectionAlgorithm > | getCollisionDetection () const |
|
std::shared_ptr< CollisionHandling > | getCollisionHandlingA () const |
|
std::shared_ptr< CollisionHandling > | getCollisionHandlingB () const |
|
std::shared_ptr< CollisionHandling > | getCollisionHandlingAB () const |
|
std::shared_ptr< TaskNode > | getCollisionDetectionNode () const |
|
std::shared_ptr< TaskNode > | getCollisionHandlingANode () const |
|
std::shared_ptr< TaskNode > | getCollisionHandlingBNode () const |
|
void | updateCollisionGeometry () |
|
void | visualUpdate () override |
| Update the visuals, called before render.
|
|
virtual void | setEnabled (const bool enabled) |
| Enable or disable the interaction, when disabled the interaction isn't executed and no response will happen.
|
|
virtual bool | getEnabled () const |
|
| SceneObject (const std::string &name="SceneObject") |
|
std::shared_ptr< TaskGraph > | getTaskGraph () const |
| Get the computational graph.
|
|
std::shared_ptr< Geometry > | getVisualGeometry () const |
| Sets the visual geometry, adds (sets the first) VisualModel.
|
|
void | setVisualGeometry (std::shared_ptr< Geometry > geometry) |
|
std::shared_ptr< VisualModel > | getVisualModel (const int index) const |
| Get/add visual model.
|
|
void | addVisualModel (std::shared_ptr< VisualModel > visualModel) |
|
void | removeVisualModel (std::shared_ptr< VisualModel > visualModel) |
|
std::shared_ptr< TaskNode > | getUpdateNode () const |
| Returns the computational node for updating.
|
|
std::shared_ptr< TaskNode > | getUpdateGeometryNode () const |
| Returns the computational node for updating geometry.
|
|
virtual void | update () |
| Update the SceneObject, called during scene update.
|
|
virtual void | updateGeometries () |
| Update the geometries.
|
|
virtual bool | initialize () |
| Initialize the scene object.
|
|
void | initGraphEdges () |
| Initializes the edges of the SceneObject's computational graph.
|
|
virtual void | reset () |
|
| Entity (const std::string &name="Entity") |
|
| SIGNAL (Entity, modified) |
|
EntityID | getID () const |
| Get ID (ALWAYS query the ID in your code, DO NOT hardcode it) More...
|
|
virtual const std::string | getTypeName () const |
|
template<typename T > |
std::shared_ptr< T > | addComponent () |
| Create and return a component on this entity.
|
|
template<typename T > |
std::shared_ptr< T > | addComponent (std::string name) |
|
void | addComponent (std::shared_ptr< Component > component) |
| Add existing component to entity.
|
|
std::shared_ptr< Component > | getComponent (const unsigned int index) const |
| Get a component by index.
|
|
template<typename T > |
std::shared_ptr< T > | getComponent () const |
| Get the first component of type T.
|
|
template<typename T > |
std::shared_ptr< T > | getComponentN (const int index) const |
| Get's the Nth component of type T.
|
|
template<class T > |
bool | containsComponent () const |
| Check if contains component of type T.
|
|
bool | containsComponent (std::shared_ptr< Component > component) const |
| Check if contains given component.
|
|
template<typename T > |
std::vector< std::shared_ptr< T > > | getComponents () const |
| Get all components of type T.
|
|
const std::vector< std::shared_ptr< Component > > & | getComponents () |
|
void | removeComponent (std::shared_ptr< Component > component) |
| Remove component if it exists.
|
|
const std::string & | getName () const |
| Get/Set the name of the entity.
|
|
void | setName (const std::string &name) |
|
template<typename T > |
void | postEvent (const T &e) |
| Emits the event Direct observers will be immediately called, in sync Queued observers will receive the Command in their queue for later execution, reciever must implement doEvent.
|
|
template<typename T > |
void | queueEvent (const T &e) |
| Queues event directly to this.
|
|
void | doEvent () |
| Do an event, if none exists return.
|
|
void | doAllEvents () |
| Do all the events in the event queue.
|
|
void | foreachEvent (std::function< void(Command cmd)> func) |
| Thread safe loop over all event commands, one can implement a custom handler.
|
|
void | rforeachEvent (std::function< void(Command cmd)> func) |
| thread safe reverse loop over all event commands, one can implement a custom handler
|
|
void | clearEvents () |
| Removes all events from queue cleans up copies of the event.
|
|
|
std::shared_ptr< TaskNode > | m_copyVertToPrevNode = nullptr |
|
std::shared_ptr< TaskNode > | m_computeDisplacementNode = nullptr |
|
std::shared_ptr< CollidingObject > | m_objA = nullptr |
|
std::shared_ptr< CollidingObject > | m_objB = nullptr |
|
std::shared_ptr< CollisionDetectionAlgorithm > | m_colDetect = nullptr |
| Collision detection algorithm.
|
|
std::shared_ptr< CollisionHandling > | m_colHandlingA = nullptr |
|
std::shared_ptr< CollisionHandling > | m_colHandlingB = nullptr |
|
std::shared_ptr< TaskNode > | m_collisionDetectionNode = nullptr |
|
std::shared_ptr< TaskNode > | m_collisionHandleANode = nullptr |
|
std::shared_ptr< TaskNode > | m_collisionHandleBNode = nullptr |
|
std::shared_ptr< TaskNode > | m_collisionGeometryUpdateNode = nullptr |
|
bool | m_didUpdateThisFrame = false |
|
std::shared_ptr< TaskGraph > | m_taskGraph = nullptr |
| Computational Graph.
|
|
std::vector< std::shared_ptr< Component > > | m_components |
|
EntityID | m_ID |
| unique ID of entity
|
|
std::string | m_name |
| Not unique name.
|
|
ParallelUtils::SpinLock | eventQueueLock |
|
std::deque< Command > | eventQueue |
|
std::vector< std::pair< std::string, std::vector< Observer > > > | queuedObservers |
|
std::vector< std::pair< std::string, std::vector< Observer > > > | directObservers |
|