MeshKit  1.0
AF2FreeZoneDefSimple.hpp
Go to the documentation of this file.
00001 /*
00002  * AF2FreeZoneDefSimple.hpp
00003  *
00004  * A free zone definition that does not depend on the quality level
00005  * of the rule application.  This free zone definition consists of
00006  * the reference locations of the free zone boundary vertices and point
00007  * transforms that will transform the free zone based on the vertex
00008  * binding that maps reference vertices to actual existing vertices.
00009  */
00010 
00011 #ifndef AF2FREEZONEDEFSIMPLE_HPP
00012 #define AF2FREEZONEDEFSIMPLE_HPP
00013 
00014 // C++
00015 #include <list>
00016 
00017 // MeshKit
00018 #include "meshkit/AF2FreeZoneDef.hpp"
00019 #include "meshkit/AF2Point2D.hpp"
00020 #include "meshkit/AF2PointTransform.hpp"
00021 
00022 class AF2FreeZoneDefSimple : public AF2FreeZoneDef
00023 {
00024   private:
00025 
00026     int numPoints;
00027     AF2Point2D* bndryPoints;
00028     const AF2PointTransform** pointTransforms;
00029 
00030   public:
00031 
00055     AF2FreeZoneDefSimple(
00056         std::list<AF2Point2D> const & rfrncBndryPnts,
00057         std::list<const AF2PointTransform*> const & bndryPntTrnsfrms);
00058 
00059     ~AF2FreeZoneDefSimple();
00060 
00064     AF2FreeZoneDefSimple(const AF2FreeZoneDefSimple & toCopy);
00065 
00069     AF2FreeZoneDefSimple& operator=(const AF2FreeZoneDefSimple & rhs);
00070 
00071     AF2FreeZoneDefSimple* clone() const;
00072 
00086     AF2FreeZone* makeFreeZone(
00087         AF2Binding const & vertexBinding, unsigned int qualityClass) const;
00088 };
00089 
00090 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines