Branch data Line data Source code
1 : : /*
2 : : * AF2LocalTransformMaker.hpp
3 : : *
4 : : * An AF2LocalTransformMaker is an object that can create an
5 : : * AF2LocalTransform, given some information about the neighborhood
6 : : * in which the local transformation will be applied.
7 : : */
8 : : #ifndef AF2LOCALTRANSFORMMAKER_HPP
9 : : #define AF2LOCALTRANSFORMMAKER_HPP
10 : :
11 : : // C++
12 : : #include <list>
13 : :
14 : : // MeshKit
15 : : #include "meshkit/AF2LocalTransform.hpp"
16 : : #include "meshkit/AF2Edge3D.hpp"
17 : : #include "meshkit/AF2Point3D.hpp"
18 : :
19 : 41 : class AF2LocalTransformMaker
20 : : {
21 : :
22 : : public:
23 : :
24 : : /**
25 : : * \brief Make a local transformation
26 : : *
27 : : * Make a local transformation to be used in a neighborhood, given
28 : : * access to the information about the three-dimensional points and edges
29 : : * that will be included in the neighborhood.
30 : : *
31 : : * The AF2LocalTransform returned from this method will be allocated
32 : : * on the heap with the new operator. The transform belongs to the
33 : : * context that calls the method, and it is the responsibility
34 : : * of the calling context to call delete.
35 : : *
36 : : * \param ngbhdPoints the points that will be included in the neighborhood
37 : : * \param baselineEdge the baseline edge of the neighborhood
38 : : * \param otherNgbhdEdges the other edges that will be included in
39 : : * the neighborhood
40 : : * \return a local transformation appropriate for use with a neighborhood
41 : : * consisting of the specified points and edges
42 : : */
43 : : virtual AF2LocalTransform* makeLocalTransform(
44 : : const std::list<AF2Point3D*> & ngbhdPoints,
45 : : const AF2Edge3D* const & baselineEdge,
46 : : const std::list<const AF2Edge3D*> & otherNgbhdEdges) const = 0;
47 : :
48 [ - + ]: 82 : virtual ~AF2LocalTransformMaker() {}
49 : :
50 : : };
51 : :
52 : : #endif
|