IEpairs.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*
  2. ===========================================================================
  3. Copyright (C) 1999-2005 Id Software, Inc.
  4. This file is part of Quake III Arena source code.
  5. Quake III Arena source code is free software; you can redistribute it
  6. and/or modify it under the terms of the GNU General Public License as
  7. published by the Free Software Foundation; either version 2 of the License,
  8. or (at your option) any later version.
  9. Quake III Arena source code is distributed in the hope that it will be
  10. useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with Foobar; if not, write to the Free Software
  15. Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  16. ===========================================================================
  17. */
  18. //-----------------------------------------------------------------------------
  19. //
  20. // $LogFile$
  21. // $Revision: 1.1.1.4 $
  22. // $Author: ttimo $
  23. // $Date: 2000/01/18 00:17:12 $
  24. // $Log: IEpairs.h,v $
  25. // Revision 1.1.1.4 2000/01/18 00:17:12 ttimo
  26. // merging in for RC
  27. //
  28. // Revision 1.3 2000/01/17 23:53:42 TBesset
  29. // ready for merge in sourceforge (RC candidate)
  30. //
  31. // Revision 1.2 2000/01/07 16:40:10 TBesset
  32. // merged from BSP frontend
  33. //
  34. // Revision 1.1.1.3 1999/12/29 18:31:26 TBesset
  35. // Q3Radiant public version
  36. //
  37. // Revision 1.1.1.1.2.1 1999/12/29 21:39:35 TBesset
  38. // updated to update3 from Robert
  39. //
  40. // Revision 1.1.1.3 1999/12/29 18:31:26 TBesset
  41. // Q3Radiant public version
  42. //
  43. // Revision 1.1.1.3 1999/12/29 18:31:26 TBesset
  44. // Q3Radiant public version
  45. //
  46. //
  47. // Revision 1.2 1999/11/22 17:46:45 Timo & Christine
  48. // merged EARadiant into the main tree
  49. // bug fixes for Q3Plugin / EAPlugin
  50. // export for Robert
  51. //
  52. // Revision 1.1.2.1 1999/11/03 20:37:59 Timo & Christine
  53. // MEAN plugin for Q3Radiant, alpha version
  54. //
  55. //
  56. // DESCRIPTION:
  57. // virtual class to allow plugin operations on entities epairs
  58. //
  59. #ifndef _IEPAIRS_H_
  60. #define _IEPAIRS_H_
  61. class IEpair
  62. {
  63. public:
  64. // Increment the number of references to this object
  65. virtual void IncRef () = 0;
  66. // Decrement the reference count
  67. virtual void DecRef () = 0;
  68. virtual void GetVectorForKey( char* key, vec3_t vec ) = 0;
  69. virtual float FloatForKey( char *key ) = 0;
  70. virtual char* ValueForKey( char *key ) = 0;
  71. virtual void SetKeyValue( char *key, char *value ) = 0;
  72. virtual void GetEntityOrigin( vec3_t vec ) = 0;
  73. // compute the rotated bounds of the BBox based on "angle" and "angles" keys
  74. virtual void CalculateRotatedBounds( vec3_t mins, vec3_t maxs ) = 0;
  75. };
  76. #endif