basic/geometry/MPK_Segment.h

Go to the documentation of this file.
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

Generated on Sat Apr 1 21:30:33 2006 for Motion Planning Kernel by  doxygen 1.4.6-NO