The Parametric Pseudo-Manifold (PPS) Library 1.0
|
00001 00027 #ifndef VERTEX_ATTRIBUTE_H 00028 #define VERTEX_ATTRIBUTE_H 00029 00030 #include "bezier.h" // pps::Bezier 00031 00032 00047 namespace ppsfrompnt { 00048 00049 using pps::Bezier ; 00050 00051 00059 class VertexAttribute { 00060 public: 00061 // --------------------------------------------------------------- 00062 // 00063 // Public methods. 00064 // 00065 // --------------------------------------------------------------- 00066 00072 VertexAttribute() : _patch( 0 ) 00073 {} 00074 00075 00085 VertexAttribute( Bezier* patch ) : _patch( patch ) 00086 {} 00087 00088 00096 VertexAttribute( const VertexAttribute& a ) 00097 { 00098 _patch = new Bezier( *( a.get_patch() ) ) ; 00099 } 00100 00101 00108 ~VertexAttribute() 00109 { 00110 if ( get_patch() != 0 ) delete get_patch() ; 00111 } 00112 00113 00124 Bezier* get_patch() const 00125 { 00126 return _patch ; 00127 } 00128 00129 00140 void set_patch( Bezier* patch ) 00141 { 00142 _patch = patch ; 00143 } 00144 00145 00146 private: 00147 // --------------------------------------------------------------- 00148 // 00149 // Private data member 00150 // 00151 // --------------------------------------------------------------- 00152 00153 Bezier* _patch ; 00154 00155 } ; 00156 00157 } 00158 //end of group class. 00160 00161 #endif // VERTEX_ATTRIBUTE_H