Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Emma::Node Class Reference

Node is the abstract class for node behavior, from which all node types are derived. More...

#include <EmmaNode.h>

Inheritance diagram for Emma::Node:

Fusion::Object Fusion::IObject Emma::AudioSourceNode Emma::BackgroundInline Emma::Camera Emma::ChildNode Emma::Client Emma::DropSensor Emma::Environment Emma::Fog Emma::GeometryNode Emma::Manipulators Emma::MaterialNode Emma::MeshAnimation Emma::MeshInterpolator Emma::MultiUserManager Emma::Node2D Emma::Node3D Emma::NodeCore Emma::PlaneSensor Emma::Server Emma::SphereSensor Emma::SurfaceNode Emma::TestText Emma::Texture Emma::Viewers Emma::WxGUI Emma::WxWidget List of all members.

Public Types

typedef bool(* typeSubsceneCallbackFunction )(Node *, Node *)

Public Member Functions

EMMA_EXPORT Node ()
 DECLARE_CLASS_LINKAGE (EMMA_EXPORT, Node, Object)
virtual EMMA_EXPORT Fusion::ResultType toString (Fusion::UTF8String &s) const
 Convert this object to a string.
EMMA_EXPORT void registerField (const Fusion::UTF8String &name, const Fusion::UTF8String &type, const Fusion::Value &val=Fusion::Value(), bool hasFieldFiring=true)
virtual EMMA_EXPORT int setIndex (lua_State *l)
virtual EMMA_EXPORT Fusion::ResultType beginFieldFiring (const char *property, const Fusion::Value &value)
virtual EMMA_EXPORT void eventsProcessed ()
EMMA_EXPORT void setEventsProcessed ()
EMMA_EXPORT void setInitialize ()
int32_t addEvent (IObject *self, const Fusion::UTF8String &prop, const Fusion::Value &val)
bool removeEvent (const Fusion::UTF8String &prop, int32_t i)
virtual EMMA_EXPORT Fusion::ResultType endFieldFiring (const char *property, const Fusion::Value &value)
virtual EMMA_EXPORT Fusion::ResultType childFieldFired (Node *node, const char *property, const Fusion::Value &value)
virtual EMMA_EXPORT void setParent (Node *parent)
virtual EMMA_EXPORT void parentTransformChanged (Fusion::IObject *parent)
virtual EMMA_EXPORT void preRender ()
virtual EMMA_EXPORT void postRender ()
virtual EMMA_EXPORT bool isNode () const
virtual EMMA_EXPORT Fusion::UTF8String getFileBase () const
virtual EMMA_EXPORT void printSelf (uint32_t level)
EMMA_EXPORT void callFunctionOnAllChildren (typeSubsceneCallbackFunction)
 Call the given function on all *renderable* children of this node ( that is, on all values in fields that are marked "isRenderable").

Protected Member Functions

virtual EMMA_EXPORT ~Node ()
EMMA_EXPORT void clearHasEventsProcessed ()
EMMA_EXPORT void clearHasInitialize ()
virtual EMMA_EXPORT void _callParentTransformChangedOnChildren ()
EMMA_EXPORT void _registerField (const Fusion::UTF8String &name, const Fusion::UTF8String &type)

Static Protected Member Functions

static const char * _getTypeString (const Fusion::Vec2f &)
static const char * _getTypeString (const Fusion::Vec3f &)
static const char * _getTypeString (const Fusion::Vec4f &)
static const char * _getTypeString (const Fusion::Rotation &)
static const char * _getTypeString (const Fusion::Color3f &)
static const char * _getTypeString (const Fusion::Color4f &)
static bool _isType (Fusion::Args &args, bool)
static bool _isType (Fusion::Args &args, int32_t)
static bool _isType (Fusion::Args &args, double)
static bool _isType (Fusion::Args &args, float)
static bool _isType (Fusion::Args &args, Fusion::UTF8String &)
template<class t>
static void _castVector (Fusion::Args &args)
template<class t>
static void _castScalar (Fusion::Args &args)
static void _castSFURL (Fusion::Args &args)
template<class t>
static void _castMF (Fusion::Args &args)
static void _fireEventError (int32_t i, Fusion::Args &args)
static void _fireEvents (Fusion::Args &args)
static void _storeValue (Fusion::Args &args)
template<class t>
static int _setVector (lua_State *L)
template<class t>
static int _setScalar (lua_State *L)
static int _setSFNode (lua_State *L)
static int _setSFURL (lua_State *L)
static int _setSFValue (lua_State *L)
template<class t>
static int _setMF (lua_State *L)

