Models::SkinShapeNodeInstance Class Reference
#include <skinshapenodeinstance.h>
Detailed Description
The SkinShapeNodeInstance actually renders a skinned shape, and holds all the necessary per-instance state to do so.It knows the selected visible skins an active textures for actual rendering.
(C) 2007 Radon Labs GmbH
Public Member Functions | |
SkinShapeNodeInstance () | |
constructor | |
virtual | ~SkinShapeNodeInstance () |
destructor | |
virtual void | Update () |
check for valid resources | |
virtual void | Render () |
perform rendering | |
virtual void | SetVisible (bool b) |
set visible, used by charactersystem | |
virtual void | ApplyState () |
apply per-instance state prior to rendering | |
Ptr < CoreGraphics::ShaderVariableInstance > | CreateShaderVariableInstance (const CoreGraphics::ShaderVariable::Semantic &semantic) |
instanciate a shader variable by semantic | |
bool | HasShaderVariableInstance (const CoreGraphics::ShaderVariable::Semantic &semantic) const |
return true if a shader variable has been instantiated | |
const Ptr < CoreGraphics::ShaderVariableInstance > & | GetShaderVariableInstance (const CoreGraphics::ShaderVariable::Semantic &semantic) const |
get a shader variable instance | |
void | SetPosition (const Math::point &p) |
set position | |
const Math::point & | GetPosition () const |
get position | |
void | SetRotate (const Math::quaternion &r) |
set rotate quaternion | |
const Math::quaternion & | GetRotate () const |
get rotate quaternion | |
void | SetScale (const Math::vector &s) |
set scale | |
const Math::vector & | GetScale () const |
get scale | |
void | SetRotatePivot (const Math::point &p) |
set rotate pivot | |
const Math::point & | GetRotatePivot () const |
get rotate pivot | |
void | SetScalePivot (const Math::point &p) |
set scale pivot | |
const Math::point & | GetScalePivot () const |
get scale pivot | |
const Math::matrix44 & | GetLocalTransform () |
get resulting local transform matrix in local parent space | |
const Math::matrix44 & | GetModelTransform () const |
get model space transform (valid after Update()) | |
bool | HasParent () const |
return true if node has a parent | |
const Ptr < ModelNodeInstance > & | GetParent () const |
get parent node | |
const Util::Array < Ptr < ModelNodeInstance > > & | GetChildren () const |
get child nodes | |
bool | IsAttachedToModelInstance () const |
return true if attached to ModelInstance | |
const Ptr < ModelInstance > & | GetModelInstance () const |
get the ModelInstance we are attached to | |
const Ptr< ModelNode > & | GetModelNode () const |
get the ModelNode we're associated with | |
bool | IsVisible () const |
is visible | |
int | GetRefCount () const |
get the current refcount | |
void | AddRef () |
increment refcount by one | |
void | Release () |
decrement refcount and destroy object if refcount is zero | |
bool | IsInstanceOf (const Rtti &rtti) const |
return true if this object is instance of given class | |
bool | IsInstanceOf (const Util::String &className) const |
return true if this object is instance of given class by string | |
bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
return true if this object is instance of given class by fourcc | |
bool | IsA (const Rtti &rtti) const |
return true if this object is instance of given class, or a derived class | |
bool | IsA (const Util::String &rttiName) const |
return true if this object is instance of given class, or a derived class, by string | |
bool | IsA (const Util::FourCC &rttiFourCC) const |
return true if this object is instance of given class, or a derived class, by fourcc | |
const Util::String & | GetClassName () const |
get the class name | |
Util::FourCC | GetClassFourCC () const |
get the class FourCC code | |
Static Public Member Functions | |
static void | DumpRefCountingLeaks () |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!) | |
Protected Member Functions | |
virtual void | OnNotifyVisible (IndexT frameIndex) |
notify that we are visible | |
void | RenderSkinning () |
render skinned mesh | |
void | RenderFragment (int primGroupIndex, Char::CharJointPalette &jointPalette) |
render mesh fragment | |
virtual void | OnAttachToModelInstance (const Ptr< ModelInstance > &inst, const Ptr< ModelNode > &node, const Ptr< ModelNodeInstance > &parentNodeInst) |
called when attached to ModelInstance | |
virtual void | OnRemoveFromModelInstance () |
called when removed from ModelInstance | |
void | ValidateCharacter () |
validate character | |
void | SetParent (const Ptr< ModelNodeInstance > &p) |
set parent node | |
void | AddChild (const Ptr< ModelNodeInstance > &c) |
add a child node | |
virtual void | RenderDebug () |
render node specific debug shape | |
void | SetChildrenVisiblity (ModelNodeInstance *parent, bool b) |
set visible flag of children |
Member Function Documentation
void Models::SkinShapeNodeInstance::SetVisible | ( | bool | b | ) | [inline, virtual] |
set visible, used by charactersystem
Set visibility of node and its children, should not be call per frame!
Reimplemented from Models::ModelNodeInstance.
int Core::RefCounted::GetRefCount | ( | ) | const [inline, inherited] |
get the current refcount
Return the current refcount of the object.
void Core::RefCounted::AddRef | ( | ) | [inline, inherited] |
increment refcount by one
Increment the refcount of the object.
void Core::RefCounted::Release | ( | ) | [inline, inherited] |
decrement refcount and destroy object if refcount is zero
Decrement the refcount and destroy object if refcount is zero.
const Util::String & Core::RefCounted::GetClassName | ( | ) | const [inline, inherited] |
get the class name
Get the class name of the object.
Util::FourCC Core::RefCounted::GetClassFourCC | ( | ) | const [inline, inherited] |
get the class FourCC code
Get the class FourCC of the object.
void Core::RefCounted::DumpRefCountingLeaks | ( | ) | [static, inherited] |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)
This method should be called as the very last before an application exits.