Nebula
Loading...
Searching...
No Matches
Models::CharacterSkinNode Class Reference

#include <characterskinnode.h>

Inherits Models::PrimitiveNode.

Classes

class  Fragment
 a skin fragment More...

Public Member Functions

 CharacterSkinNode ()
 constructor
virtual ~CharacterSkinNode ()
 destructor
void ReserveFragments (SizeT numFragments)
 reserve fragments (call before adding fragments)
void AddFragment (IndexT primGroupIndex, const Util::Array< IndexT > &jointPalette)
 add a fragment (consisting of a mesh group index and a joint palette)
SizeT GetNumFragments () const
 get number of skin fragments
IndexT GetFragmentPrimGroupIndex (IndexT fragmentIndex) const
 get primitive group index of a fragment
const Util::Array< IndexT > & GetFragmentJointPalette (IndexT fragmentIndex) const
 get joint palette of a fragment
Public Member Functions inherited from Models::PrimitiveNode
 PrimitiveNode ()
 constructor
virtual ~PrimitiveNode ()
 destructor
uint GetPrimitiveGroupIndex () const
 Get the nodes primitive group index.
uint GetMeshIndex () const
 Get the mesh index.
const CoreGraphics::PrimitiveGroupGetPrimitiveGroup () const
 Get primitive group.
CoreGraphics::MeshId GetMesh () const
 Get primitives mesh id.
Resources::ResourceId GetMeshResource () const
 Get mesh resource.
Public Member Functions inherited from Models::ShaderStateNode
 ShaderStateNode ()
 constructor
virtual ~ShaderStateNode ()
 destructor
const Materials::MaterialId GetMaterial () const
 get surface
Public Member Functions inherited from Models::TransformNode
 TransformNode ()
 constructor
virtual ~TransformNode ()
 destructor
void GetLODDistances (float &minDistance, float &maxDistance)
 Get LOD distances.
Public Member Functions inherited from Models::ModelNode
 ModelNode ()
 constructor
virtual ~ModelNode ()
 destructor
const Util::Array< ModelNode * > & GetChildren () const
 return constant reference to children
const NodeType GetType () const
 get type of node
const NodeBits GetBits () const
 get feature bits of node
virtual bool GetImplicitHierarchyActivation () const
 return true if all children should create hierarchies upon calling CreateInstance
const Util::StringAtomGetName () const
 return name
const uint32_t HashCode () const
 get hash
virtual std::function< void(const CoreGraphics::CmdBufferId)> GetApplyFunction ()
 Get function to apply node.
virtual std::function< const CoreGraphics::PrimitiveGroup()> GetPrimitiveGroupFunction ()
 Get function to fetch primitive group.

Protected Member Functions

virtual bool Load (const Util::FourCC &fourcc, const Util::StringAtom &tag, const Ptr< IO::BinaryReader > &reader, bool immediate) override
 parse data tag (called by loader code)
virtual void OnFinishedLoading (ModelStreamingData *streamingData) override
 called when loading finished
Protected Member Functions inherited from Models::PrimitiveNode
virtual void Unload () override
 unload data
Protected Member Functions inherited from Models::ShaderStateNode
bool Load (const Util::FourCC &fourcc, const Util::StringAtom &tag, const Ptr< IO::BinaryReader > &reader, bool immediate) override
 load shader state
Protected Member Functions inherited from Models::ModelNode
virtual void Discard ()
 discard node

Protected Attributes

Util::Array< FragmentskinFragments
Protected Attributes inherited from Models::PrimitiveNode
Resources::ResourceName meshResource
Resources::ResourceId res
CoreGraphics::MeshId mesh
struct Models::PrimitiveNode::LoadContext loadContext
CoreGraphics::BufferId vbo
CoreGraphics::BufferId ibo
IndexT baseVboOffset
IndexT attributesVboOffset
IndexT iboOffset
CoreGraphics::IndexType::Code indexType
CoreGraphics::PrimitiveTopology::Code topology
CoreGraphics::PrimitiveGroup primGroup
CoreGraphics::VertexLayoutId vertexLayout
Protected Attributes inherited from Models::ShaderStateNode
Resources::ResourceId materialRes
Materials::MaterialId material
Resources::ResourceName materialName
Util::FixedArray< CoreGraphics::ResourceTableIdresourceTables
Protected Attributes inherited from Models::TransformNode
Math::vec3 position
Math::quat rotate
Math::vec3 scale
Math::vec3 rotatePivot
Math::vec3 scalePivot
bool isInViewSpace
float minDistance
float maxDistance
bool useLodDistances
bool lockedToViewer
Protected Attributes inherited from Models::ModelNode
Util::StringAtom name
NodeType type
NodeBits bits
Models::ModelNodeparent
Util::Array< Models::ModelNode * > children
Math::bbox boundingBox
Util::StringAtom tag
IndexT uniqueId

Friends

class Characters::CharacterContext

Additional Inherited Members

Static Public Member Functions inherited from Models::ShaderStateNode
static Util::FixedArray< CoreGraphics::ResourceTableIdCreateResourceTables ()
 Create resource table.
Static Public Attributes inherited from Models::ShaderStateNode
static const uint NumMaxOffsets = 4
Static Protected Attributes inherited from Models::ModelNode
static IndexT ModelNodeUniqueIdCounter = 0

Constructor & Destructor Documentation

◆ CharacterSkinNode()

Models::CharacterSkinNode::CharacterSkinNode ( )

constructor

◆ ~CharacterSkinNode()

Models::CharacterSkinNode::~CharacterSkinNode ( )
virtual

destructor

Member Function Documentation

◆ AddFragment()

void Models::CharacterSkinNode::AddFragment ( IndexT primGroupIndex,
const Util::Array< IndexT > & jointPalette )

add a fragment (consisting of a mesh group index and a joint palette)

◆ GetFragmentJointPalette()

const Util::Array< IndexT > & Models::CharacterSkinNode::GetFragmentJointPalette ( IndexT fragmentIndex) const
inline

get joint palette of a fragment

◆ GetFragmentPrimGroupIndex()

IndexT Models::CharacterSkinNode::GetFragmentPrimGroupIndex ( IndexT fragmentIndex) const
inline

get primitive group index of a fragment

◆ GetNumFragments()

SizeT Models::CharacterSkinNode::GetNumFragments ( ) const
inline

get number of skin fragments

◆ Load()

bool Models::CharacterSkinNode::Load ( const Util::FourCC & fourcc,
const Util::StringAtom & tag,
const Ptr< IO::BinaryReader > & reader,
bool immediate )
overrideprotectedvirtual

parse data tag (called by loader code)

Reimplemented from Models::PrimitiveNode.

◆ OnFinishedLoading()

void Models::CharacterSkinNode::OnFinishedLoading ( ModelStreamingData * streamingData)
overrideprotectedvirtual

called when loading finished

Reimplemented from Models::PrimitiveNode.

◆ ReserveFragments()

void Models::CharacterSkinNode::ReserveFragments ( SizeT numFragments)

reserve fragments (call before adding fragments)

◆ Characters::CharacterContext

friend class Characters::CharacterContext
friend

Member Data Documentation

◆ skinFragments

Util::Array<Fragment> Models::CharacterSkinNode::skinFragments
protected

The documentation for this class was generated from the following files: