Version: 8.3.0
Main Page
Related Pages
Packages
Data Structures
Files
File List
Globals
SALOME Mesh Module Developer
Use the SpherePadder SMESH Plugin
Todo List
Packages
Data Structures
Files
File List
idl
src
Controls
Driver
DriverCGNS
DriverDAT
DriverGMF
DriverMED
DriverSTL
DriverUNV
MEDWrapper
MEFISTO2
OBJECT
PluginUtils
SMDS
SMESH
SMESH_I
SMESH_SWIG_WITHIHM
SMESHClient
SMESHDS
SMESHFiltersSelection
SMESHGUI
SMESHUtils
SMESH_Block.cxx
SMESH_Block.hxx
SMESH_Comment.hxx
SMESH_ComputeError.hxx
SMESH_ControlPnt.cxx
SMESH_ControlPnt.hxx
SMESH_DeMerge.cxx
SMESH_File.cxx
SMESH_File.hxx
SMESH_FreeBorders.cxx
SMESH_MAT2d.cxx
SMESH_MAT2d.hxx
SMESH_MeshAlgos.cxx
SMESH_MeshAlgos.hxx
SMESH_Octree.cxx
SMESH_Octree.hxx
SMESH_OctreeNode.cxx
SMESH_OctreeNode.hxx
SMESH_Quadtree.cxx
SMESH_Quadtree.hxx
SMESH_Tree.hxx
SMESH_TryCatch.cxx
SMESH_TryCatch.hxx
SMESH_TypeDefs.hxx
SMESH_Utils.hxx
StdMeshers
StdMeshers_I
StdMeshersGUI
Tools
Globals
SMESH_Quadtree.hxx
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2
//
3
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5
//
6
// This library is free software; you can redistribute it and/or
7
// modify it under the terms of the GNU Lesser General Public
8
// License as published by the Free Software Foundation; either
9
// version 2.1 of the License, or (at your option) any later version.
10
//
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
// Lesser General Public License for more details.
15
//
16
// You should have received a copy of the GNU Lesser General Public
17
// License along with this library; if not, write to the Free Software
18
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
//
20
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21
//
22
23
// SMESH_Quadtree : Quartree implementation
24
// File : SMESH_Quadtree.hxx
25
// Module : SMESH
26
//
27
#ifndef _SMESH_Quadtree_HXX_
28
#define _SMESH_Quadtree_HXX_
29
30
#include "
SMESH_Utils.hxx
"
31
#include "
SMESH_Tree.hxx
"
32
#include <Bnd_B2d.hxx>
33
41
class
SMESHUtils_EXPORT
SMESH_Quadtree
:
public
SMESH_Tree
< Bnd_B2d, 4 >
42
{
43
public
:
44
typedef
SMESH_Tree< Bnd_B2d, 4>
TBaseTree
;
45
46
// Constructor. limit must be provided at tree root construction.
47
// limit will be deleted by SMESH_Quadtree
48
SMESH_Quadtree
(
SMESH_TreeLimit
* limit=0);
49
50
// Compute the bigger dimension of my box
51
double
maxSize
()
const
;
52
53
// Return index of a child the given point is in
54
//inline int getChildIndex(double x, double y, const gp_XY& boxMiddle)const;
55
56
protected
:
57
58
// Allocate a bndbox according to childIndex. childIndex is zero based
59
virtual
Bnd_B2d*
newChildBox
(
int
childIndex)
const
;
60
61
// Change size of a box by a factor; each dimension changes independently of others
62
virtual
void
enlargeByFactor
( Bnd_B2d* box,
double
factor )
const
;
63
};
64
65
//================================================================================
69
//================================================================================
70
71
// inline int SMESH_Quadtree::getChildIndex(double x, double y, const gp_XY& mid) const
72
// {
73
// return (x > mid.X()) + ( y > mid.Y())*2 + (z > mid.Z())*4;
74
// }
75
76
#endif
src
SMESHUtils
SMESH_Quadtree.hxx
Copyright © 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS