XII Release 0.1.0
Loading...
Searching...
No Matches
xiiEditableSkeleton Class Reference

#include <EditableSkeleton.h>

Inheritance diagram for xiiEditableSkeleton:
[legend]

Public Member Functions

 xiiEditableSkeleton (const xiiEditableSkeleton &)=delete
void operator= (const xiiEditableSkeleton &)=delete
void ClearJoints ()
xiiResult GetRootTransform (xiiTransform &out_transform) const
xiiResult FillResourceDescriptor (xiiSkeletonResourceDescriptor &out_descriptor) const
xiiResult MergeImportedHierarchy (xiiEditableSkeleton &newSkeleton)
 Copyright (c) Theophilus Eriata. All Rights Reserved.
Public Member Functions inherited from xiiReflectedClass
virtual const xiiRTTI * GetDynamicRTTI () const
bool IsInstanceOf (const xiiRTTI *pType) const
 Returns whether the type of this instance is of the given type or derived from it.
template<typename T>
XII_ALWAYS_INLINE bool IsInstanceOf () const
 Returns whether the type of this instance is of the given type or derived from it.

Public Attributes

xiiString m_sSourceFile
xiiString m_sPreviewMesh
xiiString m_sSurfaceFile
xiiUInt8 m_uiCollisionLayer = 0
float m_fUniformScaling = 1
float m_fMaxImpulse = 100
xiiEnum< xiiMeshImportTransform > m_ImportTransform
xiiEnum< xiiBasisAxis > m_RightDir = xiiBasisAxis::NegativeX
xiiEnum< xiiBasisAxis > m_UpDir = xiiBasisAxis::PositiveY
bool m_bFlipForwardDir = false
xiiEnum< xiiBasisAxis > m_BoneDirection = xiiBasisAxis::PositiveY
xiiHybridArray< xiiEditableSkeletonJoint *, 4 > m_Children
xiiString m_sLeftFootJoint
xiiString m_sRightFootJoint

Additional Inherited Members

Static Public Member Functions inherited from xiiNoBase
static const xiiRTTI * GetStaticRTTI ()

Detailed Description

Shared, Qt-independent skeleton document model. Runtime resources contain only native joint / rest-pose data. Collider, constraint, import and preview settings remain authoring data until a runtime consumer supports them.

Member Function Documentation

◆ FillResourceDescriptor()

xiiResult xiiEditableSkeleton::FillResourceDescriptor ( xiiSkeletonResourceDescriptor & out_descriptor) const

Produces native parent-before-child joints, baking import coordinates into each root local pose. Rejects malformed hierarchies, duplicate / empty names and non-invertible or non-finite poses. Iterative conversion and destruction support deep hierarchies. Failure clears out_descriptor.

◆ MergeImportedHierarchy()

xiiResult xiiEditableSkeleton::MergeImportedHierarchy ( xiiEditableSkeleton & newSkeleton)

Copyright (c) Theophilus Eriata. All Rights Reserved.

Replaces the hierarchy with imported joints, preserving document settings and per-joint user properties by name. The document's import coordinates determine manipulator frames. Imported transforms and collider meshes win. Success transfers joint ownership and empties newSkeleton; failure leaves this document unchanged.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/EditorPlugins/Assets/SharedPluginAssets/SkeletonAsset/EditableSkeleton.h
  • /home/runner/work/XII/XII/Source/EditorPlugins/Assets/SharedPluginAssets/SkeletonAsset/Implementation/EditableSkeleton.cpp
  • /home/runner/work/XII/XII/Source/EditorPlugins/Assets/SharedPluginAssets/SkeletonAsset/Implementation/EditableSkeletonImport.cpp