VTK
9.0.1
Common
DataModel
vtkHyperTreeGridNonOrientedGeometryCursor.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkHyperTreeGridNonOrientedGeometryCursor.h
5
6
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7
All rights reserved.
8
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10
This software is distributed WITHOUT ANY WARRANTY; without even
11
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12
PURPOSE. See the above copyright Nonice for more information.
13
14
=========================================================================*/
39
#ifndef vtkHyperTreeGridNonOrientedGeometryCursor_h
40
#define vtkHyperTreeGridNonOrientedGeometryCursor_h
41
42
#include "vtkCommonDataModelModule.h"
// For export macro
43
#include "
vtkObject.h
"
44
45
#include "
vtkHyperTreeGridGeometryEntry.h
"
// Used internally
46
#include "
vtkHyperTreeGridTools.h
"
// for HasTree
47
#include "
vtkSmartPointer.h
"
// Used internally
48
#include <memory>
// std::shared_ptr
49
#include <vector>
// std::vector
50
51
class
vtkHyperTree
;
52
class
vtkHyperTreeGrid
;
53
class
vtkHyperTreeGridScales
;
54
class
vtkHyperTreeGridOrientedGeometryCursor
;
55
56
class
VTKCOMMONDATAMODEL_EXPORT
vtkHyperTreeGridNonOrientedGeometryCursor
:
public
vtkObject
57
{
58
public
:
59
vtkTypeMacro(
vtkHyperTreeGridNonOrientedGeometryCursor
,
vtkObject
);
60
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
61
static
vtkHyperTreeGridNonOrientedGeometryCursor
*
New
();
62
63
void
Dump(ostream& os);
64
65
// JB TODO 102018 On autorise le ToParent que jusqu'à ce que Level soit celui de la creation...
66
// mais sans toRoot ? Une variante... qui serait utile aussi au niveau des SC
67
72
virtual
vtkHyperTreeGridNonOrientedGeometryCursor
* Clone();
73
77
void
Initialize(
vtkHyperTreeGrid
* grid,
vtkIdType
treeIndex,
bool
create =
false
);
78
82
void
Initialize(
vtkHyperTreeGrid
* grid,
vtkHyperTree
* tree,
unsigned
int
level
,
83
vtkHyperTreeGridGeometryEntry
& entry);
84
88
void
Initialize(
vtkHyperTreeGrid
* grid,
vtkHyperTree
* tree,
unsigned
int
level
,
vtkIdType
index
,
89
double
* origin);
90
94
void
Initialize(
vtkHyperTreeGridNonOrientedGeometryCursor
* cursor);
95
97
100
bool
HasTree
()
const
{
return
vtk::hypertreegrid::HasTree
(*
this
); }
102
104
107
vtkHyperTree
*
GetTree
()
const
{
return
this->Tree; }
109
113
vtkIdType
GetVertexId();
114
119
vtkIdType
GetGlobalNodeIndex();
120
125
unsigned
char
GetDimension();
126
131
unsigned
char
GetNumberOfChildren();
132
136
void
SetGlobalIndexStart(
vtkIdType
index
);
137
141
void
SetGlobalIndexFromLocal(
vtkIdType
index
);
142
146
double
* GetOrigin();
147
double
* GetSize();
148
152
void
GetBounds(
double
bounds[6]);
153
void
GetPoint
(
double
point
[3]);
154
159
void
SetMask(
bool
state);
160
164
bool
IsMasked();
165
169
bool
IsLeaf();
170
174
void
SubdivideLeaf();
175
179
bool
IsRoot();
180
184
unsigned
int
GetLevel();
185
193
void
ToChild(
unsigned
char
ichild);
194
200
void
ToRoot();
201
207
void
ToParent();
208
213
vtkSmartPointer<vtkHyperTreeGridOrientedGeometryCursor>
GetHyperTreeGridOrientedGeometryCursor(
214
vtkHyperTreeGrid
* grid);
215
216
protected
:
221
vtkHyperTreeGridNonOrientedGeometryCursor
();
222
227
~
vtkHyperTreeGridNonOrientedGeometryCursor
()
override
;
228
232
vtkHyperTreeGrid
*
Grid
;
233
237
vtkHyperTree
*
Tree
;
238
242
std::shared_ptr<vtkHyperTreeGridScales>
Scales
;
243
247
unsigned
int
Level
;
248
252
int
LastValidEntry
;
253
254
// Hyper tree grid to which the cursor is attached
255
std::vector<vtkHyperTreeGridGeometryEntry>
Entries
;
256
257
private
:
258
vtkHyperTreeGridNonOrientedGeometryCursor
(
259
const
vtkHyperTreeGridNonOrientedGeometryCursor
&) =
delete
;
260
void
operator=(
const
vtkHyperTreeGridNonOrientedGeometryCursor
&) =
delete
;
261
};
262
#endif
vtkHyperTreeGridNonOrientedGeometryCursor
Objects for traversal a HyperTreeGrid.
Definition:
vtkHyperTreeGridNonOrientedGeometryCursor.h:56
vtkHyperTreeGridNonOrientedGeometryCursor::Grid
vtkHyperTreeGrid * Grid
JB Reference sur l'hyper tree grid parcouru actuellement.
Definition:
vtkHyperTreeGridNonOrientedGeometryCursor.h:232
vtkHyperTreeGridNonOrientedGeometryCursor::HasTree
bool HasTree() const
Return if a Tree pointing exist.
Definition:
vtkHyperTreeGridNonOrientedGeometryCursor.h:100
vtkIdType
int vtkIdType
Definition:
vtkType.h:338
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkHyperTreeGridTools.h
vtkSmartPointer
Hold a reference to a vtkObjectBase instance.
Definition:
vtkMeta.h:32
vtkObject
abstract base class for most VTK objects
Definition:
vtkObject.h:62
vtkHyperTreeGridGeometryEntry
GeometryEntry is a cache data for cursors requiring coordinates.
Definition:
vtkHyperTreeGridGeometryEntry.h:48
vtkHyperTreeGridNonOrientedGeometryCursor::Scales
std::shared_ptr< vtkHyperTreeGridScales > Scales
JB Storage of pre-computed per-level cell scales.
Definition:
vtkHyperTreeGridNonOrientedGeometryCursor.h:242
GetPoint
void GetPoint(const int i, const int j, const int k, double pnt[3])
vtk::hypertreegrid::HasTree
bool HasTree(const T &e)
Definition:
vtkHyperTreeGridTools.h:25
vtkHyperTreeGridScales
A specifalized type of vtkHyperTreeGrid for the case when root cells have uniform sizes in each direc...
Definition:
vtkHyperTreeGridScales.h:34
vtkX3D::level
@ level
Definition:
vtkX3D.h:401
vtkX3D::point
@ point
Definition:
vtkX3D.h:242
vtkHyperTreeGridNonOrientedGeometryCursor::Level
unsigned int Level
JB.
Definition:
vtkHyperTreeGridNonOrientedGeometryCursor.h:247
vtkHyperTreeGridOrientedGeometryCursor
Objects for traversal a HyperTreeGrid.
Definition:
vtkHyperTreeGridOrientedGeometryCursor.h:54
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:33
vtkSmartPointer.h
vtkHyperTree
A data object structured as a tree.
Definition:
vtkHyperTree.h:178
vtkObject::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkHyperTreeGridNonOrientedGeometryCursor::GetTree
vtkHyperTree * GetTree() const
Set the hyper tree to which the cursor is pointing.
Definition:
vtkHyperTreeGridNonOrientedGeometryCursor.h:107
vtkObject.h
vtkHyperTreeGridNonOrientedGeometryCursor::Entries
std::vector< vtkHyperTreeGridGeometryEntry > Entries
Definition:
vtkHyperTreeGridNonOrientedGeometryCursor.h:255
vtkHyperTreeGridGeometryEntry.h
vtkHyperTreeGridNonOrientedGeometryCursor::Tree
vtkHyperTree * Tree
JB.
Definition:
vtkHyperTreeGridNonOrientedGeometryCursor.h:237
vtkX3D::index
@ index
Definition:
vtkX3D.h:252
vtkHyperTreeGridNonOrientedGeometryCursor::LastValidEntry
int LastValidEntry
JB La derniere entree valide.
Definition:
vtkHyperTreeGridNonOrientedGeometryCursor.h:252
vtkHyperTreeGrid
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
Definition:
vtkHyperTreeGrid.h:96
Generated on Thu Jun 25 2020 08:30:32 for VTK by
1.8.17