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.

◆ 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: