VTK
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
dox
Filtering
vtkHyperOctreeCursor.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkHyperOctreeCursor.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 notice for more information.
13
14
=========================================================================*/
24
#ifndef __vtkHyperOctreeCursor_h
25
#define __vtkHyperOctreeCursor_h
26
27
#include "
vtkObject.h
"
28
29
enum
30
{
31
VTK_OCTREE_CHILD_ZMIN_YMIN_XMIN
=0,
32
VTK_OCTREE_CHILD_ZMIN_YMIN_XMAX
,
33
VTK_OCTREE_CHILD_ZMIN_YMAX_XMIN
,
34
VTK_OCTREE_CHILD_ZMIN_YMAX_XMAX
,
35
VTK_OCTREE_CHILD_ZMAX_YMIN_XMIN
,
36
VTK_OCTREE_CHILD_ZMAX_YMIN_XMAX
,
37
VTK_OCTREE_CHILD_ZMAX_YMAX_XMIN
,
38
VTK_OCTREE_CHILD_ZMAX_YMAX_XMAX
39
};
40
41
const
int
VTK_QUADTREE_CHILD_SW
=
VTK_OCTREE_CHILD_ZMIN_YMIN_XMIN
;
42
const
int
VTK_QUADTREE_CHILD_SE
=
VTK_OCTREE_CHILD_ZMIN_YMIN_XMAX
;
43
const
int
VTK_QUADTREE_CHILD_NW
=
VTK_OCTREE_CHILD_ZMIN_YMAX_XMIN
;
44
const
int
VTK_QUADTREE_CHILD_NE
=
VTK_OCTREE_CHILD_ZMIN_YMAX_XMAX
;
45
46
const
int
VTK_BINARY_TREE_CHILD_LEFT
=
VTK_QUADTREE_CHILD_SW
;
47
const
int
VTK_BINARY_TREE_CHILD_RIGHT
=
VTK_QUADTREE_CHILD_SE
;
48
49
class
VTK_FILTERING_EXPORT
vtkHyperOctreeCursor
:
public
vtkObject
50
{
51
public
:
52
vtkTypeMacro(
vtkHyperOctreeCursor
,
vtkObject
);
53
void
PrintSelf
(ostream& os,
vtkIndent
indent);
54
57
virtual
int
GetLeafId()=0;
58
60
virtual
int
CurrentIsLeaf()=0;
61
63
virtual
int
CurrentIsRoot()=0;
64
67
virtual
int
GetCurrentLevel()=0;
68
72
virtual
int
GetChildIndex()=0;
73
74
// Are the children of the current node all leaves?
75
// This query can be called also on a leaf node.
76
// \post compatible: result implies !CurrentIsLeaf()
77
virtual
int
CurrentIsTerminalNode()=0;
78
81
virtual
void
ToRoot()=0;
82
85
virtual
void
ToParent()=0;
86
90
virtual
void
ToChild(
int
child)=0;
91
95
virtual
void
ToSameNode(
vtkHyperOctreeCursor
*other)=0;
96
99
virtual
int
IsEqual(
vtkHyperOctreeCursor
*other)=0;
100
103
virtual
vtkHyperOctreeCursor
*Clone()=0;
104
107
virtual
int
SameTree(
vtkHyperOctreeCursor
*other)=0;
108
113
virtual
int
GetIndex(
int
d)=0;
114
117
virtual
int
GetNumberOfChildren()=0;
118
120
virtual
int
GetDimension()=0;
121
123
129
virtual
void
MoveToNode(
int
*indices,
130
int
level
)=0;
132
134
virtual
int
Found()=0;
135
136
protected
:
137
// Constructor.
138
vtkHyperOctreeCursor
();
139
virtual
~
vtkHyperOctreeCursor
();
140
private
:
141
vtkHyperOctreeCursor
(
const
vtkHyperOctreeCursor
&);
// Not implemented.
142
void
operator=(
const
vtkHyperOctreeCursor
&);
// Not implemented.
143
};
144
#endif
Generated on Sun Sep 9 2012 13:03:28 for VTK by
1.8.1.2