Sofa.Core.Camera
- class Sofa.Core.Camera
Bases:
Object
API dedicated to the control of the Camera in SOFA
Example: .. code-block:: python
import Sofa.Core import SofaRuntime SofaRuntime.importPlugin(“SofaComponentAll”)
root = Sofa.Core.Node(“root”) root.addObject(“Camera”, name=”c”) root.c.position.value # Access the position of the camera root.c.orientation.value # Access the orientation of the camera in quaternion
- More complex example of use
The camera, added to a controller, can allow the user to create its own script to move and orientate the camera.
In the example below, the mouse is used to orientate the camera, and the following commands are used to move it : ctrl+z to move forward, ctrl+x to move backward, ctrl+d to translate on the right, ctrl+q to translate on the left. The code for this example is available in the folder examples under the name BaseCamera.py of the SofaPython3 GitHub repository.
- Orthographic(self: Sofa.Core.Camera) None
- Perspective(self: Sofa.Core.Camera) None
- 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
- addSlave(self: Sofa.Core.Object, arg0: Sofa.Core.Object) None
Add a slave to the master BaseObject. :param slave: the slave to be added. :type slave: BaseObject
- bwdInit(self: Sofa.Core.Object) None
Initialization method called at graph creation and modification, during bottom-up traversal.
- cleanup(self: Sofa.Core.Object) None
Called just before deleting this object Any object in the tree bellow this object that are to be removed will be removed only after this call, so any references this object holds should still be valid.
- clearLoggedMessages(self: Sofa.Core.Base) object
Remove all logged messages in the object’s logs
- computeBBox(*args, **kwargs)
Overloaded function.
computeBBox(self: Sofa.Core.Object) -> None
Bounding Box computation method. Default to empty method.
computeBBox(self: Sofa.Core.Object, arg0: sofa::core::ExecParams, arg1: bool) -> None
Bounding Box computation method. Default to empty method.
- countLoggedMessages(self: Sofa.Core.Base) object
Returns the number of messages in the object’s logs
- 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
- getAsACreateObjectParameter(self: Sofa.Core.Object) str
Return the full path name of this baseObject with an extra prefix ‘@’ :rtype: string
- getCategories(self: Sofa.Core.Object) object
Return the list of categories the current object belongs to. :rtype: list
- 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.
- getContext(self: Sofa.Core.Object) object
Return the conext of the baseObject. :rtype: BaseContext
- 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.
- 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(*args, **kwargs)
Overloaded function.
getLinkPath(self: Sofa.Core.Object) -> str
Return the link of the baseObject :param self: the baseObject itself :type self: baseObject :rtype: string
getLinkPath(self: Sofa.Core.Object) -> str
Return the full path name of this baseObject with an extra prefix ‘@’ :rtype: string
- 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.
- getLookAtFromOrientation(*args, **kwargs)
Overloaded function.
getLookAtFromOrientation(self: Sofa.Core.Camera, arg0: list, arg1: float, arg2: list) -> sofa::type::Vec<3u, double>
getLookAtFromOrientation(self: Sofa.Core.Camera, arg0: list, arg1: float, arg2: list) -> sofa::type::Vec<3u, double>
- getMaster(self: Sofa.Core.Object) object
Return the master of the baseObject. :rtype: BaseObject
- getModelViewMatrix(self: Sofa.Core.Camera) List[float]
- getName(self: Sofa.Core.Base) str
Return the name of the entity
- Return type
string
- getOpenGLModelViewMatrix(self: Sofa.Core.Camera) List[float]
- getOpenGLProjectionMatrix(self: Sofa.Core.Camera) List[float]
- getOrientationFromLookAt(self: Sofa.Core.Camera, arg0: list, arg1: list) sofa::type::Quat<double>
- getPathName(self: Sofa.Core.Object) str
Return the full path name of this baseObject :rtype: string
- getPositionFromOrientation(self: Sofa.Core.Camera, arg0: list, arg1: float, arg2: list) sofa::type::Vec<3u, double>
- getProjectionMatrix(self: Sofa.Core.Camera) List[float]
- getSlaves(self: Sofa.Core.Object) list
Return the slaves of the baseObject. :rtype: list
- getTarget(self: Sofa.Core.Object) object
Return the target (plugin) that contains the current baseObject. :rtype: string
- getTemplateName(self: Sofa.Core.Base) str
Get the name of the template of the Base.
- init(self: Sofa.Core.Object) None
Initialization method called at graph creation and modification, during top-down traversal.Initialize data.
- reinit(self: Sofa.Core.Object) None
Update method called when variables used in precomputation are modified.
- reset(self: Sofa.Core.Object) None
Reset to initial state. To save the initial state, see storeResetState().
- rotate(self: Sofa.Core.Camera, arg0: list) None
- rotateCameraAroundPoint(self: Sofa.Core.Camera, arg0: list, arg1: list) None
- rotateWorldAroundPoint(self: Sofa.Core.Camera, arg0: list, arg1: list, arg2: list) None
- screenToWorldPoint(self: Sofa.Core.Camera, arg0: list) sofa::type::Vec<3u, double>
- setCameraType(self: Sofa.Core.Camera, arg0: int) None
- setDataValues(self: Sofa.Core.Base, **kwargs) object
Set values for a the given data field, multiple pairs of args are allowed.
- setDefaultView(self: Sofa.Core.Camera) None
- 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.
- 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
- setSrc(self: Sofa.Core.Object, arg0: str, arg1: Sofa.Core.Object) None
Set a source Object and parses it to collect dependent Data.
- storeResetState(self: Sofa.Core.Object) None
Save the initial state for later uses in reset()
- worldToScreenPoint(self: Sofa.Core.Camera, arg0: list) sofa::type::Vec<3u, double>