Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

RayGina::CORE::RatBase Class Reference

#include <RatBase.hxx>

Inheritance diagram for RayGina::CORE::RatBase:

RayGina::CORE::RatConstSimple< T, typeID > RayGina::CORE::RatConstSimpleArray< T, typeID > RayGina::CORE::RatSimple< T, typeID > RayGina::CORE::RatSimpleArray< T, typeID > List of all members.

Public Types

enum  RATBASE_TYPE {
  RATBASE_TYPE_UNKNOWN = 0, RATBASE_TYPE_GROUP, RATBASE_TYPE_ROBJECT, RATBASE_TYPE_RSTRING,
  RATBASE_TYPE_RINT8, RATBASE_TYPE_RUINT8, RATBASE_TYPE_RINT16, RATBASE_TYPE_RUINT16,
  RATBASE_TYPE_RINT32, RATBASE_TYPE_RUINT32, RATBASE_TYPE_RINT64, RATBASE_TYPE_RUINT64,
  RATBASE_TYPE_RINT, RATBASE_TYPE_RUINT, RATBASE_TYPE_RREAL, RATBASE_TYPE_RREAL32,
  RATBASE_TYPE_RREAL64, RATBASE_TYPE_RCHAR, RATBASE_TYPE_RUCHAR, RATBASE_TYPE_RBYTE,
  RATBASE_TYPE_RBOOL, RATBASE_TYPE_RVEC4F, RATBASE_TYPE_RVEC4R, RATBASE_TYPE_RVEC4D,
  RATBASE_TYPE_RVEC4U, RATBASE_TYPE_RVEC4I, RATBASE_TYPE_RVEC3F, RATBASE_TYPE_RVEC3R,
  RATBASE_TYPE_RVEC3D, RATBASE_TYPE_RVEC3U, RATBASE_TYPE_RVEC3I, RATBASE_TYPE_RVEC2F,
  RATBASE_TYPE_RVEC2R, RATBASE_TYPE_RVEC2D, RATBASE_TYPE_RVEC2U, RATBASE_TYPE_RVEC2I,
  RATBASE_TYPE_RCOLOR, RATBASE_TYPE_RMATRIX, RATBASE_TYPE_RMATRIX4X4, RATBASE_TYPE_RRAY
}

Public Member Functions

 RatBase (const RString longName, const RString shortName, const RBool connectable=false, const RBool pureOutput=false, const RBool arrayType=false)
virtual ~RatBase ()
virtual const RStatus setValue (RObject *instance, void *value, const RUInt32 index=0) const =0
virtual const RStatus getValue (RObject *instance, void *value, RRenderCom *renderCom, const RUInt32 index=0) const =0
virtual const RStatus setArraySize (RObject *instance, const RUInt32 newSize) const
virtual const RUInt32 getArraySize (RObject *instance) const
 returns the size of the attribute or 0 when it's no array attribute
virtual const RUChar getType () const =0
 returns the type of the attribute
virtual RatBaseduplicate ()=0
 duplicate the attribute
const RBool isConnectable () const
 returns true if you are able to connect to this attribute
const RString getLongName () const
 return the long name of the attribute
const RString getShortName () const
 return the short name of the attribute
const RBool isConnected () const
 returns true is this attribute has a incoming connection
const RBool isArray () const
 return true if the attribute is an array
const RBool isPureOutput () const
 return true if the attribute is an array
const RUInt32 getContainerPosition () const
 returns the position/index in the container
void setContainerPosition (const RUInt32 newPosition)
 returns the position/index in the container
const RBool makeDynamic (RObject *newRObject)
const RBool connectTo (RatBase *sourceAttribute, const RBool force=false)
virtual const RUInt32 getNumberOfEntries (RStatus *status)
virtual const RStatus setNumberOfEntries (const RUInt32)
 this function resize the array

Protected Member Functions

 RatBase ()
const RBool createsLoop (const RatBase *sourceAttr, const RatBase *destAttr) const
RatConnectiongetInConnection () const
 returns the connected Attribute or NULL if there is no incoming connection
