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

#include <modelnode.h>

Inherited by Models::TransformNode.

Public Member Functions

 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.
 
virtual void Unload ()
 Unload data (don't call explicitly)
 

Protected Member Functions

virtual bool Load (const Util::FourCC &fourcc, const Util::StringAtom &tag, const Ptr< IO::BinaryReader > &reader, bool immediate)
 load data
 
virtual void OnFinishedLoading (ModelStreamingData *streamingData)
 call when model node data is finished loading (not accounting for secondary resources)
 
virtual void Discard ()
 discard node
 

Protected Attributes

Util::StringAtom name
 
NodeType type
 
NodeBits bits
 
Models::ModelNodeparent
 
Util::Array< Models::ModelNode * > children
 
Math::bbox boundingBox
 
Util::StringAtom tag
 
IndexT uniqueId
 

Static Protected Attributes

static IndexT ModelNodeUniqueIdCounter = 0
 

Friends

class ModelLoader
 
class ModelContext
 
class ModelServer
 
class CharacterNode
 
class CharacterSkinNode
 
class Characters::CharacterContext
 
class Particles::ParticleContext
 

Constructor & Destructor Documentation

◆ ModelNode()

Models::ModelNode::ModelNode ( )

constructor

◆ ~ModelNode()

Models::ModelNode::~ModelNode ( )
virtual

destructor

Member Function Documentation

◆ Discard()

void Models::ModelNode::Discard ( )
protectedvirtual

discard node

Reimplemented in Models::CharacterNode.

◆ GetApplyFunction()

std::function< void(const CoreGraphics::CmdBufferId)> Models::ModelNode::GetApplyFunction ( )
inlinevirtual

Get function to apply node.

◆ GetBits()

const NodeBits Models::ModelNode::GetBits ( ) const
inline

get feature bits of node

◆ GetChildren()

const Util::Array< ModelNode * > & Models::ModelNode::GetChildren ( ) const
inline

return constant reference to children

◆ GetImplicitHierarchyActivation()

bool Models::ModelNode::GetImplicitHierarchyActivation ( ) const
virtual

return true if all children should create hierarchies upon calling CreateInstance

Reimplemented in Models::CharacterNode.

◆ GetName()

const Util::StringAtom & Models::ModelNode::GetName ( ) const
inline

return name

◆ GetPrimitiveGroupFunction()

std::function< const CoreGraphics::PrimitiveGroup()> Models::ModelNode::GetPrimitiveGroupFunction ( )
inlinevirtual

Get function to fetch primitive group.

◆ GetType()

const NodeType Models::ModelNode::GetType ( ) const
inline

get type of node

◆ HashCode()

const uint32_t Models::ModelNode::HashCode ( ) const
inline

get hash

◆ Load()

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

◆ OnFinishedLoading()

void Models::ModelNode::OnFinishedLoading ( ModelStreamingData * streamingData)
protectedvirtual

call when model node data is finished loading (not accounting for secondary resources)

Reimplemented in Models::CharacterSkinNode, Models::ParticleSystemNode, Models::PrimitiveNode, and Models::ShaderStateNode.

◆ Unload()

void Models::ModelNode::Unload ( )
virtual

Unload data (don't call explicitly)

Reimplemented in Models::PrimitiveNode, and Models::ShaderStateNode.

Friends And Related Symbol Documentation

◆ CharacterNode

friend class CharacterNode
friend

◆ Characters::CharacterContext

friend class Characters::CharacterContext
friend

◆ CharacterSkinNode

friend class CharacterSkinNode
friend

◆ ModelContext

friend class ModelContext
friend

◆ ModelLoader

friend class ModelLoader
friend

◆ ModelServer

friend class ModelServer
friend

◆ Particles::ParticleContext

friend class Particles::ParticleContext
friend

Member Data Documentation

◆ bits

NodeBits Models::ModelNode::bits
protected

◆ boundingBox

Math::bbox Models::ModelNode::boundingBox
protected

◆ children

Util::Array<Models::ModelNode*> Models::ModelNode::children
protected

◆ ModelNodeUniqueIdCounter

IndexT Models::ModelNode::ModelNodeUniqueIdCounter = 0
staticprotected

◆ name

Util::StringAtom Models::ModelNode::name
protected

◆ parent

Models::ModelNode* Models::ModelNode::parent
protected

◆ tag

Util::StringAtom Models::ModelNode::tag
protected

◆ type

NodeType Models::ModelNode::type
protected

◆ uniqueId

IndexT Models::ModelNode::uniqueId
protected

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