Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Kdtree_d< Traits >::ExtPoint Class Reference

#include <kdtree_d.h>

Collaboration diagram for Kdtree_d< Traits >::ExtPoint:

Classes

class  coordinate_type
 

Public Types

enum  { MINUS_INFINITY = -1, FINITE = 0, PLUS_INFINITY = 1 }
 

Public Member Functions

 ExtPoint (int _type, int _dim)
 
 ExtPoint ()
 
 ExtPoint (const ExtPoint &p)
 
ExtPointoperator= (const ExtPoint &p)
 
 ExtPoint (const Point &point, int dim)
 
void term ()
 
 ~ExtPoint ()
 
void set_coord (int k, Point &point)
 
void set_coord (int k, const ExtPoint &point)
 
int compare (int k, const ExtPoint &point) const
 
int compare_vector (const ExtPoint &point) const
 
int compare (int k, const Point &point) const
 
int dimension () const
 
int get_coord_status (int d) const
 
const Pointget_coord_point (int d) const
 

Private Member Functions

void init (int _dim)
 

Private Attributes

coordinate_typep_arr
 
int dim
 
Point def_pnt
 

Detailed Description

template<class Traits>
class Kdtree_d< Traits >::ExtPoint

Definition at line 152 of file kdtree_d.h.

Member Enumeration Documentation

anonymous enum
Enumerator
MINUS_INFINITY 
FINITE 
PLUS_INFINITY 

Definition at line 181 of file kdtree_d.h.

Constructor & Destructor Documentation

ExtPoint ( int  _type,
int  _dim 
)
inline

Definition at line 183 of file kdtree_d.h.

References Kdtree_d< Traits >::ExtPoint::dim, Kdtree_d< Traits >::ExtPoint::init(), Kdtree_d< Traits >::ExtPoint::MINUS_INFINITY, Kdtree_d< Traits >::ExtPoint::p_arr, and Kdtree_d< Traits >::ExtPoint::PLUS_INFINITY.

184  {
185  assert( _type == MINUS_INFINITY || _type == PLUS_INFINITY );
186  init( _dim );
187 
188  for ( int ind = 0; ind < dim; ind++ )
189  p_arr[ ind ].type = _type;
190  }
void init(int _dim)
Definition: kdtree_d.h:167
coordinate_type * p_arr
Definition: kdtree_d.h:163

Here is the call graph for this function:

ExtPoint ( )
inline

Definition at line 192 of file kdtree_d.h.

References Kdtree_d< Traits >::ExtPoint::dim, and Kdtree_d< Traits >::ExtPoint::p_arr.

193  {
194  p_arr = NULL;
195  dim = -1;
196  }
coordinate_type * p_arr
Definition: kdtree_d.h:163
ExtPoint ( const ExtPoint p)
inline

Definition at line 198 of file kdtree_d.h.

References Kdtree_d< Traits >::ExtPoint::def_pnt, Kdtree_d< Traits >::ExtPoint::dim, Kdtree_d< Traits >::ExtPoint::init(), Kdtree_d< Traits >::ExtPoint::p_arr, and Kdtree_d< Traits >::ExtPoint::coordinate_type::p_pnt.

199  {
200  init( p.dim );
201 
202  def_pnt = p.def_pnt;
203  for ( int ind = 0; ind < dim; ind++ ) {
204  p_arr[ ind ] = p.p_arr[ ind ];
205  if ( p.p_arr[ ind ].p_pnt == &p.def_pnt )
206  p_arr[ ind ].p_pnt = &def_pnt;
207  }
208  }
void init(int _dim)
Definition: kdtree_d.h:167
coordinate_type * p_arr
Definition: kdtree_d.h:163

Here is the call graph for this function:

ExtPoint ( const Point point,
int  dim 
)
inline
~ExtPoint ( )
inline

Definition at line 248 of file kdtree_d.h.

References Kdtree_d< Traits >::ExtPoint::term().

249  {
250  term();
251  }

Here is the call graph for this function:

Member Function Documentation

int compare ( int  k,
const ExtPoint point 
) const
inline

Definition at line 276 of file kdtree_d.h.