const RBool removeInConnection ()
 erases the incoming connection

Protected Attributes

RObject_myRObject
RString _longName
RString _shortName
RUInt32 _containerPosition
RBool _isConnectable
RBool _pureOutput
RBool _isArray
RatConnection_connection

Member Enumeration Documentation

enum RayGina::CORE::RatBase::RATBASE_TYPE
 

Enumeration values:
RATBASE_TYPE_UNKNOWN 
RATBASE_TYPE_GROUP  UNKNOWN ATTRIBUTE
RATBASE_TYPE_ROBJECT  Attribute for a group
RATBASE_TYPE_RSTRING  Attribute for a RObject
RATBASE_TYPE_RINT8  Attribute for a RString
RATBASE_TYPE_RUINT8  Attribute for a RInt8
RATBASE_TYPE_RINT16  Attribute for a RUInt8
RATBASE_TYPE_RUINT16  Attribute for a RInt16
RATBASE_TYPE_RINT32  Attribute for a RUInt16
RATBASE_TYPE_RUINT32  Attribute for a RInt32
RATBASE_TYPE_RINT64  Attribute for a RUInt64
RATBASE_TYPE_RUINT64  Attribute for a RInt64
RATBASE_TYPE_RINT  Attribute for a RUInt64
RATBASE_TYPE_RUINT  Attribute for a RInt
RATBASE_TYPE_RREAL  Attribute for a RUInt
RATBASE_TYPE_RREAL32  Attribute for a RReal
RATBASE_TYPE_RREAL64  Attribute for a RReal32
RATBASE_TYPE_RCHAR  Attribute for a RReal64
RATBASE_TYPE_RUCHAR  Attribute for a RChar
RATBASE_TYPE_RBYTE  Attribute for a RUChar
RATBASE_TYPE_RBOOL  Attribute for a RBYTE
RATBASE_TYPE_RVEC4F  Attribute for a RBOOL
RATBASE_TYPE_RVEC4R  Attribute for a RVec4f
RATBASE_TYPE_RVEC4D  Attribute for a RVec4r
RATBASE_TYPE_RVEC4U  Attribute for a RVec4d
RATBASE_TYPE_RVEC4I  Attribute for a RVec4u
RATBASE_TYPE_RVEC3F  Attribute for a RVec4i
RATBASE_TYPE_RVEC3R  Attribute for a RVec3f
RATBASE_TYPE_RVEC3D  Attribute for a RVec3r
RATBASE_TYPE_RVEC3U  Attribute for a RVec3d
RATBASE_TYPE_RVEC3I  Attribute for a RVec3u
RATBASE_TYPE_RVEC2F  Attribute for a RVec3i
RATBASE_TYPE_RVEC2R  Attribute for a RVec2f
RATBASE_TYPE_RVEC2D  Attribute for a RVec2r
RATBASE_TYPE_RVEC2U  Attribute for a RVec2d
RATBASE_TYPE_RVEC2I  Attribute for a RVec2u
RATBASE_TYPE_RCOLOR  Attribute for a RVec2i
RATBASE_TYPE_RMATRIX  Attribute for a RColor
RATBASE_TYPE_RMATRIX4X4  Attribute for a RMatrix
RATBASE_TYPE_RRAY  Attribute for a RRay

Definition at line 52 of file RatBase.hxx.


Constructor & Destructor Documentation

RayGina::CORE::RatBase::RatBase const RString  longName,
const RString  shortName,
const RBool  connectable = false,
const RBool  pureOutput = false,
const RBool  arrayType = false
[inline]
 

Definition at line 30 of file RatBase.hxx.

RayGina::CORE::RatBase::RatBase  )  [inline, protected]
 

Definition at line 49 of file RatBase.hxx.

virtual RayGina::CORE::RatBase::~RatBase  )  [inline, virtual]
 

Definition at line 95 of file RatBase.hxx.


Member Function Documentation

const RBool RatBase::connectTo RatBase sourceAttribute,
const RBool  force = false
 

Creates a connection between the given attribute (inAttribute) and the instance

