Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages
bugplug.h
00001 /* 00002 Copyright (C) 2002 by Jorrit Tyberghein 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public 00015 License along with this library; if not, write to the Free 00016 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00017 */ 00018 00019 #ifndef __CS_IVARIA_BUGPLUG_H__ 00020 #define __CS_IVARIA_BUGPLUG_H__ 00021 00022 #include "csutil/scf.h" 00023 #include "ivideo/graph3d.h" 00024 00025 struct iBugPlug; 00026 struct iMeshObject; 00027 00028 class csBox3; 00029 class csReversibleTransform; 00030 class csVector2; 00031 class csVector3; 00032 00033 SCF_VERSION (iBugPlugRenderObject, 0, 0, 1); 00034 00040 struct iBugPlugRenderObject : public iBase 00041 { 00043 virtual void Render (iGraphics3D* g3d, iBugPlug* bugplug) = 0; 00044 }; 00045 00046 SCF_VERSION (iBugPlug, 0, 0, 3); 00047 00052 struct iBugPlug : public iBase 00053 { 00054 //========================================================================= 00055 00063 virtual void SetupDebugSector () = 0; 00064 00071 virtual void DebugSectorBox (const csBox3& box, float r, float g, float b, 00072 const char* name = 0, iMeshObject* mesh = 0, 00073 uint mixmode = CS_FX_COPY) = 0; 00074 00079 virtual void DebugSectorTriangle (const csVector3& s1, const csVector3& s2, 00080 const csVector3& s3, float r, float g, float b, 00081 uint mixmode = CS_FX_ADD) = 0; 00082 00090 virtual void SwitchDebugSector (const csReversibleTransform& trans, 00091 bool clear = true) = 0; 00092 00096 virtual bool CheckDebugSector () const = 0; 00097 00098 //========================================================================= 00099 00105 virtual void SetupDebugView () = 0; 00106 00110 virtual int DebugViewPoint (const csVector2& point) = 0; 00111 00115 virtual void DebugViewLine (int i1, int i2) = 0; 00116 00120 virtual void DebugViewBox (int i1, int i2) = 0; 00121 00125 virtual int DebugViewPointCount () const = 0; 00126 00130 virtual const csVector2& DebugViewGetPoint (int i) const = 0; 00131 00135 virtual int DebugViewLineCount () const = 0; 00136 00140 virtual void DebugViewGetLine (int i, int& i1, int& i2) const = 0; 00141 00145 virtual int DebugViewBoxCount () const = 0; 00146 00150 virtual void DebugViewGetBox (int i, int& i1, int& i2) const = 0; 00151 00156 virtual void DebugViewRenderObject (iBugPlugRenderObject* obj) = 0; 00157 00162 virtual void DebugViewClearScreen (bool cs) = 0; 00163 00168 virtual void SwitchDebugView (bool clear = true) = 0; 00169 00173 virtual bool CheckDebugView () const = 0; 00174 00175 //========================================================================= 00176 00184 virtual void AddCounter (const char* countername, int amount = 1) = 0; 00185 00194 virtual void AddCounterEnum (const char* countername, int enumval, 00195 int amount = 1) = 0; 00196 00202 virtual void ResetCounter (const char* countername, int value = 0) = 0; 00203 00208 virtual void RemoveCounter (const char* countername) = 0; 00209 00210 //========================================================================= 00211 }; 00212 00213 #endif // __CS_IVARIA_BUGPLUG_H__ 00214
Generated for Crystal Space by doxygen 1.4.4