Developer documentation | Axl-2.5.1

axlAbstractVolumeParametric.h
Go to the documentation of this file.
1 /* axlAbstractVolumeParametric.h ---
2  *
3  * Author:Anais Ducoffe
4  * Copyright (C) 2012 - Anais Ducoffe, Inria.
5  * Created:
6  * Version: $Id$
7  * Last-Updated:
8  * By:
9  * Update #:
10  */
11 
12 /* Commentary:
13  *
14  */
15 
16 /* Change log:
17  *
18  */
19 
20 #ifndef AXLABSTRACTVOLUMEPARAMETRIC_H
21 #define AXLABSTRACTVOLUMEPARAMETRIC_H
22 
23 #include "axlAbstractVolume.h"
24 #include "axlCoreExport.h"
25 #include "axlPoint.h"
26 
27 #include <dtkMathSupport/dtkVector3D.h>
28 
29 class axlMesh;
30 class axlAbstractVolumeParametricPrivate;
31 //class axlAbstractVisitorParametric;
32 
34 {
35  Q_OBJECT
36  Q_PROPERTY(int samples_u READ samples_u WRITE setSamples_u)
37  Q_PROPERTY(int samples_v READ samples_v WRITE setSamples_v)
38  Q_PROPERTY(int samples_w READ samples_w WRITE setSamples_w)
39 
40 public:
42  virtual ~axlAbstractVolumeParametric(void);
43 
44  virtual axlPoint eval(double u, double v, double w);
45  virtual void eval(axlPoint *point, double u,double v, double w);
46  virtual void eval(double&, double&, double&, double u,double v, double w);
47  virtual void normal(axlPoint *normal, double u,double v, double w);
48 
49  virtual axlMesh eval(double u, double v,double w, int derivs, bool u_from_right = true, bool v_from_right = true,bool w_from_right = true, double resolution = 1.0e-12);
50  virtual dtkDeprecated::dtkVector3D<double> eval2(double u,double v, double w);
51 
52 
53  virtual dtkDeprecated::dtkVector3D<double> normal(double u,double v, double w);
54  virtual void normal(dtkDeprecated::dtkVector3D<double> *normal, double u,double v, double w);
55 
56 
57 // virtual double volume(double tol);
58 
59  virtual int numSamples_u(void);
60  virtual int numSamples_v(void);
61  virtual int numSamples_w(void);
62 
63  virtual double startParam_u(void);
64  virtual double endParam_u(void);
65  virtual double startParam_v(void);
66  virtual double endParam_v(void);
67  virtual double startParam_w(void);
68  virtual double endParam_w(void);
69 
70 
71  virtual int stripes(void);
72  virtual void setStripes(int stripes);
73 
74  virtual void setNumSamples_u(int numSamples);
75  virtual void setNumSamples_v(int numSamples);
76  virtual void setNumSamples_w(int numSamples);
77 
78 
79 
80 
81 public:
82  const int& samples_u(void) const;
83  const int& samples_v(void) const;
84  const int& samples_w(void) const;
85 
86 public slots:
87  void setSamples_u(const int& color);
88  void setSamples_v(const int& color);
89  void setSamples_w(const int& color);
90 
91 
92 //public :
93 // virtual axlAbstractVisitorParametric *getVisitor(void);
94 // virtual void setVisitor(axlAbstractVisitorParametric *visitor);
95 
96 
97 
98 private:
99  axlAbstractVolumeParametricPrivate *d;
100 };
101 #endif
Class axlPoint defines 3D points.
Definition: axlPoint.h:34
#define AXLCORE_EXPORT
Class axlMesh defines a piecewise-linear 3D object.
Definition: axlMesh.h:41