CEL

Public API Reference

iCelPropertyClassTemplate Struct Reference

This is a property class template for an entity. More...

#include <physicallayer/entitytpl.h>

Inheritance diagram for iCelPropertyClassTemplate:

List of all members.

Public Member Functions

virtual size_t FindProperty (csStringID id) const =0
 Find a given property by it's id.
virtual const char * GetName () const =0
 Get the name of this property class.
virtual csRef
< iCelParameterIterator
GetProperty (size_t idx, csStringID &id, celData &data) const =0
 Get a property.
virtual size_t GetPropertyCount () const =0
 Get the number of properties and actions.
virtual const char * GetTag () const =0
 Get the tag of this property class or return 0 if there is no tag.
virtual void PerformAction (csStringID actionID, const csHash< csRef< iParameter >, csStringID > &params)=0
 Perform an action with a generic parameter list.
virtual void RemoveAllProperties ()=0
 Remove all properties.
virtual void RemoveProperty (csStringID id)=0
 Remove all properties with the given id.
virtual void RemovePropertyByIndex (size_t idx)=0
 Remove a property by index.
virtual void ReplaceActionParameters (size_t idx, const csHash< csRef< iParameter >, csStringID > &params)=0
 Replace the parameterblock for a given action.
virtual void SetName (const char *name)=0
 Set the name of this property class.
virtual void SetProperty (csStringID propertyID, iCelEntity *entity)=0
 Set a generic property.
virtual void SetProperty (csStringID propertyID, iCelPropertyClass *value)=0
 Set a generic property.
virtual void SetProperty (csStringID propertyID, const csColor &value)=0
 Set a generic property.
virtual void SetProperty (csStringID propertyID, const csVector3 &value)=0
 Set a generic property.
virtual void SetProperty (csStringID propertyID, const csVector2 &value)=0
 Set a generic property.
virtual void SetProperty (csStringID propertyID, const char *value)=0
 Set a generic property.
virtual void SetProperty (csStringID propertyID, bool value)=0
 Set a generic property.
virtual void SetProperty (csStringID propertyID, float value)=0
 Set a generic property.
virtual void SetProperty (csStringID propertyID, long value)=0
 Set a generic property.
virtual void SetPropertyVariable (csStringID propertyID, celDataType type, const char *varname)=0
 Set a property with variables instead of a predefined value.
virtual void SetTag (const char *tagname)=0
 Set the optional tag of this property class.

Detailed Description

This is a property class template for an entity.

A property class describe physical attributes of an entity.

Definition at line 241 of file entitytpl.h.


Member Function Documentation

virtual size_t iCelPropertyClassTemplate::FindProperty ( csStringID  id  )  const [pure virtual]

Find a given property by it's id.

Return csArrayItemNotFound if not found.

virtual const char* iCelPropertyClassTemplate::GetName (  )  const [pure virtual]

Get the name of this property class.

virtual csRef<iCelParameterIterator> iCelPropertyClassTemplate::GetProperty ( size_t  idx,
csStringID id,
celData data 
) const [pure virtual]

Get a property.

If the property is an action (data.type == CEL_DATA_NONE) then the returned iterator will iterate over all parameters of that action.

virtual size_t iCelPropertyClassTemplate::GetPropertyCount (  )  const [pure virtual]

Get the number of properties and actions.

virtual const char* iCelPropertyClassTemplate::GetTag (  )  const [pure virtual]

Get the tag of this property class or return 0 if there is no tag.

virtual void iCelPropertyClassTemplate::PerformAction ( csStringID  actionID,
const csHash< csRef< iParameter >, csStringID > &  params 
) [pure virtual]

Perform an action with a generic parameter list.

virtual void iCelPropertyClassTemplate::RemoveAllProperties (  )  [pure virtual]

Remove all properties.

virtual void iCelPropertyClassTemplate::RemoveProperty ( csStringID  id  )  [pure virtual]

Remove all properties with the given id.

virtual void iCelPropertyClassTemplate::RemovePropertyByIndex ( size_t  idx  )  [pure virtual]

Remove a property by index.

virtual void iCelPropertyClassTemplate::ReplaceActionParameters ( size_t  idx,
const csHash< csRef< iParameter >, csStringID > &  params 
) [pure virtual]

Replace the parameterblock for a given action.

virtual void iCelPropertyClassTemplate::SetName ( const char *  name  )  [pure virtual]

Set the name of this property class.

virtual void iCelPropertyClassTemplate::SetProperty ( csStringID  propertyID,
iCelEntity entity 
) [pure virtual]

Set a generic property.

virtual void iCelPropertyClassTemplate::SetProperty ( csStringID  propertyID,
iCelPropertyClass value 
) [pure virtual]

Set a generic property.

virtual void iCelPropertyClassTemplate::SetProperty ( csStringID  propertyID,
const csColor value 
) [pure virtual]

Set a generic property.

virtual void iCelPropertyClassTemplate::SetProperty ( csStringID  propertyID,
const csVector3 value 
) [pure virtual]

Set a generic property.

virtual void iCelPropertyClassTemplate::SetProperty ( csStringID  propertyID,
const csVector2 value 
) [pure virtual]

Set a generic property.

virtual void iCelPropertyClassTemplate::SetProperty ( csStringID  propertyID,
const char *  value 
) [pure virtual]

Set a generic property.

virtual void iCelPropertyClassTemplate::SetProperty ( csStringID  propertyID,
bool  value 
) [pure virtual]

Set a generic property.

virtual void iCelPropertyClassTemplate::SetProperty ( csStringID  propertyID,
float  value 
) [pure virtual]

Set a generic property.

virtual void iCelPropertyClassTemplate::SetProperty ( csStringID  propertyID,
long  value 
) [pure virtual]

Set a generic property.

In order to make it easier to access properties in a property class from general scripting languages this generic interface to properties is provided. It is always faster and more efficient to set properties directly but this system is usable in general.

This function returns false if the property could not be set for some reason.

The physical layer maintains a registry of ID's to use.

virtual void iCelPropertyClassTemplate::SetPropertyVariable ( csStringID  propertyID,
celDataType  type,
const char *  varname 
) [pure virtual]

Set a property with variables instead of a predefined value.

This uses CEL_DATA_PARAMETER.

virtual void iCelPropertyClassTemplate::SetTag ( const char *  tagname  )  [pure virtual]

Set the optional tag of this property class.

Multiple property classes of the same type (same name) can be attached to the same entity. To do that you need to add a tag so that you can uniquely identify them.


The documentation for this struct was generated from the following file:

Generated for CEL: Crystal Entity Layer 2.1 by doxygen 1.6.1