Friends

class Instance

Detailed Description

Node is the abstract class for node behavior, from which all node types are derived.

It provides a common mechanism for encapsulating functionality which can be readily composed and delivered as an Emma scene graph.

Remarks:
Base class Object
Author:
Chris Marrin
Date:
3/17/2005


Member Typedef Documentation

typedef bool(* Emma::Node::typeSubsceneCallbackFunction)(Node *, Node *)
 


Constructor & Destructor Documentation

virtual EMMA_EXPORT Emma::Node::~Node  )  [inline, protected, virtual]
 

EMMA_EXPORT Emma::Node::Node  )  [inline]
 


Member Function Documentation

virtual EMMA_EXPORT void Emma::Node::_callParentTransformChangedOnChildren  )  [protected, virtual]
 

template<class t>
static void Emma::Node::_castMF Fusion::Args args  )  [inline, static, protected]
 

template<class t>
static void Emma::Node::_castScalar Fusion::Args args  )  [inline, static, protected]
 

static void Emma::Node::_castSFURL Fusion::Args args  )  [static, protected]
 

template<class t>
static void Emma::Node::_castVector Fusion::Args args  )  [inline, static, protected]
 

static void Emma::Node::_fireEventError int32_t  i,
Fusion::Args args
[static, protected]
 

static void Emma::Node::_fireEvents Fusion::Args args  )  [inline, static, protected]
 

static const char* Emma::Node::_getTypeString const Fusion::Color4f  )  [inline, static, protected]
 

static const char* Emma::Node::_getTypeString const Fusion::Color3f  )  [inline, static, protected]
 

static const char* Emma::Node::_getTypeString const Fusion::Rotation  )  [inline, static, protected]
 

static const char* Emma::Node::_getTypeString const Fusion::Vec4f  )  [inline, static, protected]
 

static const char* Emma::Node::_getTypeString const Fusion::Vec3f  )  [inline, static, protected]
 

static const char* Emma::Node::_getTypeString const Fusion::Vec2f  )  [inline, static, protected]
 

static bool Emma::Node::_isType Fusion::Args args,
Fusion::UTF8String
[inline, static, protected]
 

static bool Emma::Node::_isType Fusion::Args args,
float 
[inline, static, protected]
 

static bool Emma::Node::_isType Fusion::Args args,
double 
[inline, static, protected]
 

static bool Emma::Node::_isType Fusion::Args args,
int32_t 
[inline, static, protected]
 

static bool Emma::Node::_isType Fusion::Args args,
bool 
[inline, static, protected]
 

EMMA_EXPORT void Emma::Node::_registerField const Fusion::UTF8String name,
const Fusion::UTF8String type
[protected]
 

template<class t>
static int Emma::Node::_setMF lua_State *  L  )  [inline, static, protected]
 

template<class t>
static int Emma::Node::_setScalar lua_State *  L  )  [inline, static, protected]
 

static int Emma::Node::_setSFNode lua_State *  L  )  [inline, static, protected]
 

static int Emma::Node::_setSFURL lua_State *  L  )  [inline, static, protected]
 

static int Emma::Node::_setSFValue lua_State *  L  )  [inline, static, protected]
 

template<class t>
static int Emma::Node::_setVector lua_State *  L  )  [inline, static, protected]
 

static void Emma::Node::_storeValue Fusion::Args args  )  [inline, static, protected]
 

int32_t Emma::Node::addEvent IObject *  self,
const Fusion::UTF8String prop,
const Fusion::Value val
 

virtual EMMA_EXPORT Fusion::ResultType Emma::Node::beginFieldFiring const char *  property,
const Fusion::Value value
[inline, virtual]
 

