The Parametric Pseudo-Manifold (PPS) Library 1.0
vertex_attribute.h
Go to the documentation of this file.
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