20 #ifndef PS_EFFECT_ANCHOR_SOCKET_HEADER    21 #define PS_EFFECT_ANCHOR_SOCKET_HEADER    25 struct iSpriteCal3DState;
    26 struct iSpriteCal3DSocket;
    40     bool Load(iDocumentNode* node);
    42     bool Update(csTicks elapsed);
    48     void SetPosition(
const csVector3 & , iSector* , 
const csMatrix3 & ) {}
    49     void SetPosition(
const csVector3 & , iSectorList* , 
const csMatrix3 & ) {}
    67     iSpriteCal3DSocket* socket;
    70     csRef<iSpriteCal3DState> cal3d;
 
bool Create(const csVector3 &offset, iMeshWrapper *posAttach, bool rotateWithMesh=false)
Creates the effect anchor. 
 
bool rotateWithMesh
Whether the anchor should rotate with the mesh. This is so effects can stay aligned, e.g. flame sword. 
 
bool Load(iDocumentNode *node)
Loads the effect anchors from an xml node. 
 
psEffectAnchor * Clone() const 
Clones the effect anchor. 
 
void SetSocket(const char *name)
Sets the socket where this anchor is attached. 
 
const csString & GetSocketName() const 
Gets the name of the socket where this anchor is attached. 
 
bool Update(csTicks elapsed)
Updates the effect anchor – called every frame. 
 
void SetRotBase(const csMatrix3 &)
Sets the base rotation matrix of the effect anchor. 
 
void SetPosition(const csVector3 &, iSectorList *, const csMatrix3 &)
Sets a new position for the effect anchor. 
 
void SetPosition(const csVector3 &, iSector *, const csMatrix3 &)
Sets a new position for the effect anchor. 
 
Effect anchors provide a base location / anchor point for all effect objs.