Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
ObjectDrawInterface Class Referenceabstract

#include <DrawModule.h>

Inherited by W3DModelDraw.

Public Member Functions

virtual Bool clientOnly_getRenderObjInfo (Coord3D *pos, Real *boundingSphereRadius, Matrix3D *transform) const =0
 
virtual Bool clientOnly_getRenderObjBoundBox (OBBoxClass *boundbox) const =0
 
virtual Bool clientOnly_getRenderObjBoneTransform (const AsciiString &boneName, Matrix3D *set_tm) const =0
 
virtual Int getPristineBonePositionsForConditionState (const ModelConditionFlags &condition, const char *boneNamePrefix, Int startIndex, Coord3D *positions, Matrix3D *transforms, Int maxBones) const =0
 
virtual Int getCurrentBonePositions (const char *boneNamePrefix, Int startIndex, Coord3D *positions, Matrix3D *transforms, Int maxBones) const =0
 
virtual Bool getCurrentWorldspaceClientBonePositions (const char *boneName, Matrix3D &transform) const =0
 
virtual Bool getProjectileLaunchOffset (const ModelConditionFlags &condition, WeaponSlotType wslot, Int specificBarrelToUse, Matrix3D *launchPos, WhichTurretType tur, Coord3D *turretRotPos, Coord3D *turretPitchPos) const =0
 
virtual void updateProjectileClipStatus (UnsignedInt shotsRemaining, UnsignedInt maxShots, WeaponSlotType slot)=0
 This will do the show/hide work if ProjectileBoneFeedbackEnabled is set.
 
virtual void updateDrawModuleSupplyStatus (Int maxSupply, Int currentSupply)=0
 This will do visual feedback on Supplies carried.
 
virtual void notifyDrawModuleDependencyCleared ()=0
 if you were waiting for something before you drew, it's ready now
 
virtual void setHidden (Bool h)=0
 
virtual void replaceModelConditionState (const ModelConditionFlags &a)=0
 
virtual void replaceIndicatorColor (Color color)=0
 
virtual Bool handleWeaponFireFX (WeaponSlotType wslot, Int specificBarrelToUse, const FXList *fxl, Real weaponSpeed, const Coord3D *victimPos, Real damageRadius)=0
 
virtual Int getBarrelCount (WeaponSlotType wslot) const =0
 
virtual void setSelectable (Bool selectable)=0
 
virtual void setAnimationLoopDuration (UnsignedInt numFrames)=0
 
virtual void setAnimationCompletionTime (UnsignedInt numFrames)=0
 
virtual Bool updateBonesForClientParticleSystems (void)=0
 this will reposition particle systems on the fly ML
 
virtual void setAnimationFrame (int frame)=0
 
virtual void setPauseAnimation (Bool pauseAnim)=0
 
virtual void updateSubObjects ()=0
 
virtual void showSubObject (const AsciiString &name, Bool show)=0
 

Detailed Description

Definition at line 155 of file DrawModule.h.

Member Function Documentation

◆ clientOnly_getRenderObjBoneTransform()

virtual Bool ObjectDrawInterface::clientOnly_getRenderObjBoneTransform ( const AsciiString & boneName,
Matrix3D * set_tm ) const
pure virtual

Implemented in W3DModelDraw.

◆ clientOnly_getRenderObjBoundBox()

virtual Bool ObjectDrawInterface::clientOnly_getRenderObjBoundBox ( OBBoxClass * boundbox) const
pure virtual

Implemented in W3DModelDraw.

◆ clientOnly_getRenderObjInfo()

virtual Bool ObjectDrawInterface::clientOnly_getRenderObjInfo ( Coord3D * pos,
Real * boundingSphereRadius,
Matrix3D * transform ) const
pure virtual

Implemented in W3DModelDraw.

◆ getBarrelCount()

virtual Int ObjectDrawInterface::getBarrelCount ( WeaponSlotType wslot) const
pure virtual

Implemented in W3DModelDraw.

◆ getCurrentBonePositions()

virtual Int ObjectDrawInterface::getCurrentBonePositions ( const char * boneNamePrefix,
Int startIndex,
Coord3D * positions,
Matrix3D * transforms,
Int maxBones ) const
pure virtual

Implemented in W3DModelDraw.

◆ getCurrentWorldspaceClientBonePositions()

virtual Bool ObjectDrawInterface::getCurrentWorldspaceClientBonePositions ( const char * boneName,
Matrix3D & transform ) const
pure virtual

Implemented in W3DModelDraw.

◆ getPristineBonePositionsForConditionState()

virtual Int ObjectDrawInterface::getPristineBonePositionsForConditionState ( const ModelConditionFlags & condition,
const char * boneNamePrefix,
Int startIndex,
Coord3D * positions,
Matrix3D * transforms,
Int maxBones ) const
pure virtual

Find the bone(s) with the given name and return their positions and/or transforms in the given arrays. We look for a bone named "boneNamePrefixQQ", where QQ is 01, 02, 03, etc, starting at the value of "startIndex". Want to look for just a specific boneName with no numeric suffix? just pass zero (0) for startIndex. (no, we never look for "boneNamePrefix00".) We copy up to 'maxBones' into the array(s), and return the total count found.

NOTE: this returns the positions and transform for the "ideal" model... that is, at its default rotation and scale, located at (0,0,0). You'll have to concatenate an Object's position and transform onto these in order to move 'em into "world space"!

NOTE: this isn't very fast. Please call it sparingly and cache the result.

Implemented in W3DModelDraw.

◆ getProjectileLaunchOffset()

virtual Bool ObjectDrawInterface::getProjectileLaunchOffset ( const ModelConditionFlags & condition,
WeaponSlotType wslot,
Int specificBarrelToUse,
Matrix3D * launchPos,
WhichTurretType tur,
Coord3D * turretRotPos,
Coord3D * turretPitchPos ) const
pure virtual

Implemented in W3DModelDraw.

◆ handleWeaponFireFX()

virtual Bool ObjectDrawInterface::handleWeaponFireFX ( WeaponSlotType wslot,
Int specificBarrelToUse,
const FXList * fxl,
Real weaponSpeed,
const Coord3D * victimPos,
Real damageRadius )
pure virtual

Implemented in W3DModelDraw.

◆ notifyDrawModuleDependencyCleared()

virtual void ObjectDrawInterface::notifyDrawModuleDependencyCleared ( )
pure virtual

if you were waiting for something before you drew, it's ready now

Implemented in W3DDependencyModelDraw, and W3DModelDraw.

◆ replaceIndicatorColor()

virtual void ObjectDrawInterface::replaceIndicatorColor ( Color color)
pure virtual

Implemented in W3DModelDraw.

◆ replaceModelConditionState()

virtual void ObjectDrawInterface::replaceModelConditionState ( const ModelConditionFlags & a)
pure virtual

Implemented in W3DModelDraw.

◆ setAnimationCompletionTime()

virtual void ObjectDrawInterface::setAnimationCompletionTime ( UnsignedInt numFrames)
pure virtual

similar to the above, but assumes that the current state is a "ONCE", and is smart about transition states... if there is a transition state "inbetween", it is included in the completion time.

Implemented in W3DModelDraw.

◆ setAnimationFrame()

virtual void ObjectDrawInterface::setAnimationFrame ( int frame)
pure virtual

Implemented in W3DModelDraw.

◆ setAnimationLoopDuration()

virtual void ObjectDrawInterface::setAnimationLoopDuration ( UnsignedInt numFrames)
pure virtual

This call says, "I want the current animation (if any) to take n frames to complete a single cycle". If it's a looping anim, each loop will take n frames. someday, we may want to add the option to insert "pad" frames at the start and/or end, but for now, we always just "stretch" the animation to fit. Note that you must call this AFTER setting the condition codes.

Implemented in W3DModelDraw.

◆ setHidden()

virtual void ObjectDrawInterface::setHidden ( Bool h)
pure virtual

◆ setPauseAnimation()

virtual void ObjectDrawInterface::setPauseAnimation ( Bool pauseAnim)
pure virtual

This call is used to pause or resume an animation.

Implemented in W3DModelDraw.

◆ setSelectable()

virtual void ObjectDrawInterface::setSelectable ( Bool selectable)
pure virtual

Implemented in W3DModelDraw.

◆ showSubObject()

virtual void ObjectDrawInterface::showSubObject ( const AsciiString & name,
Bool show )
pure virtual

Implemented in W3DModelDraw.

◆ updateBonesForClientParticleSystems()

virtual Bool ObjectDrawInterface::updateBonesForClientParticleSystems ( void )
pure virtual

this will reposition particle systems on the fly ML

Implemented in W3DModelDraw.

◆ updateDrawModuleSupplyStatus()

virtual void ObjectDrawInterface::updateDrawModuleSupplyStatus ( Int maxSupply,
Int currentSupply )
pure virtual

This will do visual feedback on Supplies carried.

Implemented in W3DModelDraw, and W3DSupplyDraw.

◆ updateProjectileClipStatus()

virtual void ObjectDrawInterface::updateProjectileClipStatus ( UnsignedInt shotsRemaining,
UnsignedInt maxShots,
WeaponSlotType slot )
pure virtual

This will do the show/hide work if ProjectileBoneFeedbackEnabled is set.

Implemented in W3DModelDraw.

◆ updateSubObjects()

virtual void ObjectDrawInterface::updateSubObjects ( )
pure virtual

Implemented in W3DModelDraw.


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