If force is true a already existing connection will be overwritten If force is false (default) and the attribute has already a incoming connection the operation fails and returns false

returns true if the connection could be successfully established!

Definition at line 10 of file RatBase.cxx.

const RBool RatBase::createsLoop const RatBase sourceAttr,
const RatBase destAttr
const [protected]
 

Definition at line 28 of file RatBase.cxx.

virtual RatBase* RayGina::CORE::RatBase::duplicate  )  [pure virtual]
 

duplicate the attribute

Implemented in RayGina::CORE::RatConstSimple< T, typeID >, RayGina::CORE::RatSimple< T, typeID >, RayGina::CORE::RatSimpleArray< T, typeID >, RayGina::CORE::RatConstSimpleArray< T, typeID >, RayGina::CORE::RatConstSimple< RReal32, RatBase::RATBASE_TYPE_RREAL32 >, RayGina::CORE::RatConstSimple< RVec3f, RatBase::RATBASE_TYPE_RVEC3F >, RayGina::CORE::RatConstSimple< RColor, RatBase::RATBASE_TYPE_RCOLOR >, and RayGina::CORE::RatSimple< RObject *, RatBase::RATBASE_TYPE_ROBJECT >.

virtual const RUInt32 RayGina::CORE::RatBase::getArraySize RObject instance  )  const [inline, virtual]
 

returns the size of the attribute or 0 when it's no array attribute

Reimplemented in RayGina::CORE::RatSimpleArray< T, typeID >, and RayGina::CORE::RatConstSimpleArray< T, typeID >.

Definition at line 106 of file RatBase.hxx.

const RUInt32 RayGina::CORE::RatBase::getContainerPosition  )  const [inline]
 

returns the position/index in the container

Definition at line 147 of file RatBase.hxx.

RatConnection* RayGina::CORE::RatBase::getInConnection  )  const [inline, protected]
 

returns the connected Attribute or NULL if there is no incoming connection

Definition at line 204 of file RatBase.hxx.

const RString RayGina::CORE::RatBase::getLongName  )  const [inline]
 

return the long name of the attribute

Definition at line 122 of file RatBase.hxx.

virtual const RUInt32 RayGina::CORE::RatBase::getNumberOfEntries RStatus status  )  [inline, virtual]
 

ARRAY METHODS THESE ARE ONLY AVLID IF THE ATTRIBUTE IS AN ARRAY

*

Definition at line 191 of file RatBase.hxx.

const RString RayGina::CORE::RatBase::getShortName  )  const [inline]
 

return the short name of the attribute

Definition at line 127 of file RatBase.hxx.

virtual const RUChar RayGina::CORE::RatBase::getType  )  const [pure virtual]
 

returns the type of the attribute

Implemented in RayGina::CORE::RatConstSimple< T, typeID >, RayGina::CORE::RatSimple< T, typeID >, RayGina::CORE::RatSimpleArray< T, typeID >, RayGina::CORE::RatConstSimpleArray< T, typeID >, RayGina::CORE::RatConstSimple< RReal32, RatBase::RATBASE_TYPE_RREAL32 >, RayGina::CORE::RatConstSimple< RVec3f, RatBase::RATBASE_TYPE_RVEC3F >, RayGina::CORE::RatConstSimple< RColor, RatBase::RATBASE_TYPE_RCOLOR >, and RayGina::CORE::RatSimple< RObject *, RatBase::RATBASE_TYPE_ROBJECT >.

virtual const RStatus RayGina::CORE::RatBase::getValue RObject instance,
void *  value,
RRenderCom renderCom,
const RUInt32  index = 0
const [pure virtual]
 

Implemented in RayGina::CORE::RatConstSimple< T, typeID >, RayGina::CORE::RatSimple< T, typeID >, RayGina::CORE::RatSimpleArray< T, typeID >, RayGina::CORE::RatConstSimpleArray< T, typeID >, RayGina::CORE::RatConstSimple< RReal32, RatBase::RATBASE_TYPE_RREAL32 >, RayGina::CORE::RatConstSimple< RVec3f, RatBase::RATBASE_TYPE_RVEC3F >, RayGina::CORE::RatConstSimple< RColor, RatBase::RATBASE_TYPE_RCOLOR >, and RayGina::CORE::RatSimple< RObject *, RatBase::RATBASE_TYPE_ROBJECT >.