References CGAL::compare(), Kdtree_d< Traits >::ExtPoint::dim, Kdtree_d< Traits >::ExtPoint::FINITE, k, Kdtree_d< Traits >::ExtPoint::p_arr, Kdtree_d< Traits >::ExtPoint::coordinate_type::p_pnt, and Kdtree_d< Traits >::ExtPoint::coordinate_type::type.

Referenced by Kdtree_d< Traits >::ExtPoint::compare_vector(), Kdtree_d< Traits >::Box::intersect(), Kdtree_d< Traits >::Box::is_coord_in_range(), Kdtree_d< Traits >::Box::is_empty(), Kdtree_d< Traits >::Box::is_empty_open(), Kdtree_d< Traits >::Box::is_in(), Kdtree_d< Traits >::Box::is_intersect(), Kdtree_d< Traits >::Box::is_intersect_in_dim(), Kdtree_d< Traits >::Box::is_intersect_in_dim_closed(), and Kdtree_d< Traits >::Node::Plane::split().

277  {
278  assert( 0 <= k && k < dim );
279  // the following does not compile on msvc++...
280  // coordinate_type & a( p_arr[ k ] ),
281  // & b( point.p_arr[ k ] );
282  coordinate_type & a = p_arr[ k ];
283  coordinate_type & b = point.p_arr[ k ];
284 
285  if ( a.type != FINITE ) {
286  if ( b.type != FINITE ) {
287  return a.type - b.type;
288  } else {
289  return a.type;
290  }
291  } else {
292  if ( b.type != FINITE )
293  return -b.type;
294  else
295  return Traits::compare( k, *a.p_pnt, *b.p_pnt );
296  }
297  }
j indices k indices k
Definition: Indexing.h:6
coordinate_type * p_arr
Definition: kdtree_d.h:163
CGAL_KERNEL_INLINE Comparison_result compare(const NT &n1, const NT &n2)
Definition: number_utils.h:143

Here is the call graph for this function:

Here is the caller graph for this function:

int compare ( int  k,
const Point point 
) const
inline

Definition at line 313 of file kdtree_d.h.

References CGAL::compare(), Kdtree_d< Traits >::ExtPoint::dim, Kdtree_d< Traits >::ExtPoint::FINITE, k, Kdtree_d< Traits >::ExtPoint::p_arr, Kdtree_d< Traits >::ExtPoint::coordinate_type::p_pnt, and Kdtree_d< Traits >::ExtPoint::coordinate_type::type.

314  {
315  assert( 0 <= k && k < dim );
316 
317  // coordinate_type & a( p_arr[ k ] );
318  coordinate_type & a = p_arr[ k ];
319 
320  if ( a.type != FINITE )
321  return a.type;
322  else
323  return Traits::compare( k, *a.p_pnt, point );
324  }
j indices k indices k
Definition: Indexing.h:6
coordinate_type * p_arr
Definition: kdtree_d.h:163
CGAL_KERNEL_INLINE Comparison_result compare(const NT &n1, const NT &n2)
Definition: number_utils.h:143

Here is the call graph for this function:

int compare_vector ( const ExtPoint point) const
inline

Definition at line 300 of file kdtree_d.h.

References Kdtree_d< Traits >::ExtPoint::compare(), and Kdtree_d< Traits >::ExtPoint::dim.

Referenced by Kdtree_d< Traits >::Box::comp().

301  {
302  int ind, res;
303 
304  for ( ind = 0; ind < dim; ind++ ) {
305  res = compare( ind, point );
306  if ( res != 0 )
307  return res;
308  }
309 
310  return 0;
311  }
int compare(int k, const ExtPoint &point) const
Definition: kdtree_d.h:276

Here is the call graph for this function:

Here is the caller graph for this function:

int dimension ( ) const
inline
const Point* get_coord_point ( int  d) const
inline

Definition at line 339 of file kdtree_d.h.

References d, Kdtree_d< Traits >::ExtPoint::dim, Kdtree_d< Traits >::ExtPoint::p_arr, and Kdtree_d< Traits >::ExtPoint::coordinate_type::p_pnt.

