Pyrogenesis  trunk
Public Member Functions | List of all members
ICmpVisual Class Referenceabstract

The visual representation of an entity (typically an actor). More...

#include <ICmpVisual.h>

Inheritance diagram for ICmpVisual:
Inheritance graph
[legend]
Collaboration diagram for ICmpVisual:
Collaboration graph
[legend]

Public Member Functions

virtual CBoundingBoxAligned GetBounds () const =0
 Get the world-space bounding box of the object's visual representation. More...
 
virtual CBoundingBoxOriented GetSelectionBox () const =0
 Get the oriented world-space bounding box of the object's visual representation, clipped at the Y=0 plane in object space to prevent it from extending into the terrain. More...
 
virtual CVector3D GetPosition () const =0
 Get the world-space position of the base point of the object's visual representation. More...
 
virtual std::wstring GetActorShortName () const =0
 Return the short name of the actor that's being displayed, or the empty string on error. More...
 
virtual std::wstring GetProjectileActor () const =0
 Return the filename of the actor to be used for projectiles from this unit, or the empty string if none. More...
 
virtual CVector3D GetProjectileLaunchPoint () const =0
 Return the exact position where a projectile should be launched from (based on the actor's ammo prop points). More...
 
virtual CUnitGetUnit ()=0
 Returns the underlying unit of this visual actor. More...
 
virtual void SetVariant (const CStr &key, const CStr &selection)=0
 Set the variant selection of the actor for a certain key. More...
 
virtual std::string GetAnimationName () const =0
 Returns the name of the currently played animation. More...
 
virtual void SelectAnimation (const std::string &name, bool once, fixed speed, const std::wstring &soundgroup)=0
 Start playing the given animation. More...
 
virtual void ReplaceMoveAnimation (const std::string &name, const std::string &replace)=0
 Replaces a specified animation with another. More...
 
virtual void ResetMoveAnimation (const std::string &name)=0
 Ensures that the given animation will be used when it normally would be, removing reference to any animation that might replace it. More...
 
virtual void SelectMovementAnimation (fixed runThreshold)=0
 Start playing the walk/run animations, scaled to the unit's movement speed. More...
 
virtual void SetAnimationSyncRepeat (fixed repeattime)=0
 Adjust the speed of the current animation, so it can match simulation events. More...
 
virtual void SetAnimationSyncOffset (fixed actiontime)=0
 Adjust the offset of the current animation, so it can match simulation events. More...
 
virtual void SetShadingColor (fixed r, fixed g, fixed b, fixed a)=0
 Set the shading color that will be modulated with the model's textures. More...
 
virtual void SetVariable (const std::string &name, float value)=0
 Set an arbitrarily-named variable that the model may use to alter its appearance (e.g. More...
 
virtual u32 GetActorSeed () const =0
 Get actor seed used for random variations. More...
 
virtual void SetActorSeed (u32 seed)=0
 Set actor seed for random variations and reload model. More...
 
virtual bool HasConstructionPreview () const =0
 Returns true if this entity should have a construction preview. More...
 
virtual void Hotload (const VfsPath &name)=0
 Called when an actor file has been modified and reloaded dynamically. More...
 
- Public Member Functions inherited from IComponent
virtual ~IComponent ()
 
virtual void Init (const CParamNode &paramNode)=0
 
virtual void Deinit ()=0
 
virtual void HandleMessage (const CMessage &msg, bool global)
 
CEntityHandle GetEntityHandle () const
 
void SetEntityHandle (CEntityHandle ent)
 
entity_id_t GetEntityId () const
 
CEntityHandle GetSystemEntity () const
 
const CSimContextGetSimContext () const
 
void SetSimContext (const CSimContext &context)
 
virtual void Serialize (ISerializer &serialize)=0
 
virtual void Deserialize (const CParamNode &paramNode, IDeserializer &deserialize)=0
 
virtual bool NewJSObject (ScriptInterface &scriptInterface, JS::MutableHandleObject out) const
 Returns false by default, indicating that a scripted wrapper of this IComponent is not supported. More...
 
virtual JS::Value GetJSInstance () const
 
virtual int GetComponentTypeId () const =0
 

Additional Inherited Members

- Static Public Member Functions inherited from IComponent
static std::string GetSchema ()
 
static u8 GetSerializationVersion ()
 

Detailed Description

The visual representation of an entity (typically an actor).

Member Function Documentation

virtual u32 ICmpVisual::GetActorSeed ( ) const
pure virtual

Get actor seed used for random variations.

Implemented in CCmpVisualActor.

virtual std::wstring ICmpVisual::GetActorShortName ( ) const
pure virtual

Return the short name of the actor that's being displayed, or the empty string on error.

(Not safe for use in simulation code.)

Implemented in CCmpVisualActor.

virtual std::string ICmpVisual::GetAnimationName ( ) const
pure virtual

Returns the name of the currently played animation.

Implemented in CCmpVisualActor.

virtual CBoundingBoxAligned ICmpVisual::GetBounds ( ) const
pure virtual

Get the world-space bounding box of the object's visual representation.

(Not safe for use in simulation code.)

Implemented in CCmpVisualActor.

virtual CVector3D ICmpVisual::GetPosition ( ) const
pure virtual

Get the world-space position of the base point of the object's visual representation.

(Not safe for use in simulation code.)

Implemented in CCmpVisualActor.

virtual std::wstring ICmpVisual::GetProjectileActor ( ) const
pure virtual

Return the filename of the actor to be used for projectiles from this unit, or the empty string if none.

(Not safe for use in simulation code.)

Implemented in CCmpVisualActor.

virtual CVector3D ICmpVisual::GetProjectileLaunchPoint ( ) const
pure virtual

Return the exact position where a projectile should be launched from (based on the actor's ammo prop points).

Returns (0,0,0) if no point can be found.

Implemented in CCmpVisualActor.

virtual CBoundingBoxOriented ICmpVisual::GetSelectionBox ( ) const
pure virtual

Get the oriented world-space bounding box of the object's visual representation, clipped at the Y=0 plane in object space to prevent it from extending into the terrain.

The primary difference with GetBounds is that this bounding box is not aligned to the world axes, but arbitrarily rotated according to the model transform.

Implemented in CCmpVisualActor.

virtual CUnit* ICmpVisual::GetUnit ( )
pure virtual

Returns the underlying unit of this visual actor.

May return NULL to indicate that no unit exists (e.g. may happen if the game is started without graphics rendering). Originally intended for introspection purposes in Atlas; for other purposes, consider using a specialized getter first.

Implemented in CCmpVisualActor.

virtual bool ICmpVisual::HasConstructionPreview ( ) const
pure virtual

Returns true if this entity should have a construction preview.

Implemented in CCmpVisualActor.

virtual void ICmpVisual::Hotload ( const VfsPath name)
pure virtual

Called when an actor file has been modified and reloaded dynamically.

If this component uses the named actor file, it should regenerate its actor to pick up the new definitions.

Implemented in CCmpVisualActor.

virtual void ICmpVisual::ReplaceMoveAnimation ( const std::string &  name,
const std::string &  replace 
)
pure virtual

Replaces a specified animation with another.

Only affects the special speed-based animation determination behaviour.

Parameters
nameAnimation to match.
replaceAnimation that should replace the matched animation.

Implemented in CCmpVisualActor.

virtual void ICmpVisual::ResetMoveAnimation ( const std::string &  name)
pure virtual

Ensures that the given animation will be used when it normally would be, removing reference to any animation that might replace it.

Parameters
nameAnimation name to remove from the replacement map.

Implemented in CCmpVisualActor.

virtual void ICmpVisual::SelectAnimation ( const std::string &  name,
bool  once,
fixed  speed,
const std::wstring &  soundgroup 
)
pure virtual

Start playing the given animation.

If there are multiple possible animations then it will pick one at random (not network-synchronised). If soundgroup is specified, then the sound will be played at each 'event' point in the animation cycle.

Parameters
nameanimation name (e.g. "idle", "walk", "melee"; the names are determined by actor XML files)
onceif true then the animation will play once and freeze at the final frame, else it will loop
speedanimation speed multiplier (typically 1.0 for the default speed)
soundgroupVFS path of sound group .xml, relative to audio/, or empty string for none

Implemented in CCmpVisualActor.

virtual void ICmpVisual::SelectMovementAnimation ( fixed  runThreshold)
pure virtual

Start playing the walk/run animations, scaled to the unit's movement speed.

Parameters
runThresholdmovement speed at which to switch to the run animation

Implemented in CCmpVisualActor.

virtual void ICmpVisual::SetActorSeed ( u32  seed)
pure virtual

Set actor seed for random variations and reload model.

Implemented in CCmpVisualActor.

virtual void ICmpVisual::SetAnimationSyncOffset ( fixed  actiontime)
pure virtual

Adjust the offset of the current animation, so it can match simulation events.

Parameters
actiontimetime between now and when the 'action' event should occur, in msec

Implemented in CCmpVisualActor.

virtual void ICmpVisual::SetAnimationSyncRepeat ( fixed  repeattime)
pure virtual

Adjust the speed of the current animation, so it can match simulation events.

Parameters
repeattimetime for complete loop of animation, in msec

Implemented in CCmpVisualActor.

virtual void ICmpVisual::SetShadingColor ( fixed  r,
fixed  g,
fixed  b,
fixed  a 
)
pure virtual

Set the shading color that will be modulated with the model's textures.

Default shading is (1, 1, 1, 1). Alpha should probably be 1 else it's unlikely to work properly.

Parameters
rred component, expected range [0, 1]
ggreen component, expected range [0, 1]
bblue component, expected range [0, 1]
aalpha component, expected range [0, 1]

Implemented in CCmpVisualActor.

virtual void ICmpVisual::SetVariable ( const std::string &  name,
float  value 
)
pure virtual

Set an arbitrarily-named variable that the model may use to alter its appearance (e.g.

in particle emitter parameter computations).

Implemented in CCmpVisualActor.

virtual void ICmpVisual::SetVariant ( const CStr &  key,
const CStr &  selection 
)
pure virtual

Set the variant selection of the actor for a certain key.

This overrides a previous selection on that key, so every component should use unique keys.

Implemented in CCmpVisualActor.


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