![]() |
An open-source, flexible 3D physical simulation framework
|
"NodeManagerInterface" declares the interfaces for all NodeOperations that are used for the communication between the simulation modules. More...
#include <NodeManagerInterface.h>
Public Member Functions | |
virtual | ~NodeManagerInterface () |
virtual NodeId | addNode (NodeData *nodeS, bool reload=false, bool loadGraphics=true)=0 |
Add a node to the node pool of the simulation. More... | |
virtual NodeId | createPrimitiveNode (const std::string &name, NodeType type, bool movable=false, const utils::Vector &pos=utils::Vector::Zero(), const utils::Vector &extension=utils::Vector::Identity(), double mass=0, const utils::Quaternion &orientation=utils::Quaternion::Identity(), bool disablePhysics=false)=0 |
virtual NodeId | addTerrain (terrainStruct *terrainS)=0 |
Add a terrain node to the node pool of the simulation. More... | |
virtual std::vector< NodeId > | addNode (std::vector< NodeData > v_NodeData)=0 |
Add a vector of nodes to the node pool of the simulation. More... | |
virtual NodeId | addPrimitive (NodeData *snode)=0 |
Add a node of type primitive to the node pool of the simulation. More... | |
virtual bool | exists (NodeId id) const =0 |
Returns true, if the node with the given id exists. More... | |
virtual int | getNodeCount () const =0 |
Returns the number of nodes that are added to the simulation. More... | |
virtual NodeId | getNextNodeID () const =0 |
Returns the ID for the next node which will be added to the simulation. More... | |
virtual void | editNode (NodeData *nodeS, int changes)=0 |
This function supports the possibility to change some properties of a node. More... | |
virtual void | changeGroup (NodeId id, int group)=0 |
This function is not implemented yet. More... | |
virtual void | getListNodes (std::vector< core_objects_exchange > *nodeList) const =0 |
Gives information about core exchange data for nodes. More... | |
virtual void | getNodeExchange (NodeId id, core_objects_exchange *obj) const =0 |
Gives information about core exchange data for a certain node. More... | |
virtual const NodeData | getFullNode (NodeId id) const =0 |
Gives all information of a certain node. More... | |
virtual void | removeNode (NodeId id, bool clearGraphics=true)=0 |
Removes a node from the simulation. More... | |
virtual void | setNodeState (NodeId id, const nodeState &state)=0 |
Set a state of a node. More... | |
virtual void | getNodeState (NodeId id, nodeState *state) const =0 |
virtual const utils::Vector | getCenterOfMass (const std::vector< NodeId > &ids) const =0 |
Gives the center of mass of a set of nodes. More... | |
virtual const utils::Vector | setReloadExtent (NodeId id, const utils::Vector &ext)=0 |
Sets the new size of a node after a reset of the simulation. More... | |
virtual void | setReloadPosition (NodeId id, const utils::Vector &pos)=0 |
Sets the new position of a node after a reset of the simulation. More... | |
virtual void | setReloadFriction (NodeId id, sReal friction1, sReal friction2)=0 |
Sets the new contact friction of a node after a reset of the simulation. More... | |
virtual void | setPosition (NodeId id, const utils::Vector &pos)=0 |
Sets the current position of a node. More... | |
virtual const utils::Vector | getPosition (NodeId id) const =0 |
Returns the current position of a node. More... | |
virtual const utils::Quaternion | getRotation (NodeId id) const =0 |
Returns the current orientation of a node. More... | |
virtual void | setRotation (NodeId id, const utils::Quaternion &rot)=0 |
Sets the current orientation of a node. More... | |
virtual const utils::Vector | getLinearVelocity (NodeId id) const =0 |
Gets the current linear velocity of a node. More... | |
virtual const utils::Vector | getAngularVelocity (NodeId id) const =0 |
Gets the current angular velocity of a node. More... | |
virtual const utils::Vector | getLinearAcceleration (NodeId id) const =0 |
Gets the current linear acceleration of a node. More... | |
virtual const utils::Vector | getAngularAcceleration (NodeId id) const =0 |
Gets the current angular/rotational acceleration of a node. More... | |
virtual void | applyForce (NodeId id, const utils::Vector &force, const utils::Vector &pos)=0 |
Applies a off-center force to a physical node. More... | |
virtual void | applyForce (NodeId id, const utils::Vector &force)=0 |
Applies a force to a physical node. More... | |
virtual void | applyTorque (NodeId id, const utils::Vector &torque)=0 |
Applies a torque to a physical node. More... | |
virtual void | setContactParamMotion1 (NodeId id, sReal motion)=0 |
Sets a specific contact parameter; the motion of the contact. More... | |
virtual void | addNodeSensor (BaseNodeSensor *sensor)=0 |
This function is used to add sensor to a node that need more specific physical implementations. More... | |
virtual void | reloadNodeSensor (BaseNodeSensor *sensor)=0 |
This function resets a added sensor by removing it and add a new defined by the sensor config struct. More... | |
virtual sim::SimNode * | getSimNode (NodeId id)=0 |
This function returns the SimNode object for a given id. More... | |
virtual const sim::SimNode * | getSimNode (NodeId id) const =0 |
virtual void | reloadNodes (bool reloadGraphics)=0 |
This function reloads all node from a temporally NodeData pool. More... | |
virtual void | updateDynamicNodes (sReal calc_ms, bool physics_thread=true)=0 |
Updates the node values of dynamic nodes from the physics. More... | |
virtual void | clearAllNodes (bool clear_all=false, bool clearGraphics=true)=0 |
This function destroys all nodes within the simulation. More... | |
virtual void | setReloadAngle (NodeId id, const utils::sRotation &angle)=0 |
Sets the new orientation of a node after a reset of the simulation. More... | |
virtual void | setContactParams (NodeId id, const contact_params &cp)=0 |
Sets the contact properties of the node. More... | |
virtual const contact_params | getContactParams (NodeId id) const =0 |
Returns the contact properties of a certain node. More... | |
virtual void | setVelocity (NodeId id, const utils::Vector &vel)=0 |
Sets the linear velocity of a node. More... | |
virtual void | setAngularVelocity (NodeId id, const utils::Vector &vel)=0 |
Sets the angular velocity of a node. More... | |
virtual void | scaleReloadNodes (sReal x, sReal y, sReal z)=0 |
Scales the size of all node after a reset of the simulation. More... | |
virtual void | getNodeMass (NodeId id, sReal *mass, sReal *inertia=0) const =0 |
Returns the mass and inertia of a certain node. More... | |
virtual void | setAngularDamping (NodeId id, sReal damping)=0 |
Sets a angular damping factor to the node dynamics. More... | |
virtual void | addRotation (NodeId id, const utils::Quaternion &q)=0 |
Adds a additional rotation to the orientation of a node. More... | |
virtual void | setReloadQuaternion (NodeId id, const utils::Quaternion &q)=0 |
Sets the new orientation of a node after a reset of the simulation. More... | |
virtual void | exportGraphicNodesByID (const std::string &folder) const =0 |
If a graphicsManager is loaded, exports the graphical models of all nodes. More... | |
virtual std::vector< NodeId > | getConnectedNodes (NodeId id)=0 |
virtual void | getContactPoints (std::vector< NodeId > *ids, std::vector< utils::Vector > *contact_points) const =0 |
virtual void | updateRay (NodeId id)=0 |
virtual NodeId | getDrawID (NodeId id) const =0 |
virtual void | setVisualRep (NodeId id, int val)=0 |
virtual const utils::Vector | getContactForce (NodeId id) const =0 |
virtual NodeId | getID (const std::string &node_name) const =0 |
Retrieve the id of a node by name. More... | |
virtual double | getCollisionDepth (NodeId id) const =0 |
virtual bool | getDataBrokerNames (NodeId id, std::string *groupName, std::string *dataName) const =0 |
Retrieves the groupName and dataName under which the node with the specified id publishes its data in the DataBroker. More... | |
virtual void | setVisualQOffset (NodeId id, const utils::Quaternion &q)=0 |
virtual void | updatePR (unsigned long id, const utils::Vector &pos, const utils::Quaternion &rot, const utils::Vector &visOffsetPos, const utils::Quaternion &visOffsetRot, bool doLock=true)=0 |
virtual bool | getIsMovable (NodeId id) const =0 |
virtual void | setIsMovable (NodeId id, bool isMovable)=0 |
virtual void | lock ()=0 |
virtual void | unlock ()=0 |
virtual void | rotateNode (NodeId id, utils::Vector pivot, utils::Quaternion q, unsigned long excludeJointId, bool includeConnected=true)=0 |
Rotates the specified node according to the provided quaternion. More... | |
virtual void | positionNode (NodeId id, utils::Vector pos, unsigned long excludeJointId)=0 |
Positions the node according to the provided vector. More... | |
virtual unsigned long | getMaxGroupID ()=0 |
virtual void | printNodeMasses (bool onlysum)=0 |
virtual void | edit (NodeId id, const std::string &key, const std::string &value)=0 |
Edit a node property by giving a key and value. More... | |
"NodeManagerInterface" declares the interfaces for all NodeOperations that are used for the communication between the simulation modules.
Definition at line 59 of file NodeManagerInterface.h.
|
inlinevirtual |
Definition at line 61 of file NodeManagerInterface.h.
|
pure virtual |
Add a node to the node pool of the simulation.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
nodeS | Is a pointer to the NodeData that defines the new node. |
Generally the default value should be used.
reload | This param is used internally by the simulation. The default value is false . If this param is set to true the new node will not be reloaded by a reset of the simulation. But a simulation reset only destroys the physical representation of all nodes. Thus a node created with this param set to true will produce visual waste if the node is not removed manually before reseting the simulation. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Add a vector of nodes to the node pool of the simulation.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
v_NodeData | Is a vector of NodeDatas that have to be added to the simulation. In this method, the addNode function above is called indirectly for every NodeData of the vector. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
This function is used to add sensor to a node that need more specific physical implementations.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
Right now, this method is used to add range sensors to the simulation by adding a necessary sensor configuration to a node.
id | The id of the node to add a sensor. |
s_cfg | The sensor configuration struct. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Add a node of type primitive to the node pool of the simulation.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
snode | The NodeData that defines the node to be added. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Adds a additional rotation to the orientation of a node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to add the rotation. |
q | The rotation to be added (see Quaternion). |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Add a terrain node to the node pool of the simulation.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
terrainS | Is a pointer to the terrainStruct that defines the new terrain node. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Applies a off-center force to a physical node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
This function applies forces to the simulation, which can produce instability if it is done with a high frequency.
id | The id of the node to apply a force. |
force | A Vector that defines the direction and the strength (length of the vector) of the force to be applied. |
pos | The force is applied to the given position. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Applies a force to a physical node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
This function applies forces to the simulation, which can produce instability if it is done with a high frequency.
id | The id of the node to apply a force. |
force | A Vector that defines the direction and the strength (length of the vector) of the force to be applied. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Applies a torque to a physical node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
This function applies forces to the simulation, which can produce instability if it is done with a high frequency.
id | The id of the node to apply a torque. |
force | A Vector that defines the axis and the strength (length of the vector) of the torque to be applied. The torque will be applied at. the center of mass of the node. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
This function is not implemented yet.
To change a group of a node it has to be removed and added again with a new group_id.
Implemented in mars::sim::NodeManager.
|
pure virtual |
This function destroys all nodes within the simulation.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Edit a node property by giving a key and value.
id | The id of the node to be edit. |
key | Defines the key in the ConfigMap. Could also include the path, in the end pattern matching is used. |
value | String containing the value. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
This function supports the possibility to change some properties of a node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
nodeS | The NodeData refereed by this pointer have to store the node_id of the node to edit and the properties that have to be changed. Which properties have to be changed is given by the next param. |
changes | This parameter defines what properties of the node have to be edited. Possible options are:
|
Implemented in mars::sim::NodeManager.
|
pure virtual |
Returns true, if the node with the given id exists.
id | The id of the node to look for. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
If a graphicsManager is loaded, exports the graphical models of all nodes.
Every node is exported by its id to a seperated file into the given folder.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
folder | The folder where to exort the models. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Gets the current angular/rotational acceleration of a node.
id | The id of the node to get the angular/rotational acceleration from. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Gets the current angular velocity of a node.
id | The id of the node to get the angular/rotational velocity from. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Gives the center of mass of a set of nodes.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
ids | This vector defines the ids of the nodes that will be included into the calculation of the center of mass. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Returns the contact properties of a certain node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to get the contact properties from. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Retrieves the groupName and dataName under which the node with the specified id publishes its data in the DataBroker.
true
if the names were successfully retrieved. false
if no node with the given id exists. Implemented in mars::sim::NodeManager.
Implemented in mars::sim::NodeManager.
|
pure virtual |
Gives all information of a certain node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The unique id of the node to get information from. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Retrieve the id of a node by name.
node_name | Name of the node to get the id for |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Gets the current linear acceleration of a node.
id | The id of the node to get the acceleration from. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Gets the current linear velocity of a node.
id | The id of the node to get the velocity from. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Gives information about core exchange data for nodes.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
nodeList | A pointer to a vector that is filled with a core_objects_exchange struct for every node. The vector is cleared in the beginning of this function. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Returns the ID for the next node which will be added to the simulation.
It is very important to assure the serializaion between the threads to have the desired results. This function should be thread save.
Implemented in mars::sim::NodeManager.
|
pure virtual |
Returns the number of nodes that are added to the simulation.
It is very important to assure the serializaion between the threads to have the desired results. This function should be thread save.
Implemented in mars::sim::NodeManager.
|
pure virtual |
Gives information about core exchange data for a certain node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The unique id of the node to get information from. |
obj | A pointer to a core_objects_exchange struct that will be filled with a the core exchange data of the node with the given id. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Returns the mass and inertia of a certain node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to get the mass information from. |
mass | A pointer to the sReal variable, where the mass will be stored. |
inertia | A pointer to a sReal array with a dimension of 9. If the pointer is unequal 0, the inertia information will be stored in this array. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Returns the current position of a node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to get the position from. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Returns the current orientation of a node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to get the orientation from. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
This function returns the SimNode object for a given id.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to get the core node object. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Positions the node according to the provided vector.
id | The id of the node to be moved. |
pos | The utils::Vector defining the new position of the node. |
excludeJointId | ? |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
This function reloads all node from a temporally NodeData pool.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
Implemented in mars::sim::NodeManager.
|
pure virtual |
This function resets a added sensor by removing it and add a new defined by the sensor config struct.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
This method is implemented for a special case where the distance sensors have to be reconfigured. Don't know if it's used right now (maybe in the A3 project).
id | The id of the node to reload a sensor. |
s_cfg | The sensor configuration struct. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Removes a node from the simulation.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The unique id of the node to remove form the simulation. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Rotates the specified node according to the provided quaternion.
id | The id of the node to be rotated. |
pivot | The utils::Vector defining the pivot point around which to rotate. |
q | The utils::Quaternion defining the rotation vector and angle. |
excludeJointId | ? |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Scales the size of all node after a reset of the simulation.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
factor | The scaling factor for the size of the nodes. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Sets a angular damping factor to the node dynamics.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to add the angular damping. |
damping | Factor to multiply with the velocity of the node after every simulation step. The value should be between 0 and 1, while 0 means no damping and 1 the maximum damping. ![]() |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Sets the angular velocity of a node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to edit. |
vel | The new angular velocity of the node. The vector describes the axis of the rotation and the angular velocity (length of the vector). |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Sets a specific contact parameter; the motion of the contact.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
This contact parameter must be enabled by the contact_params of the node first. If it is enabled, it can be used to simulate effects like a convener belt.
id | The id of the node to set the motion contact parameter. |
motion | The velocity to set for the contact motion. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Sets the contact properties of the node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to edit. |
pos | The contact parameter struct. For detailed information see contact_params. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Set a state of a node.
yet ##
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to edit. |
state | The new state of the node. Currently the angular and linear velocity of the state is applied to the node. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Sets the current position of a node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to edit. |
pos | The new position of the node. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Sets the new orientation of a node after a reset of the simulation.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to edit. |
angle | The new orientation given in euler angles. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Sets the new size of a node after a reset of the simulation.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to edit. |
ext | The new size of the node. For more information of how the vector is interpreted by the simulation see NodeData::ext. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Sets the new contact friction of a node after a reset of the simulation.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to edit. |
friction1 | The new contact friction coefficient for the first friction direction. |
friction2 | The new contact friction coefficient for the second friction direction. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Sets the new position of a node after a reset of the simulation.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to edit. |
pos | The new position of the node. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Sets the new orientation of a node after a reset of the simulation.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to edit. |
q | The new orientation given as quaternion. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Sets the current orientation of a node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to edit. |
rot | The new orientation of the node. |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Sets the linear velocity of a node.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
id | The id of the node to edit. |
vel | The new linear velocity of the node. The vector describes the direction and the velocity (length of the vector). |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Updates the node values of dynamic nodes from the physics.
It is very important to assure the serialization between the threads to have the desired results. Currently the verified use of this function is only guaranteed by calling it within the main thread (update callback from gui_thread
).
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.
|
pure virtual |
Implemented in mars::sim::NodeManager.