Sofa.Core.BasePrefab
- class Sofa.Core.BasePrefab
Bases:
Node
Base class for prefabs (for more see Sofa.prefab)
- class SearchDirection(self: Sofa.Core.BaseContext.SearchDirection, value: int)
Bases:
pybind11_object
Members:
SearchUp
Local
SearchDown
SearchRoot
SearchParents
- property name
- add(self: Sofa.Core.Node, arg0: object, **kwargs) object
Add an prefab,
Example
def Cube(parentNodes, name="Cube"): cube = parentNode.addChild(name) cube.addObject("MechanicalObject") return cube node.add(Cube, name="MyCube"")
- addChild(*args, **kwargs)
Overloaded function.
addChild(self: Sofa.Core.Node, arg0: str, **kwargs) -> object
Add a new node as a child
- param name
name of the child node to be added
- type name
str
- param kwargs
Extra parameters passed to the created Sofa.Node
- type kwargs
dict
- rtype
the created :class: Sofa.Simulation.Node
addChild(self: Sofa.Core.Node, arg0: Sofa.Core.Node) -> Sofa.Core.Node
Add an existing node as child
- param node
the node to be added
- type node
- class
Sofa.Simulation.Node
- rtype
the added :class: Sofa.Simulation.Node
- addData(*args, **kwargs)
Overloaded function.
addData(self: object, name: str, value: object = None, default: object = None, help: str = ‘’, group: str = ‘’, type: str = ‘’) -> sofa::core::objectmodel::BaseData
Create a data field, then adds it to the base
Note that this method should only be called if the field was not initialized with the initData method
- param self
the base itself
- param name
the name of the data to be added
- param value
the value from which the data can be created
- param help
help message that describes the data to be created
- param group
the group the data belongs to
- param type
the type of the data
- type self
object
- type name
string
- type value
object
- type help
string
- type group
string
- type type
string
addData(self: Sofa.Core.Base, arg0: object) -> sofa::core::objectmodel::BaseData
Add a data field
- param self
the base itself
- param d
the data to be added
- type self
Base*
- type d
object
This method should only be called if the field was not initialized with the initData method
- addLink(self: object, name: str, value: object = None, help: str = '') sofa::core::objectmodel::BaseLink
Create a Link to a SOFA component and adds it to the base
- Parameters
self (object) – the base itself
name (string) – the name of the link to be added
value (object) – the value from which the data can be created (either a pathname or a SofaBase)
help (string) – help message that describes the link to be created
This method should only be called if the field was not initialized with the initLink method
- addObject(*args, **kwargs)
Overloaded function.
addObject(self: Sofa.Core.Node, arg0: str, **kwargs) -> object
Add an object.
- param component_type
the Sofa component’s type name to add
- type component_type
str
- param kwargs
additional keyword arguments
- type kwargs
dict
- rtype
the created :class: Sofa.Core.Object
addObject(self: Sofa.Core.Node, arg0: Sofa.Core.Object) -> object
Add an existing sofa object.
- param component
The Sofa component
- type component
- class
Sofa.Core.Object
- rtype
the added :class: Sofa.Core.Object
- canChangeSleepingState(self: Sofa.Core.BaseContext) bool
Whether the context can change its sleeping state or not
- property children
Field interface to acces the children of a node. The returned object is a iteratable featuring the following operations: len, remove_at, __contains__, get_at
Example: >>> n = Sofa.Core.Node(“MyNode”) >>> n.addChild(“child1”) >>> for child in n.children: >>> print(child.name) >>> >>> if “child1” in n.children: >>> print(“Yes”) >>> print(len(n.children))
- clearLoggedMessages(self: Sofa.Core.Base) object
Remove all logged messages in the object’s logs
- countLoggedMessages(self: Sofa.Core.Base) object
Returns the number of messages in the object’s logs
- createChild(self: Sofa.Core.Node, arg0: str, **kwargs) object
Deprecated, see addChild
- createObject(self: Sofa.Core.Node, arg0: str, **kwargs) object
Deprecated, see addObject
- detachFromGraph(self: Sofa.Core.Node) None
Remove the current node from the graph: depending on the type of Node, it can have one or several parents.
- findData(self: Sofa.Core.Base, arg0: str) sofa::core::objectmodel::BaseData
Find a data field given its name
If more than one field is found (due to aliases), only the first is returned.
:param name :type name: string :return: the data field or None
- findLink(self: Sofa.Core.Base, arg0: str) sofa::core::objectmodel::BaseLink
Find a link given its name
Return NULL if not found. If more than one link is found (due to aliases), only the first is returned.
- Parameters
name (string) – the name of the link
- Returns
the link
- getAnimate(self: Sofa.Core.BaseContext) bool
Animation flag
- getAsACreateObjectParameter(self: Sofa.Core.Node) str
Get the link of the current node :rtype: string
- getChild(self: Sofa.Core.Node, arg0: str) object
Get the child of a node.
- Parameters
n (Sofa.Simulation.Node) –
name (string) –
- Returns
the child with ‘name’, None otherwise
- getClass(self: Sofa.Core.Base) sofa::core::objectmodel::BaseClass
Return the class of the object
- getClassName(self: Sofa.Core.Base) str
Get the name of the class of the Base.
- getData(self: Sofa.Core.Base, arg0: str) object
Get the data field given its name
- Parameters
self (Base&) –
s (string) –
- Returns
the first data found of this name
- getDataFields(self: Sofa.Core.Base) list
Accessor to the vector containing all the fields of this object :return: A vector containing the data fields
- getDefinitionSourceFileName(self: Sofa.Core.Base) str
Returns the name of the file that contains the object definition.
- getDefinitionSourceFilePos(self: Sofa.Core.Base) int
Returns the line number where the object is defined.
- getDt(self: Sofa.Core.BaseContext) float
Simulation timestep
- getForceField(self: Sofa.Core.Node, arg0: int) object
Get the force field of a node, given an index. :param index: index of the force field :type index: unsigned int.
- getGravity(self: Sofa.Core.BaseContext) sofa::type::Vec<3u, double>
Gravity in local coordinates
- getInstanciationFileName(self: Sofa.Core.Base) str
Returns the line number where the object is instanciatiated.
- getInstanciationSourceFilePos(self: Sofa.Core.Base) int
Returns the line number where the object is instanciatiated.
- getLinkPath(self: Sofa.Core.Node) str
Get the link of the current node :param node: :type node: Sofa.Simulation.Node*
- getLinks(self: Sofa.Core.Base) list
Accessor to the vector containing all the links of this object
- Returns
A vector containing the links
- getLoggedMessagesAsString(self: Sofa.Core.Base) object
Returns a single string with all the messages logged in the internal buffer of a sofa object. Return empty string if there is no messages.
- getMass(self: Sofa.Core.Node) object
Get the mass of the node
- getMechanicalMapping(self: Sofa.Core.Node) object
Get the mechanical mapping of the node.
- getMechanicalState(self: Sofa.Core.Node) object
Get the mechanical state of the node.
- getMeshTopology(self: Sofa.Core.BaseContext, SearchDirection: Sofa.Core.BaseContext.SearchDirection = <SearchDirection.SearchUp: -1>) sofa::core::topology::BaseMeshTopology
Mesh Topology (unified interface for both static and dynamic topologies)
- getMeshTopologyLink(self: Sofa.Core.BaseContext, SearchDirection: Sofa.Core.BaseContext.SearchDirection = <SearchDirection.SearchUp: -1>) sofa::core::topology::BaseMeshTopology
Mesh Topology (unified interface for both static and dynamic topologies)
- getName(self: Sofa.Core.Base) str
Return the name of the entity
- Return type
string
- getObject(self: Sofa.Core.Node, arg0: str, **kwargs) object
Get a sofa component hold by a node.
- Parameters
name (string) –
- Returns
the component with ‘name’, None otherwise
Note
The extra arguments allowed in the SofaPython (warning=True/False) binding are not supported SofaPython3.
# SofaPython3: if node.getObject("MyObject") != None: pass if node.hasObject("MyObject"): pass if "MyObject" in node.objects: pass
- getPathName(self: Sofa.Core.Node) str
Get the path name of the current node :rtype: string
- getRoot(self: Sofa.Core.Node) object
Get the root node of the current node. :rtype: Sofa.Simulation.BaseNode*
- getRootContext(self: Sofa.Core.BaseContext) Sofa.Core.BaseContext
Get the root context of the graph
- getRootPath(self: Sofa.Core.Node) str
Return the path from this node to the root node
- getState(self: Sofa.Core.BaseContext) sofa::core::BaseState
Mechanical Degrees-of-Freedom
- getTemplateName(self: Sofa.Core.Base) str
Get the name of the template of the Base.
- getTime(self: Sofa.Core.BaseContext) float
Simulation time
- getTopology(self: Sofa.Core.BaseContext) sofa::core::topology::Topology
Topology
- hasObject(self: Sofa.Core.Node, arg0: str) object
Check if there is a component with provided name.
:param n :param name :type n: Sofa.Simulation.Node :type name: string :return: True if the node has an object with correspdonding name.
- init(self: Sofa.Core.Node) None
Initialize the components of this node and all the nodes which depend on it. (beware this is not the python __init__, this is sofa’s init())
- Parameters
self (Sofa.Simulation.Node&) – the node to initialize
- Return type
Sofa.Simulation.Node
- isActive(self: Sofa.Core.BaseContext) bool
The Context is active
- isInitialized(self: Sofa.Core.Node) bool
Checks if the node has been initialized :return: true if it has been initialized
- isSleeping(self: Sofa.Core.BaseContext) bool
Sleeping state of the context
- moveChild(self: Sofa.Core.Node, arg0: Sofa.Core.BaseNode, arg1: Sofa.Core.BaseNode) None
Move a node from another node. :param child: the node to be moved :param prevParent: the previous parent of the node to be moved :type child: Sofa.Simulation.Node :type prevParent: Sofa.Simulation.Node
- property objects
Field interface to acces the objects of a node. The returned object is a iteratable featuring the following operations: len, remove_at, __contains__, get_at
Example: >>> n = Sofa.Core.Node(“MyNode”) >>> n.addObject(“MechanicalObject”, name=”object1”) >>> n.addObject(“MechanicalObject”, name=”object2”) >>> for object in n.objects: >>> print(object.name) >>> >>> if “object2” in c.objects: >>> print(“Yes”) >>> print(len(n.objects))
- property parents
Field interface to acces the parents of a node. The returned object is a iteratable featuring the following operations: len, remove_at, __contains__, get_at
Example: >>> n = Sofa.Core.Node(“parent1”) >>> c = n.addChild(“child1”) >>> for parent in c.parents: >>> print(parent.name) >>> >>> if “parent1” in c.parents: >>> print(“Yes”) >>> print(len(n.parents))
- removeChild(*args, **kwargs)
Overloaded function.
removeChild(self: Sofa.Core.Node, arg0: Sofa.Core.Node) -> None
Remove a child of a node. :param self: the node itself :param n: the child to remove :type self: Sofa.Simulation.Node :type n: Sofa.Simulation.Node Example: >>> node1.removeChild(node2)
removeChild(self: Sofa.Core.Node, arg0: str) -> object
Remove a child of a node. :param n: the node itself :param name: the name of the child to remove :type n: Sofa.Simulation.Node& :type name: string Example: >>> node1.removeChild(“nameNode2”)
- removeObject(self: Sofa.Core.Node, arg0: Sofa.Core.Object) None
Remove an object :param object: the object to be removed :type object: BaseObject
- sendEvent(self: Sofa.Core.Node, arg0: object, arg1: str) None
Send an event to other nodes, by creating a PythonScriptEvent and propagating it to the rest of the tree. Only the nodes and objects downstream will receive the message. :param pyUserData: the user data that can be sent :param eventName: the name of the event :type pyUserData: py::object :type eventName: string
- setActive(self: Sofa.Core.BaseContext, arg0: bool) None
State of the context
- setAnimate(self: Sofa.Core.BaseContext, arg0: bool) None
Animation flag
- setChangeSleepingState(self: Sofa.Core.BaseContext, arg0: bool) None
Sleeping state change of the context
- setDataValues(self: Sofa.Core.Base, **kwargs) object
Set values for a the given data field, multiple pairs of args are allowed.
- setDefinitionSourceFileName(self: Sofa.Core.Base, arg0: str) None
set the name of the file that contains the object definition.
- setDefinitionSourceFilePos(self: Sofa.Core.Base, arg0: int) None
Set the line number where the object is defined.
- setDt(self: Sofa.Core.BaseContext, arg0: float) None
Simulation timestep
- setGravity(self: Sofa.Core.BaseContext, arg0: sofa::type::Vec<3u, double>) None
Gravity in local coordinates
- setInstanciationSourceFileName(self: Sofa.Core.Base, arg0: str) None
Set the line number where the object is instanciatiated.
- setInstanciationSourceFilePos(self: Sofa.Core.Base, arg0: int) None
Set the line number where the object is instanciatiated.
- setName(self: Sofa.Core.Base, arg0: str) None
Set the name of this object
:param n :type n: string
- setSleeping(self: Sofa.Core.BaseContext, arg0: bool) None
Sleeping state of the context