# {py:mod}`simvx.core.skeleton` ```{py:module} simvx.core.skeleton ``` ```{autodoc2-docstring} simvx.core.skeleton :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`Bone ` - ```{autodoc2-docstring} simvx.core.skeleton.Bone :summary: ``` * - {py:obj}`Skeleton ` - ```{autodoc2-docstring} simvx.core.skeleton.Skeleton :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`log ` - ```{autodoc2-docstring} simvx.core.skeleton.log :summary: ``` * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.core.skeleton.__all__ :summary: ``` ```` ### API ````{py:data} log :canonical: simvx.core.skeleton.log :value: > 'getLogger(...)' ```{autodoc2-docstring} simvx.core.skeleton.log ``` ```` ````{py:data} __all__ :canonical: simvx.core.skeleton.__all__ :value: > ['Bone', 'Skeleton'] ```{autodoc2-docstring} simvx.core.skeleton.__all__ ``` ```` `````{py:class} Bone :canonical: simvx.core.skeleton.Bone ```{autodoc2-docstring} simvx.core.skeleton.Bone ``` ````{py:attribute} name :canonical: simvx.core.skeleton.Bone.name :type: str :value: ```{autodoc2-docstring} simvx.core.skeleton.Bone.name ``` ```` ````{py:attribute} parent_index :canonical: simvx.core.skeleton.Bone.parent_index :type: int :value: > None ```{autodoc2-docstring} simvx.core.skeleton.Bone.parent_index ``` ```` ````{py:attribute} inverse_bind_matrix :canonical: simvx.core.skeleton.Bone.inverse_bind_matrix :type: numpy.ndarray :value: > 'field(...)' ```{autodoc2-docstring} simvx.core.skeleton.Bone.inverse_bind_matrix ``` ```` ````{py:attribute} local_transform :canonical: simvx.core.skeleton.Bone.local_transform :type: numpy.ndarray :value: > 'field(...)' ```{autodoc2-docstring} simvx.core.skeleton.Bone.local_transform ``` ```` ````` `````{py:class} Skeleton(bones: list[simvx.core.skeleton.Bone] | None = None) :canonical: simvx.core.skeleton.Skeleton ```{autodoc2-docstring} simvx.core.skeleton.Skeleton ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.skeleton.Skeleton.__init__ ``` ````{py:property} bone_count :canonical: simvx.core.skeleton.Skeleton.bone_count :type: int ```{autodoc2-docstring} simvx.core.skeleton.Skeleton.bone_count ``` ```` ````{py:property} joint_matrices :canonical: simvx.core.skeleton.Skeleton.joint_matrices :type: numpy.ndarray ```{autodoc2-docstring} simvx.core.skeleton.Skeleton.joint_matrices ``` ```` ````{py:method} compute_pose(bone_transforms: dict[int, numpy.ndarray] | None = None) -> None :canonical: simvx.core.skeleton.Skeleton.compute_pose ```{autodoc2-docstring} simvx.core.skeleton.Skeleton.compute_pose ``` ```` ````{py:method} find_bone(name: str) -> int :canonical: simvx.core.skeleton.Skeleton.find_bone ```{autodoc2-docstring} simvx.core.skeleton.Skeleton.find_bone ``` ```` `````