Developer documentation | Axl-2.5.1

axlTrimmedParametricSurface.h
Go to the documentation of this file.
1 /*
2 ==================================================================================================================
3  axlTrimmedParametricSurface.h
4  @author: Hung NGUYEN, INRIA, 2013 - 2014
5 
6  @definition (from USPRO - IGES):
7  "A simple closed curve in the Euclidean plane divides the plane into two disjoint open connected
8  components, one bounded and one unbounded. The bounded component is called the interior region
9  to the curve (herein called “interior” and the unbounded component is called the exterior region to
10  the curve (herein called “exterior”).
11  The domain of the trimmed surface is defined as the common region of the interior of the outer
12  boundary and the exterior of each of the inner boundaries and includes the boundary curves. Note
13  that the trimmed surface has the same mapping S(u, v) as the original (untrimmed surface) but a
14  different domain. The curves that delineate either the outer or the inner boundary of the trimmed
15  surface are curves on the surface S, and are to be exchanged by means of the Curve on a Parametric
16  Surface."
17 
18  So, a trimmed surface is defined by the outer boundary (only one) and the inner boundaries on the surface
19  S.
20 ===================================================================================================================
21 */
22 
23 #ifndef AXLTRIMMEDPARAMETRICSURFACE_H
24 #define AXLTRIMMEDPARAMETRICSURFACE_H
25 
26 #include "axlCoreExport.h"
27 #include "axlCurveOnParamSurface.h"
29 
30 class axlTrimmedParametricSurfacePrivate;
32 {
33  Q_OBJECT
34 public:
35  axlTrimmedParametricSurface(QObject *parent = 0);
36  /*axlTrimmedParametricSurface();*/
37  axlTrimmedParametricSurface(axlCurveOnParamSurface *outer, QList<axlCurveOnParamSurface *> inner);
39 
40  void setSurfaceBeTrimmed(axlAbstractSurface *surf);
41  void setOuterIsBoundary(bool outerIsBoundaryOrNot);
42  void setOuter(axlCurveOnParamSurface *outer);
43  void setInner(QList<axlCurveOnParamSurface *> list_inner);
44  void addInner(axlCurveOnParamSurface *inner);
45  void addListInner(QList<axlCurveOnParamSurface *> list_inner);
46 
47  axlCurveOnParamSurface& getOuter() const;
48  axlCurveOnParamSurface* getOuter();
49  axlAbstractSurfaceParametric& getSurface() const;
50  axlAbstractSurface* getSurface();
51  bool getouterIsBoundaryOrNot();
52 
53  QList<axlCurveOnParamSurface *>& getInner() const;
54  axlCurveOnParamSurface *getInner(int id);
55 
56  virtual QString description(void) const;
57  virtual QString identifier(void) const;
58 
60 private:
61  axlTrimmedParametricSurfacePrivate *d;
62 };
63 
64 dtkAbstractData *createaxlTrimmedParametricSurface(void);
65 #endif //AXLTRIMMEDPARAMETRICSURFACE_H
#define AXLCORE_EXPORT
dtkAbstractData * createaxlTrimmedParametricSurface(void)