MeshKit  1.0
AF2FreeZoneDefLCQualLim Class Reference

#include <AF2FreeZoneDefLCQualLim.hpp>

Inheritance diagram for AF2FreeZoneDefLCQualLim:

List of all members.

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.
AF2FreeZoneDefLCQualLimoperator= (const AF2FreeZoneDefLCQualLim &rhs)
 Assignment operator.
AF2FreeZoneDefLCQualLimclone () const
 Make and return an independent copy of yourself.
AF2FreeZonemakeFreeZone (AF2Binding const &vertexBinding, unsigned int qualityClass) const
 Implement the makeFreeZone method defined in the parent pure virtual class AF2FreeZoneDef.

Private Attributes

int numPoints
AF2Point2DprefBndryPoints
AF2Point2DlimBndryPoints
const AF2PointTransform ** prefPointTransforms
const AF2PointTransform ** limPointTransforms

Detailed Description

Definition at line 32 of file AF2FreeZoneDefLCQualLim.hpp.


Constructor & Destructor Documentation

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.

Parameters:
preferBndryPntsthe preferred locations of the boundary points of the free zone relative to vertices at their reference positions
preferPntTrnsfrmsthe point transformations for the preferred point locations that will transform the points to locations appropriate to the actual vertex binding
limitBndryPntsthe limiting locations of the boundary points of the free zone relative to vertices at their reference positions
limitPntTrnsfrmsthe 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.

Copy constructor.

Definition at line 73 of file AF2FreeZoneDefLCQualLim.cpp.


Member Function Documentation

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.


Member Data Documentation

Definition at line 38 of file AF2FreeZoneDefLCQualLim.hpp.

Definition at line 40 of file AF2FreeZoneDefLCQualLim.hpp.

int numPoints [private]

Definition at line 36 of file AF2FreeZoneDefLCQualLim.hpp.

Definition at line 37 of file AF2FreeZoneDefLCQualLim.hpp.

Definition at line 39 of file AF2FreeZoneDefLCQualLim.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines