MeshKit  1.0
AF2RuleApplication Class Reference

#include <AF2RuleApplication.hpp>

List of all members.

Public Member Functions

 AF2RuleApplication (std::list< const AF2Point2D * > const &newPointsList, std::list< const AF2Polygon2D * > const &newFacesList)
 Constructor.
 ~AF2RuleApplication ()
 Destructor.
 AF2RuleApplication (const AF2RuleApplication &toCopy)
 Copy constructor.
AF2RuleApplicationoperator= (const AF2RuleApplication &rhs)
 Copy assignment.
unsigned int getNumNewFaces () const
 Get the number of new faces that would be produced by this rule application.
const AF2Polygon2DgetNewFace (unsigned int newFaceIndex) const
 Get a pointer to one of the new faces that would be added by this rule application.
unsigned int getNumNewPoints () const
 Get the number of new points that would be added by this rule application.
const AF2Point2DgetNewPoint (unsigned int newPointIndex) const
 Get a pointer to one of the new (two-dimensional) points that would be added by this rule application.

Private Member Functions

void mapCopyPolygon (const AF2Polygon2D &sourcePolygon, const AF2Polygon2D *&targetPolygon, const std::map< const AF2Point2D *, const AF2Point2D * > &vertexMap)
 construct a polygon with vertices mapped from a source polygon according to the defined map

Private Attributes

unsigned int numNewPoints
const AF2Point2D ** newPoints
unsigned int numNewFaces
const AF2Polygon2D ** newFaces

Detailed Description

Definition at line 31 of file AF2RuleApplication.hpp.


Constructor & Destructor Documentation

AF2RuleApplication ( std::list< const AF2Point2D * > const &  newPointsList,
std::list< const AF2Polygon2D * > const &  newFacesList 
)

Constructor.

Construct an AF2RuleApplication, defining the (two-dimensional) points, if any, that would be added and the polygonal faces that would be added by applying some particular AF2Rule with some AF2Binding of the rule's required existing vertices and edges to the two-dimensional points and edges in some AF2Neighborhood. The vertices of the polygonal faces are assumed to be points that come from either the AF2Neighborhood or the list of new points that is passed to this constructor.

Objects that are passed into this constructor by pointer are copied, so the original instances are owned by the context that calls the constructor and their memory should be managed outside of this instance.

Parameters:
newPointsListA list of pointers to AF2Point2D points that should be projected onto the surface and added to the mesh as part of accepting this AF2RuleApplication
newFacesListA list of polygonal faces (referencing two-dimensional points from the newPointsList or from an AF2Neighborhood) that should be added to the mesh as part of accepting this AF2RuleApplication

Definition at line 4 of file AF2RuleApplication.cpp.

Destructor.

Definition at line 63 of file AF2RuleApplication.cpp.

Copy constructor.

This is the standard copy constructor.

Parameters:
toCopyan AF2RuleApplication that should be copied to construct a new AF2RuleApplication

Definition at line 78 of file AF2RuleApplication.cpp.


Member Function Documentation

const AF2Polygon2D * getNewFace ( unsigned int  newFaceIndex) const

Get a pointer to one of the new faces that would be added by this rule application.

The numbering of the new faces that would be produced begins with 0, so the valid arguments to this method are 0 through n - 1, where n is the value returned from getNumNewFaces().

Parameters:
newFaceIndexthe number of the new face to return
Returns:
a pointer to the requested new face that would be added by this rule application

Definition at line 149 of file AF2RuleApplication.cpp.

const AF2Point2D * getNewPoint ( unsigned int  newPointIndex) const

Get a pointer to one of the new (two-dimensional) points that would be added by this rule application.

The numbering of the new points that would be added begins with 0, so the valid arguments to this method are 0 through n - 1, where n is the value returned from getNumNewPoints().

Parameters:
newPointIndexthe number of the new point to return
Returns:
a pointer to the requested new point that would be added by this rule application

Definition at line 166 of file AF2RuleApplication.cpp.

unsigned int getNumNewFaces ( ) const

Get the number of new faces that would be produced by this rule application.

Returns:
the number of new faces

Definition at line 144 of file AF2RuleApplication.cpp.

unsigned int getNumNewPoints ( ) const

Get the number of new points that would be added by this rule application.

Returns:
the number of new vertices

Definition at line 161 of file AF2RuleApplication.cpp.

void mapCopyPolygon ( const AF2Polygon2D sourcePolygon,
const AF2Polygon2D *&  targetPolygon,
const std::map< const AF2Point2D *, const AF2Point2D * > &  vertexMap 
) [private]

construct a polygon with vertices mapped from a source polygon according to the defined map

For use by constructors and the copy assignment operator.

Parameters:
sourcePolygonthe source polygon that is to be copied
targetPolygona (currently null) pointer to the location in memory where the copy should be constructed using new
amap of the new vertices from the rule application instance that provided the context of the source polygon to the corresponding new vertices from this rule application instance

Definition at line 178 of file AF2RuleApplication.cpp.

AF2RuleApplication & operator= ( const AF2RuleApplication rhs)

Copy assignment.

This is the standard copy assignment operator.

Parameters:
rhsan AF2RuleApplication that should be assigned to this AF2RuleApplication, overwriting (and destructing) whatever may be in this AF2RuleApplication

Definition at line 98 of file AF2RuleApplication.cpp.


Member Data Documentation

const AF2Polygon2D** newFaces [private]

Definition at line 38 of file AF2RuleApplication.hpp.

const AF2Point2D** newPoints [private]

Definition at line 36 of file AF2RuleApplication.hpp.

unsigned int numNewFaces [private]

Definition at line 37 of file AF2RuleApplication.hpp.

unsigned int numNewPoints [private]

Definition at line 35 of file AF2RuleApplication.hpp.


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