MeshKit
1.0
|
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