Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __CS_IMESH_ANIMNODE_DEBUG_H__
00022 #define __CS_IMESH_ANIMNODE_DEBUG_H__
00023
00028 #include "csutil/scf_interface.h"
00029 #include "csutil/cscolor.h"
00030 #include "imesh/animnode/skeleton2anim.h"
00031 #include "ivideo/graph3d.h"
00032
00033 struct iCamera;
00034 struct iMaterialWrapper;
00035 struct iSector;
00036 class csPixmap;
00037
00041 namespace CS {
00042 namespace Animation {
00043
00044 struct iSkeletonDebugNodeFactory;
00045 struct iBodySkeleton;
00046 struct iBodyChain;
00047
00052 struct iSkeletonDebugNodeManager
00053 : public virtual CS::Animation::iSkeletonAnimNodeManager<CS::Animation::iSkeletonDebugNodeFactory>
00054 {
00055 SCF_ISKELETONANIMNODEMANAGER_INTERFACE (CS::Animation::iSkeletonDebugNodeManager, 1, 0, 0);
00056 };
00057
00058
00059
00063 enum SkeletonDebugMode
00064 {
00065 DEBUG_NONE = 0,
00066 DEBUG_2DLINES = 1 << 1,
00067 DEBUG_SQUARES = 1 << 2,
00068 DEBUG_IMAGES = 1 << 3,
00070 DEBUG_BBOXES = 1 << 4
00071 };
00072
00076 struct iSkeletonDebugNodeFactory : public virtual iSkeletonAnimNodeFactory
00077 {
00078 SCF_INTERFACE(CS::Animation::iSkeletonDebugNodeFactory, 2, 0, 0);
00079
00084 virtual void SetDebugModes (SkeletonDebugMode modes) = 0;
00085
00089 virtual SkeletonDebugMode GetDebugModes () = 0;
00090
00094 virtual void SetDebugImage (csPixmap* image) = 0;
00095
00100 virtual void SetBoneMask (csBitArray& boneMask) = 0;
00101
00105 virtual void UnsetBoneMask () = 0;
00106
00110 virtual void SetLeafBonesDisplayed (bool displayed) = 0;
00111
00116 virtual void SetChildNode (iSkeletonAnimNodeFactory* factory) = 0;
00117
00121 virtual iSkeletonAnimNodeFactory* GetChildNode () const = 0;
00122
00127 virtual void SetRandomColor (bool random) = 0;
00128
00132 virtual bool GetRandomColor () const = 0;
00133 };
00134
00144 struct iSkeletonDebugNode : public virtual iSkeletonAnimNode
00145 {
00146 SCF_INTERFACE(iSkeletonDebugNode, 2, 0, 0);
00147
00151 virtual void Draw (iCamera* camera, csColor color = csColor (1.0f, 0.0f, 1.0f)) = 0;
00152 };
00153
00154 }
00155 }
00156
00159 #endif //__CS_IMESH_ANIMNODE_DEBUG_H__