const RBool RayGina::CORE::RatBase::isArray  )  const [inline]
 

return true if the attribute is an array

Definition at line 137 of file RatBase.hxx.

const RBool RayGina::CORE::RatBase::isConnectable  )  const [inline]
 

returns true if you are able to connect to this attribute

Definition at line 117 of file RatBase.hxx.

const RBool RayGina::CORE::RatBase::isConnected  )  const [inline]
 

returns true is this attribute has a incoming connection

Definition at line 132 of file RatBase.hxx.

const RBool RayGina::CORE::RatBase::isPureOutput  )  const [inline]
 

return true if the attribute is an array

Definition at line 142 of file RatBase.hxx.

const RBool RayGina::CORE::RatBase::makeDynamic RObject newRObject  )  [inline]
 

Definition at line 157 of file RatBase.hxx.

const RBool RayGina::CORE::RatBase::removeInConnection  )  [inline, protected]
 

erases the incoming connection

Definition at line 209 of file RatBase.hxx.

virtual const RStatus RayGina::CORE::RatBase::setArraySize RObject instance,
const RUInt32  newSize
const [inline, virtual]
 

Reimplemented in RayGina::CORE::RatSimpleArray< T, typeID >, and RayGina::CORE::RatConstSimpleArray< T, typeID >.

Definition at line 101 of file RatBase.hxx.

void RayGina::CORE::RatBase::setContainerPosition const RUInt32  newPosition  )  [inline]
 

returns the position/index in the container

Definition at line 152 of file RatBase.hxx.

virtual const RStatus RayGina::CORE::RatBase::setNumberOfEntries const   RUInt32  )  [inline, virtual]
 

this function resize the array

Definition at line 197 of file RatBase.hxx.

virtual const RStatus RayGina::CORE::RatBase::setValue RObject instance,
void *  value,
const RUInt32  index = 0
const [pure virtual]
 

Implemented in RayGina::CORE::RatConstSimple< T, typeID >, RayGina::CORE::RatSimple< T, typeID >, RayGina::CORE::RatSimpleArray< T, typeID >, RayGina::CORE::RatConstSimpleArray< T, typeID >, RayGina::CORE::RatConstSimple< RReal32, RatBase::RATBASE_TYPE_RREAL32 >, RayGina::CORE::RatConstSimple< RVec3f, RatBase::RATBASE_TYPE_RVEC3F >, RayGina::CORE::RatConstSimple< RColor, RatBase::RATBASE_TYPE_RCOLOR >, and RayGina::CORE::RatSimple< RObject *, RatBase::RATBASE_TYPE_ROBJECT >.


Member Data Documentation

RatConnection* RayGina::CORE::RatBase::_connection [protected]
 

Definition at line 28 of file RatBase.hxx.

RUInt32 RayGina::CORE::RatBase::_containerPosition [protected]
 

Definition at line 22 of file RatBase.hxx.

RBool RayGina::CORE::RatBase::_isArray [protected]
 

Definition at line 26 of file RatBase.hxx.

RBool RayGina::CORE::RatBase::_isConnectable [protected]
 

Definition at line 24 of file RatBase.hxx.

RString RayGina::CORE::RatBase::_longName [protected]
 

Definition at line 19 of file RatBase.hxx.

RObject* RayGina::CORE::RatBase::_myRObject [protected]
 

Definition at line 17 of file RatBase.hxx.

RBool RayGina::CORE::RatBase::_pureOutput [protected]
 

Definition at line 25 of file RatBase.hxx.

RString RayGina::CORE::RatBase::_shortName [protected]
 

Definition at line 20 of file RatBase.hxx.


The documentation for this class was generated from the following files:
Generated on Sun Dec 2 17:01:09 2007 for rayGina by  doxygen 1.3.9.1