340  {
341  assert( 0 <= d && d < dim );
342 
343  return p_arr[ d ].p_pnt;
344  }
const NT & d
coordinate_type * p_arr
Definition: kdtree_d.h:163
int get_coord_status ( int  d) const
inline

Definition at line 331 of file kdtree_d.h.

References d, Kdtree_d< Traits >::ExtPoint::dim, Kdtree_d< Traits >::ExtPoint::p_arr, and Kdtree_d< Traits >::ExtPoint::coordinate_type::type.

332  {
333  assert( 0 <= d && d < dim );
334 
335  return p_arr[ d ].type;
336  }
const NT & d
coordinate_type * p_arr
Definition: kdtree_d.h:163
void init ( int  _dim)
inlineprivate

Definition at line 167 of file kdtree_d.h.

References Kdtree_d< Traits >::ExtPoint::dim, and Kdtree_d< Traits >::ExtPoint::p_arr.

Referenced by Kdtree_d< Traits >::ExtPoint::ExtPoint(), and Kdtree_d< Traits >::ExtPoint::operator=().

168  {
169  assert( _dim > 0 );
170  dim = _dim;
171 
172  p_arr = (coordinate_type *)malloc( sizeof( coordinate_type )
173  * dim );
174  //printf( "p_arr(new): %p\n", (void *)p_arr );
175  assert( p_arr != NULL );
176 
177  memset( p_arr, 0, sizeof( coordinate_type ) * dim );
178  }
coordinate_type * p_arr
Definition: kdtree_d.h:163

Here is the caller graph for this function:

ExtPoint& operator= ( const ExtPoint p)
inline

Definition at line 210 of file kdtree_d.h.

References Kdtree_d< Traits >::ExtPoint::def_pnt, Kdtree_d< Traits >::ExtPoint::dim, Kdtree_d< Traits >::ExtPoint::init(), Kdtree_d< Traits >::ExtPoint::p_arr, Kdtree_d< Traits >::ExtPoint::coordinate_type::p_pnt, and Kdtree_d< Traits >::ExtPoint::term().

211  {
212  term();
213 
214  init( p.dim );
215 
216  def_pnt = p.def_pnt;
217  for ( int ind = 0; ind < dim; ind++ ) {
218  p_arr[ ind ] = p.p_arr[ ind ];
219  if ( p.p_arr[ ind ].p_pnt == &p.def_pnt )
220  p_arr[ ind ].p_pnt = &def_pnt;
221  }
222 
223  return *this;
224  }
void init(int _dim)
Definition: kdtree_d.h:167
coordinate_type * p_arr
Definition: kdtree_d.h:163

Here is the call graph for this function:

void set_coord ( int  k,
Point point 
)
inline
void set_coord ( int  k,
const ExtPoint point 
)
inline

Definition at line 264 of file kdtree_d.h.

References Kdtree_d< Traits >::ExtPoint::def_pnt, Kdtree_d< Traits >::ExtPoint::dim, Kdtree_d< Traits >::ExtPoint::FINITE, k, Kdtree_d< Traits >::ExtPoint::p_arr, and Kdtree_d< Traits >::ExtPoint::coordinate_type::p_pnt.

265  {
266  assert( 0 <= k && k < dim );
267  assert( 0 <= k && k < point.dim );
268 
269  p_arr[ k ] = point.p_arr[ k ];
270  if ( p_arr[ k ].type == FINITE ) {
271  Traits::copy_coord( k, def_pnt, *(p_arr[ k ].p_pnt) );
272  p_arr[ k ].p_pnt = &def_pnt;
273  }
274  }
j indices k indices k
Definition: Indexing.h:6
coordinate_type * p_arr
Definition: kdtree_d.h:163
void term ( )
inline

Definition at line 237 of file kdtree_d.h.

References Kdtree_d< Traits >::ExtPoint::dim, and Kdtree_d< Traits >::ExtPoint::p_arr.

