00001 //## begin module%3739DECC01C7.cm preserve=no 00002 // %X% %Q% %Z% %W% 00003 //## end module%3739DECC01C7.cm 00004 00005 //## begin module%3739DECC01C7.cp preserve=no 00006 //## end module%3739DECC01C7.cp 00007 00008 //## Module: Segment%3739DECC01C7; Pseudo Package specification 00009 //## Source file: E:\mpk\code\geometry\Segment.h 00010 00011 #ifndef Segment_h 00012 #define Segment_h 1 00013 00014 //## begin module%3739DECC01C7.additionalIncludes preserve=no 00015 //## end module%3739DECC01C7.additionalIncludes 00016 00017 //## begin module%3739DECC01C7.includes preserve=yes 00018 #include <iostream> 00019 00020 using std::ostream ; 00021 //## end module%3739DECC01C7.includes 00022 00023 // ObjectBase 00024 #include "geometry\ObjectBase.h" 00025 // Vector4 00026 #include "math\Vector4.h" 00027 00028 class MPK_Sphere; 00029 00030 //## begin module%3739DECC01C7.additionalDeclarations preserve=yes 00031 //## end module%3739DECC01C7.additionalDeclarations 00032 00033 00034 //## begin Segment%3739DECC01C7.preface preserve=yes 00035 //## end Segment%3739DECC01C7.preface 00036 00037 //## Class: Segment%3739DECC01C7 00038 //## Category: geometry%36FE7BDE030C 00039 //## Persistence: Transient 00040 //## Cardinality/Multiplicity: n 00041 00042 //## Uses: <unnamed>%373C77E901FE;MPK_Sphere { -> F} 00043 00044 namespace MPK 00045 { 00046 00047 00048 class Segment : public ObjectBase //## Inherits: <unnamed>%3739DED603D4 00049 { 00050 //## begin Segment%3739DECC01C7.initialDeclarations preserve=yes 00051 //## end Segment%3739DECC01C7.initialDeclarations 00052 00053 public: 00054 //## Constructors (specified) 00055 //## Operation: Segment%926539291 00056 Segment (FrameManager* frameManager); 00057 00058 //## Operation: Segment%926539292 00059 Segment (const Segment& right); 00060 00061 //## Destructor (generated) 00062 virtual ~Segment(); 00063 00064 00065 //## Other Operations (specified) 00066 //## Operation: Clone%926539287 00067 virtual Entity* Clone () const; 00068 00069 //## Operation: IsInterfering%926539288 00070 virtual bool IsInterfering (const Entity* entity) const; 00071 00072 //## Operation: CanCheckInterference%926539289 00073 virtual bool CanCheckInterference (const Entity* entity) const; 00074 00075 //## Operation: IsInterfering%926539290 00076 virtual bool IsInterfering (const Segment* entity) const; 00077 00078 //## Operation: SetStart%926539296 00079 void SetStart (const Vector4& start); 00080 00081 //## Operation: SetEnd%926539297 00082 void SetEnd (const Vector4& end); 00083 00084 //## Operation: IsInterfering%926709625 00085 virtual bool IsInterfering (const MPK_Sphere* entity) const; 00086 00087 //## Operation: Deserialize%934220968 00088 virtual void Deserialize (istream& is); 00089 00090 //## Operation: Serialize%934220969 00091 virtual void Serialize (ostream& os) const; 00092 00093 virtual bool Verify() const; 00094 00095 // Additional Public Declarations 00096 //## begin Segment%3739DECC01C7.public preserve=yes 00097 //## end Segment%3739DECC01C7.public 00098 00099 protected: 00100 // Data Members for Associations 00101 00102 //## Association: geometry::<unnamed>%3739DEE60264 00103 //## Role: Segment::startPos%3739DEE603D7 00104 //## begin Segment::startPos%3739DEE603D7.role preserve=no protected: Vector4 { -> 1VHAN} 00105 Vector4 startPos; 00106 //## end Segment::startPos%3739DEE603D7.role 00107 00108 //## Association: geometry::<unnamed>%3739DEF00010 00109 //## Role: Segment::endPos%3739DEF0024C 00110 //## begin Segment::endPos%3739DEF0024C.role preserve=no protected: Vector4 { -> 1VHAN} 00111 Vector4 endPos; 00112 //## end Segment::endPos%3739DEF0024C.role 00113 00114 // Additional Protected Declarations 00115 //## begin Segment%3739DECC01C7.protected preserve=yes 00116 //## end Segment%3739DECC01C7.protected 00117 00118 private: 00119 // Additional Private Declarations 00120 //## begin Segment%3739DECC01C7.private preserve=yes 00121 //## end Segment%3739DECC01C7.private 00122 00123 private: //## implementation 00124 // Additional Implementation Declarations 00125 //## begin Segment%3739DECC01C7.implementation preserve=yes 00126 //## end Segment%3739DECC01C7.implementation 00127 00128 }; 00129 00130 //## begin Segment%3739DECC01C7.postscript preserve=yes 00131 //## end Segment%3739DECC01C7.postscript 00132 00133 // Class Segment 00134 00135 //## begin module%3739DECC01C7.epilog preserve=yes 00136 //## end module%3739DECC01C7.epilog 00137 00138 } 00139 #endif