basic/geometry/MPK_Sphere.h

Go to the documentation of this file.
00001 //## begin module%36FE7C01006E.cm preserve=no
00002 //        %X% %Q% %Z% %W%
00003 //## end module%36FE7C01006E.cm
00004 
00005 //## begin module%36FE7C01006E.cp preserve=no
00006 //## end module%36FE7C01006E.cp
00007 
00008 //## Module: MPK_Sphere%36FE7C01006E; Pseudo Package specification
00009 //## Source file: C:\user\gipson\projects\mpk\code\geometry\MPK_Sphere.h
00010 
00011 #ifndef MPK_Sphere_h
00012 #define MPK_Sphere_h 1
00013 
00014 //## begin module%36FE7C01006E.additionalIncludes preserve=no
00015 //## end module%36FE7C01006E.additionalIncludes
00016 
00017 //## begin module%36FE7C01006E.includes preserve=yes
00018 #include <iostream>
00019 #include "geometry\MPK_Cylinder.h"
00020 using std::ostream ;
00021 //## end module%36FE7C01006E.includes
00022 
00023 // Vector4
00024 #include "math\Vector4.h"
00025 // ObjectBase
00026 #include "geometry\ObjectBase.h"
00027 
00028 class FrameManager;
00029 class MPK_Cylinder;
00030 
00031 //## begin module%36FE7C01006E.additionalDeclarations preserve=yes
00032 //## end module%36FE7C01006E.additionalDeclarations
00033 
00034 
00035 //## begin MPK_Sphere%36FE7C01006E.preface preserve=yes
00036 //## end MPK_Sphere%36FE7C01006E.preface
00037 
00038 //## Class: MPK_Sphere%36FE7C01006E
00039 //      this is a sphere object class
00040 //## Category: geometry%36FE7BDE030C
00041 //## Persistence: Transient
00042 //## Cardinality/Multiplicity: n
00043 
00044 //## Uses: <unnamed>%37263F5B0280;FrameManager { -> F}
00045 
00046 class MPK_Sphere : public ObjectBase  //## Inherits: <unnamed>%36FE7C0C02EE
00047 {
00048   //## begin MPK_Sphere%36FE7C01006E.initialDeclarations preserve=yes
00049   //## end MPK_Sphere%36FE7C01006E.initialDeclarations
00050 
00051   public:
00052     //## Constructors (specified)
00053       //## Operation: MPK_Sphere%922649214
00054       MPK_Sphere (FrameManager* frameManager);
00055 
00056       //## Operation: MPK_Sphere%922649215
00057       MPK_Sphere (const MPK_Sphere& right);
00058 
00059     //## Destructor (generated)
00060       virtual ~MPK_Sphere();
00061 
00062 
00063     //## Other Operations (specified)
00064       //## Operation: Clone%922649212
00065       virtual Entity* Clone () const;
00066 
00067       //## Operation: IsInterfering%925235848
00068       virtual bool IsInterfering (const Entity* entity) const;
00069 
00070       //## Operation: IsInterfering%925235850
00071       virtual bool IsInterfering (const MPK_Sphere* entity) const;
00072 
00073       //## Operation: SetRadius%925235854
00074       void SetRadius (const double  radius);
00075 
00076       //## Operation: Position%926709627
00077       Vector4 Position () const;
00078 
00079       //## Operation: SetPosition%925235855
00080       void SetPosition (const Vector4& position);
00081 
00082       //## Operation: Serialize%934220966
00083       virtual void Serialize (ostream& os) const;
00084 
00085       //## Operation: CanCheckInterference%926300302
00086       virtual bool CanCheckInterference (const Entity* entity) const;
00087 
00088       //## Operation: Radius%926807002
00089       double Radius () const;
00090 
00091       //## Operation: Deserialize%934220967
00092       virtual void Deserialize (IfstreamWithComments& is);
00093 
00094       //## Operation: SetFrame%946343614
00095       virtual void SetFrame (const Matrix4x4& frame);
00096 
00097       //## Operation: IsInterfering%970176404
00098       virtual bool IsInterfering (const MPK_Cylinder* entity) const;
00099 
00100           virtual bool Verify() const;
00101     // Additional Public Declarations
00102       //## begin MPK_Sphere%36FE7C01006E.public preserve=yes
00103       //## end MPK_Sphere%36FE7C01006E.public
00104 
00105   protected:
00106     // Data Members for Class Attributes
00107 
00108       //## Attribute: radius%36FEED13003C
00109       //## begin MPK_Sphere::radius%36FEED13003C.attr preserve=no  protected: double {UA} 
00110       double radius;
00111       //## end MPK_Sphere::radius%36FEED13003C.attr
00112 
00113     // Data Members for Associations
00114 
00115       //## Association: geometry::<unnamed>%36FEECDE0226
00116       //## Role: MPK_Sphere::position%36FEECDF00D3
00117       //## begin MPK_Sphere::position%36FEECDF00D3.role preserve=no  protected: Vector4 { -> 1VHAN}
00118       Vector4 position;
00119       //## end MPK_Sphere::position%36FEECDF00D3.role
00120 
00121     // Additional Protected Declarations
00122       //## begin MPK_Sphere%36FE7C01006E.protected preserve=yes
00123       //## end MPK_Sphere%36FE7C01006E.protected
00124 
00125   private:
00126     // Additional Private Declarations
00127       //## begin MPK_Sphere%36FE7C01006E.private preserve=yes
00128       //## end MPK_Sphere%36FE7C01006E.private
00129 
00130   private: //## implementation
00131     // Additional Implementation Declarations
00132       //## begin MPK_Sphere%36FE7C01006E.implementation preserve=yes
00133       //## end MPK_Sphere%36FE7C01006E.implementation
00134 
00135 };
00136 
00137 //## begin MPK_Sphere%36FE7C01006E.postscript preserve=yes
00138 //## end MPK_Sphere%36FE7C01006E.postscript
00139 
00140 // Class MPK_Sphere 
00141 
00142 //## begin module%36FE7C01006E.epilog preserve=yes
00143 //## end module%36FE7C01006E.epilog
00144 
00145 
00146 #endif

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