## Public API Reference

- Main Page
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iCelPropertyClassTemplate Struct Reference

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

`#include <physicallayer/entitytpl.h>`

List of all members.

## Public Member Functions

virtual const char * | GetName () const =0
| Get the name of this property class.
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, iCelParameterBlock *params)=0
| Perform an action with a generic parameter list.
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 122 of file entitytpl.h.

## Member Function Documentation

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

Get the name of this property class.

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,
|  | iCelParameterBlock * | params |
| ) |  |  | `[pure virtual]`

Perform an action with a generic parameter list.

The parameters here support CEL_DATA_PARAMETER.

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. The convention is to use property names like: 'cel.property.num'.

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:

- physicallayer/entitytpl.h