Sofa.Core.Node

class Sofa.Core.Node(*args, **kwargs)

Bases: BaseNode, Context

Overloaded function.

  1. __init__(self: Sofa.Core.Node) -> None

    Initialize the components of this node and all the nodes which depend on it. :rtype: Sofa.Simulation.Node

  2. __init__(self: Sofa.Core.Node, name: str) -> None

    Initialize the components of this node and all the nodes which depend on it.

    param name:

    Name of the node to be created

    type name:

    string

    rtype:

    Sofa.Simulation.Node

class SearchDirection(self: Sofa.Core.BaseContext.SearchDirection, value: int)

Bases: pybind11_object

property name
add(self: Sofa.Core.Node, arg0: object, **kwargs) object

Add an prefab, .. rubric:: 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.

  1. addChild(self: Sofa.Core.Node, arg0: str, **kwargs) -> object

    Add a child node :param self: the node itself :param name: name of the child to be added :param kwargs :type self: Sofa.Simulation.Node* :type name: string& :type kwargs: kwargs& :rtype: Sofa.Simulation.Node

  2. addChild(self: Sofa.Core.Node, arg0: Sofa.Core.Node) -> Sofa.Core.Node

    Add a child node

    :param self : the node itself :param child : the child to be added :type self: Sofa.Simulation.Node* :type child: Sofa.Simulation.Node* :rtype: Sofa.Simulation.Node

addData(*args, **kwargs)

Overloaded function.

  1. 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

  2. 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

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.

  1. addObject(self: Sofa.Core.Node, arg0: str, **kwargs) -> object

    Add an object. Detect the implemented interfaces and add the object to the corresponding lists. :param self: the node itself :param type: type of the object :param kwargs :type self: Sofa.Simulation.Node* :type type: string& :type kwargs: kwargs&

  2. addObject(self: Sofa.Core.Node, arg0: Sofa.Core.Object) -> object

    Add an object. Detect the implemented interfaces and add the object to the corresponding lists. :param self: the node itself :param object: the object to be added :type self: Sofa.Simulation.Node& :type object: Sofa.Simulation.BaseObject*

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

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.

:param n :param name :type n: Sofa.Simulation.Node :type name: string :return: 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*

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)

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.

:param n :param name :type n: Sofa.Simulation.Node :type name: string :return: the component with ‘name’, None otherwise

The extra arguments allowed in the SofaPython (warning=True/False) binding are not supported SofaPython3.

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.

  1. 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& :Examples: >>> node1.removeChild(node2)

  2. 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 :Examples: >>> 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