Reimplemented in Emma::DirectionalLight, Emma::Fog, Emma::Material, Emma::MaterialInline, Emma::MaterialNode, Emma::Mesh, Emma::MeshAnimation, Emma::MeshInline, Emma::MeshInterpolator, Emma::ParticleInline, Emma::PointLight, Emma::SceneSurface, Emma::SpotLight, Emma::Camera, Emma::DeviceSensorNode, Emma::Environment, Emma::Group, Emma::Shape, Emma::Timer, Emma::TransformNode, Emma::VectorInterpolatorNode, Emma::Viewpoint, Emma::WxWidget, Emma::PlaneSensor, and Emma::SphereSensor.

EMMA_EXPORT void Emma::Node::callFunctionOnAllChildren typeSubsceneCallbackFunction   ) 
 

Call the given function on all *renderable* children of this node ( that is, on all values in fields that are marked "isRenderable").

virtual EMMA_EXPORT Fusion::ResultType Emma::Node::childFieldFired Node node,
const char *  property,
const Fusion::Value value
[inline, virtual]
 

Reimplemented in Emma::Texture.

EMMA_EXPORT void Emma::Node::clearHasEventsProcessed  )  [inline, protected]
 

EMMA_EXPORT void Emma::Node::clearHasInitialize  )  [inline, protected]
 

Emma::Node::DECLARE_CLASS_LINKAGE EMMA_EXPORT  ,
Node  ,
Object 
 

virtual EMMA_EXPORT Fusion::ResultType Emma::Node::endFieldFiring const char *  property,
const Fusion::Value value
[inline, virtual]
 

Reimplemented in Emma::SvgInline, Emma::Text2D, Emma::BackgroundInline, Emma::SurfaceNode, Emma::Texture, Emma::ButtonSensor, Emma::TransformNode, Emma::ValueSensor, Emma::VectorInterpolator, Emma::WindowSensor, and Emma::WxGUI.

virtual EMMA_EXPORT void Emma::Node::eventsProcessed  )  [inline, virtual]
 

Reimplemented in Emma::Camera, Emma::VectorInterpolator, and Emma::VectorInterpolatorNode.

virtual EMMA_EXPORT Fusion::UTF8String Emma::Node::getFileBase  )  const [virtual]
 

Reimplemented from Fusion::Object.

virtual EMMA_EXPORT bool Emma::Node::isNode  )  const [inline, virtual]
 

Reimplemented from Fusion::Object.

virtual EMMA_EXPORT void Emma::Node::parentTransformChanged Fusion::IObject parent  )  [inline, virtual]
 

Reimplemented in Emma::Group, Emma::Shape, and Emma::Viewpoint.

virtual EMMA_EXPORT void Emma::Node::postRender  )  [inline, virtual]
 

virtual EMMA_EXPORT void Emma::Node::preRender  )  [inline, virtual]
 

Reimplemented in Emma::Text2D.

virtual EMMA_EXPORT void Emma::Node::printSelf uint32_t  level  )  [virtual]
 

EMMA_EXPORT void Emma::Node::registerField const Fusion::UTF8String name,
const Fusion::UTF8String type,
const Fusion::Value val = Fusion::Value(),
bool  hasFieldFiring = true
 

bool Emma::Node::removeEvent const Fusion::UTF8String prop,
int32_t  i
 

EMMA_EXPORT void Emma::Node::setEventsProcessed  ) 
 

virtual EMMA_EXPORT int Emma::Node::setIndex lua_State *  l  )  [virtual]
 

Reimplemented from Fusion::Object.

EMMA_EXPORT void Emma::Node::setInitialize  ) 
 

virtual EMMA_EXPORT void Emma::Node::setParent Node parent  )  [inline, virtual]
 

Reimplemented in Emma::Text2D, Emma::GeometryNode, Emma::LightNode, Emma::MaterialNode, Emma::SurfaceNode, Emma::Texture, and Emma::TransformNode.

virtual EMMA_EXPORT Fusion::ResultType Emma::Node::toString Fusion::UTF8String s  )  const [virtual]
 

Convert this object to a string.

Reimplemented from Fusion::Object.


Friends And Related Function Documentation

friend class Instance [friend]
 


The documentation for this class was generated from the following file:
Generated on Sat Apr 1 06:08:24 2006 for Emma SDK Guide by  doxygen 1.4.3