QUAOAR STUDIO // Mobius API
poly_GridTessellator.h
1 //-----------------------------------------------------------------------------
2 // Created on: 27 January 2020
3 //-----------------------------------------------------------------------------
4 // Copyright (c) 2020-present, Sergey Slyadnev
5 // All rights reserved.
6 //
7 // Redistribution and use in source and binary forms, with or without
8 // modification, are permitted provided that the following conditions are met:
9 //
10 // * Redistributions of source code must retain the above copyright
11 // notice, this list of conditions and the following disclaimer.
12 // * Redistributions in binary form must reproduce the above copyright
13 // notice, this list of conditions and the following disclaimer in the
14 // documentation and/or other materials provided with the distribution.
15 // * Neither the name of Sergey Slyadnev nor the
16 // names of all contributors may be used to endorse or promote products
17 // derived from this software without specific prior written permission.
18 //
19 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 // DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY
23 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //-----------------------------------------------------------------------------
30 
31 #ifndef poly_GridTessellator_HeaderFile
32 #define poly_GridTessellator_HeaderFile
33 
34 // Poly includes
35 #include <mobius/poly_Tessellator.h>
36 
37 // Core includes
38 #include <mobius/core_OPERATOR.h>
39 #include <mobius/core_XYZ.h>
40 
41 namespace mobius {
42 
48 {
49 public:
50 
57  mobiusPoly_EXPORT
58  poly_GridTessellator(const t_xyz& Pmin,
59  const t_xyz& Pmax,
60  const int numSlices = 128,
61  core_ProgressEntry progress = nullptr,
62  core_PlotterEntry plotter = nullptr);
63 
65  mobiusPoly_EXPORT virtual
67 
68 protected:
69 
76  double m_fGrainX;
77  double m_fGrainY;
78  double m_fGrainZ;
79 
80 };
81 
82 }
83 
84 #endif
mobius::poly_GridTessellator::m_iNumSlicesZ
int m_iNumSlicesZ
Num of slices along OZ axis.
Definition: poly_GridTessellator.h:75
mobius
Defines an exception class C1 that inherits an exception class C2.
Definition: bspl_Decompose.h:41
mobius::poly_GridTessellator::m_fGrainZ
double m_fGrainZ
Grain size along OZ axis.
Definition: poly_GridTessellator.h:78
mobius::core_XYZ
Definition: core_XYZ.h:45
mobius::poly_Tessellator
Definition: poly_Tessellator.h:49
mobius::poly_GridTessellator
Definition: poly_GridTessellator.h:47
mobius::poly_GridTessellator::m_fGrainX
double m_fGrainX
Grain size along OX axis.
Definition: poly_GridTessellator.h:76
mobius::core_PlotterEntry
Definition: core_IPlotter.h:252
mobius::poly_GridTessellator::~poly_GridTessellator
virtual mobiusPoly_EXPORT ~poly_GridTessellator()
Dtor.
mobius::poly_GridTessellator::m_Pmin
t_xyz m_Pmin
Min corner of the function domain.
Definition: poly_GridTessellator.h:70
mobius::core_ProgressEntry
Definition: core_IProgressNotifier.h:193
mobius::poly_GridTessellator::m_iNumSlices
int m_iNumSlices
Num of slices for space discretization.
Definition: poly_GridTessellator.h:72
mobius::poly_GridTessellator::poly_GridTessellator
mobiusPoly_EXPORT poly_GridTessellator(const t_xyz &Pmin, const t_xyz &Pmax, const int numSlices=128, core_ProgressEntry progress=nullptr, core_PlotterEntry plotter=nullptr)
mobius::poly_GridTessellator::m_iNumSlicesX
int m_iNumSlicesX
Num of slices along OX axis.
Definition: poly_GridTessellator.h:73
mobius::poly_GridTessellator::m_Pmax
t_xyz m_Pmax
Max corner of the function domain.
Definition: poly_GridTessellator.h:71
mobius::poly_GridTessellator::m_fGrainY
double m_fGrainY
Grain size along OY axis.
Definition: poly_GridTessellator.h:77
mobius::poly_GridTessellator::m_iNumSlicesY
int m_iNumSlicesY
Num of slices along OY axis.
Definition: poly_GridTessellator.h:74