00001 //## begin module%374321B3005F.cm preserve=no 00002 // %X% %Q% %Z% %W% 00003 //## end module%374321B3005F.cm 00004 00005 //## begin module%374321B3005F.cp preserve=no 00006 //## end module%374321B3005F.cp 00007 00008 //## Module: Facet%374321B3005F; Pseudo Package specification 00009 //## Source file: C:\project\mpk\code\geometry\Facet.h 00010 00011 #ifndef Facet_h 00012 #define Facet_h 1 00013 00014 //## begin module%374321B3005F.additionalIncludes preserve=no 00015 //## end module%374321B3005F.additionalIncludes 00016 00017 //## begin module%374321B3005F.includes preserve=yes 00018 #include<vector> 00019 //## end module%374321B3005F.includes 00020 00021 // VectorN 00022 #include "math\VectorN.h" 00023 //## begin module%374321B3005F.additionalDeclarations preserve=yes 00024 //## end module%374321B3005F.additionalDeclarations 00025 00026 00027 //## begin Facet%374321B3005F.preface preserve=yes 00028 //## end Facet%374321B3005F.preface 00029 00030 //## Class: Facet%374321B3005F 00031 // this class represents one facet of a polyhedral mesh - 00032 // this may be a triangle or more. 00033 //## Category: geometry%36FE7BDE030C 00034 //## Persistence: Transient 00035 //## Cardinality/Multiplicity: n 00036 00037 //## Uses: <unnamed>%37FCF4DE0340;VectorN { -> } 00038 00039 class Facet 00040 { 00041 //## begin Facet%374321B3005F.initialDeclarations preserve=yes 00042 //## end Facet%374321B3005F.initialDeclarations 00043 00044 public: 00045 //## Constructors (specified) 00046 //## Operation: Facet%927157749 00047 Facet (const unsigned int v1, const unsigned int v2, const unsigned int v3); 00048 00049 //## Operation: Facet%927307378 00050 Facet (); 00051 00052 //## Destructor (generated) 00053 virtual ~Facet(); 00054 00055 00056 //## Other Operations (specified) 00057 //## Operation: operator<%945198433 00058 bool operator < (const Facet& right) const; 00059 00060 //## Operation: operator==%945198434 00061 bool operator == (const Facet& right) const; 00062 00063 //## Operation: operator=%971655313 00064 Facet& operator = (const Facet& right); 00065 00066 // Data Members for Class Attributes 00067 00068 //## Attribute: vertexNumbers%374321F002E7 00069 // this is a polyhedron in 3 space - IMPROVE: this oculd be 00070 // a primitive by itself later on 00071 // 00072 // _IMPROVE: should not have public data members 00073 //## begin Facet::vertexNumbers%374321F002E7.attr preserve=no public: std::vector< unsigned int> {UA} 00074 std::vector< unsigned int> vertexNumbers; 00075 //## end Facet::vertexNumbers%374321F002E7.attr 00076 00077 //## Attribute: direction%3743220C0157 00078 // IMPROVE: this should be an enumerated type 00079 //## begin Facet::direction%3743220C0157.attr preserve=no public: int {UA} 00080 int direction; 00081 //## end Facet::direction%3743220C0157.attr 00082 00083 // Additional Public Declarations 00084 //## begin Facet%374321B3005F.public preserve=yes 00085 //## end Facet%374321B3005F.public 00086 00087 protected: 00088 // Additional Protected Declarations 00089 //## begin Facet%374321B3005F.protected preserve=yes 00090 //## end Facet%374321B3005F.protected 00091 00092 private: 00093 // Additional Private Declarations 00094 //## begin Facet%374321B3005F.private preserve=yes 00095 //## end Facet%374321B3005F.private 00096 00097 private: //## implementation 00098 // Additional Implementation Declarations 00099 //## begin Facet%374321B3005F.implementation preserve=yes 00100 //## end Facet%374321B3005F.implementation 00101 00102 }; 00103 00104 //## begin Facet%374321B3005F.postscript preserve=yes 00105 std::ostream & operator<<( std::ostream &os, const Facet& v ) ; 00106 std::istream & operator>>( std::istream &is, Facet& v ) ; 00107 //## end Facet%374321B3005F.postscript 00108 00109 // Class Facet 00110 00111 //## begin module%374321B3005F.epilog preserve=yes 00112 //## end module%374321B3005F.epilog 00113 00114 00115 #endif