MeshKit
1.0
|
#include <AF2FreeZoneDefLCQualLim.hpp>
Public Member Functions | |
AF2FreeZoneDefLCQualLim (std::list< AF2Point2D > const &preferBndryPnts, std::list< const AF2PointTransform * > const &preferPntTrnsfrms, std::list< AF2Point2D > const &limitBndryPnts, std::list< const AF2PointTransform * > const &limitPntTrnsfrms) | |
Constructor. | |
~AF2FreeZoneDefLCQualLim () | |
AF2FreeZoneDefLCQualLim (const AF2FreeZoneDefLCQualLim &toCopy) | |
Copy constructor. | |
AF2FreeZoneDefLCQualLim & | operator= (const AF2FreeZoneDefLCQualLim &rhs) |
Assignment operator. | |
AF2FreeZoneDefLCQualLim * | clone () const |
Make and return an independent copy of yourself. | |
AF2FreeZone * | makeFreeZone (AF2Binding const &vertexBinding, unsigned int qualityClass) const |
Implement the makeFreeZone method defined in the parent pure virtual class AF2FreeZoneDef. | |
Private Attributes | |
int | numPoints |
AF2Point2D * | prefBndryPoints |
AF2Point2D * | limBndryPoints |
const AF2PointTransform ** | prefPointTransforms |
const AF2PointTransform ** | limPointTransforms |
Definition at line 32 of file AF2FreeZoneDefLCQualLim.hpp.
AF2FreeZoneDefLCQualLim | ( | std::list< AF2Point2D > const & | preferBndryPnts, |
std::list< const AF2PointTransform * > const & | preferPntTrnsfrms, | ||
std::list< AF2Point2D > const & | limitBndryPnts, | ||
std::list< const AF2PointTransform * > const & | limitPntTrnsfrms | ||
) |
Constructor.
The constructor requires a list of preferred boundary point locations, a list of point transforms for the preferred point locations, a list of limiting boundary point locations, and a list of point transforms for the limiting point locations. The lists must all be the same length. The index within the four lists is used to associate the preferred location of a point with its point transform, the limiting location of the point, and the limiting location's point transform.
Points should be listed in order such that after the transforms and linear combination are applied they will define a counterclockwise traversal of the vertices of a convex polygon.
This class will clone the point transforms that are passed into the method, so the calling context is responsible for managing memory for the AF2PointTransform objects in the lists that are passed into this method.
preferBndryPnts | the preferred locations of the boundary points of the free zone relative to vertices at their reference positions |
preferPntTrnsfrms | the point transformations for the preferred point locations that will transform the points to locations appropriate to the actual vertex binding |
limitBndryPnts | the limiting locations of the boundary points of the free zone relative to vertices at their reference positions |
limitPntTrnsfrms | the point transformations for the limiting point locations that will transform the points to locations appropriate to the actual vertex binding |
Definition at line 5 of file AF2FreeZoneDefLCQualLim.cpp.
Definition at line 60 of file AF2FreeZoneDefLCQualLim.cpp.
AF2FreeZoneDefLCQualLim | ( | const AF2FreeZoneDefLCQualLim & | toCopy | ) |
Copy constructor.
Definition at line 73 of file AF2FreeZoneDefLCQualLim.cpp.
AF2FreeZoneDefLCQualLim * clone | ( | ) | const [virtual] |
Make and return an independent copy of yourself.
This method supports making copies of the concrete derived class that an AF2FreeZoneDef pointer references.
Deletion of the object pointed to by the pointer returned from this method must be managed by the context that calls the method.
Implements AF2FreeZoneDef.
Definition at line 135 of file AF2FreeZoneDefLCQualLim.cpp.
AF2FreeZone * makeFreeZone | ( | AF2Binding const & | vertexBinding, |
unsigned int | qualityClass | ||
) | const [virtual] |
Implement the makeFreeZone method defined in the parent pure virtual class AF2FreeZoneDef.
See the documentation in the parent class for the general contract of the makeFreeZone method.
This implementation starts by using the vertex binding to compute the preferred location of each free zone boundary point and the limiting location of each free zone boundary point. Then, given a quality class q, this implementation takes a linear combination of (1/q) times each point's preferred location with (1 - (1/q)) times the point's limiting location to compute the actual coordinates that will be used for the free zone boundary point.
Implements AF2FreeZoneDef.
Definition at line 140 of file AF2FreeZoneDefLCQualLim.cpp.
AF2FreeZoneDefLCQualLim & operator= | ( | const AF2FreeZoneDefLCQualLim & | rhs | ) |
Assignment operator.
Definition at line 90 of file AF2FreeZoneDefLCQualLim.cpp.
AF2Point2D* limBndryPoints [private] |
Definition at line 38 of file AF2FreeZoneDefLCQualLim.hpp.
const AF2PointTransform** limPointTransforms [private] |
Definition at line 40 of file AF2FreeZoneDefLCQualLim.hpp.
int numPoints [private] |
Definition at line 36 of file AF2FreeZoneDefLCQualLim.hpp.
AF2Point2D* prefBndryPoints [private] |
Definition at line 37 of file AF2FreeZoneDefLCQualLim.hpp.
const AF2PointTransform** prefPointTransforms [private] |
Definition at line 39 of file AF2FreeZoneDefLCQualLim.hpp.