Referenced by descalegridspeeds(), setup_py::grid(), Kdtree_d< Traits >::ExtPoint::operator=(), reflectposition(), reflectvector(), rflu_modstencilsbfaces::rflu_buildbf2cstencil(), rflu_modgeometry::rflu_buildbvertexnormals(), rflu_modstencilscells::rflu_buildc2cstencil(), rflu_modstencilsfaces::rflu_buildf2cstencil(), rflu_modgeometry::rflu_buildgeometry(), rflu_checkgridspeeds(), rflu_modgeometry::rflu_computeapproxcentroids(), rflu_moddifferentiationbfaces::rflu_computebfgradconstr(), rflu_computeenerdissoles(), rflu_computeexactflowerror(), rflu_modexactflow::rflu_computeexactflowpacoust(), rflu_modexactflow::rflu_computeexactflowssvortex(), rflu_moddifferentiationbfaces::rflu_computegradbfaces(), rflu_moddifferentiationcells::rflu_computegradcells_2d(), rflu_moddifferentiationcells::rflu_computegradcells_3d(), rflu_moddifferentiationcells::rflu_computegradcellsconstr(), rflu_moddifferentiationcells::rflu_computegradcellsfast_2d(), rflu_moddifferentiationcells::rflu_computegradcellsfast_3d(), rflu_moddifferentiationfaces::rflu_computegradconstrained(), rflu_moddifferentiationfaces::rflu_computegradfaces(), rflu_moddifferentiationfaces::rflu_computegradfacesconstr(), rflu_computegridspeeds(), rflu_computeintegral3oles(), rflu_modlimiters::rflu_computelimiterbarthjesp(), rflu_modlimiters::rflu_computelimitervenkat(), rflu_modplottingvars::rflu_computeplottingvarsdisc(), rflu_modstencilsutils::rflu_computestencilweights(), rflu_computeweightsoles(), rflu_modmesh3d::rflu_convmesh3d2rocflu(), rflu_modvgridns::rflu_convvgridns2rocflu(), rflu_modexplicitmultistage::rflu_ems_setdiss(), rflu_modexplicitmultistage::rflu_ems_updateconservedvars(), rflu_finishsd(), rflu_modfacelist::rflu_getopposingfaces(), rflu_modhashtable::rflu_hashbuildkey(), rflu_modhllcflux::rflu_hllc_computeflux1_gl(), rflu_modhllcflux::rflu_hllc_computeflux1_mtcp(), rflu_modhllcflux::rflu_hllc_computeflux1_tcp(), rflu_modhllcflux::rflu_hllc_computeflux2_gl(), rflu_modhllcflux::rflu_hllc_computeflux2_mtcp(), rflu_modhllcflux::rflu_hllc_computeflux2_tcp(), rflu_modfacelist::rflu_insertintocell2facelist(), rflu_modinterpolation::rflu_interpcells2face(), rflu_modinterpolation::rflu_interpcells2facepatch(), rflu_modinterpolation::rflu_interpcells2faces(), rflu_invflux_i(), rflu_movegriddisp(), rflu_movegridxyz(), rflu_modpetscpoisson::rflu_petsc_buildpoisson(), rflu_modroeflux::rflu_roe_computefluxd1_tcp(), rflu_modroeflux::rflu_roe_computefluxd2_tcp(), rflu_setdependentvars(), rflu_modgridspeedutils::rflu_setgridspeedscalefactor(), rflu_modoles::rflu_setmapfunnz2funcorr43(), rflu_modoles::rflu_setmapfunnz2funcorr44(), rflu_setmovegridoptions(), rflu_modrindstates::rflu_setrindstateslipwallperf(), rflu_settransportvars(), rflu_modweno::rflu_wenogradcells_2d(), rflu_modweno::rflu_wenogradcells_3d(), rflu_modweno::rflu_wenogradcellsxyz_1d(), scalegridspeeds(), spec_eqeulcorr(), zn_gen_grid(), Kdtree_d< Traits >::Box::~Box(), and Kdtree_d< Traits >::ExtPoint::~ExtPoint().

238  {
239  if ( p_arr != NULL ) {
240  //printf( "a: %p\n", p_arr );
241  free( p_arr );
242  //printf( "_a\n" );
243  p_arr = NULL;
244  }
245  dim = 0;
246  }
coordinate_type * p_arr
Definition: kdtree_d.h:163

Member Data Documentation


The documentation for this class was generated from the following file: