Public Member Functions | Static Public Member Functions | List of all members
ClipPlaneSet Struct Reference

! A ClipPlaneSet is an array of ConvexClipPlaneSet representing the union of all of these sets. More...

#include <ClipPlaneSet.h>

Inheritance diagram for ClipPlaneSet:
bvector< _TypeT, _Allocator >

Public Member Functions

 ClipPlaneSet ()
 Create empty clip plane set. More...
 
 ClipPlaneSet (ClipPlaneCP planes, size_t nPlanes)
 Create clip plane set from a single set of convex planes. More...
 
 ClipPlaneSet (ConvexClipPlaneSetCR convexSet)
 Create clip plane set from a given convex clip plane set. More...
 
bool IsPointInside (DPoint3dCR point) const
 Test if point is inside. More...
 
bool IsPointOnOrInside (DPoint3dCR point, double tolerance) const
 Test if point is inside to supplied tolerance. More...
 
bool IsSphereInside (DPoint3dCR point, double radius) const
 Test if point is inside to supplied tolerance. More...
 
void TransformInPlace (TransformCR transform)
 Transform each plane set. More...
 
bool TestRayIntersect (DPoint3dCR point, DVec3dCR direction) const
 Test for intersection with ray. More...
 
bool GetRayIntersection (double &tNear, DPoint3dCR point, DVec3dCR direction) const
 Get nearest intersect distance along ray. More...
 
ClipPlaneContainment ClassifyPointContainment (DPoint3dCP points, size_t nPoints, bool onIsOutside=false) const
 return a summary classification More...
 
bool GetRange (DRange3dR range, TransformCP transform) const
 Get range of this ClipPlaneSet. More...
 
- Public Member Functions inherited from bvector< _TypeT, _Allocator >
iterator _C_make_iter (pointer __ptr)
 
const_iterator _C_make_iter (pointer __ptr) const
 
 bvector (const allocator_type &__alloc=allocator_type())
 
 bvector (size_type __n, const_reference __x=value_type(), const allocator_type &__alloc=allocator_type())
 
template<class _InputIter >
 bvector (_InputIter __first, _InputIter __last, const allocator_type &__alloc=allocator_type())
 
 bvector (const bvector &__rhs)
 
 bvector (bvector &&rhs)
 
bvectoroperator= (bvector &&rhs)
 
 ~bvector ()
 
bvectoroperator= (const bvector &)
 
template<class _InputIter >
void assign (_InputIter __first, _InputIter __last)
 
void assign (size_type __n, const_reference __x)
 
allocator_type get_allocator () const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
size_type size () const
 
size_type max_size () const
 
void resize (size_type, value_type=value_type())
 
size_type capacity () const
 
bool empty () const
 
void reserve (size_type)
 
reference operator[] (size_type)
 
const_reference operator[] (size_type) const
 
reference at (size_type)
 
const_reference at (size_type __n) const
 
reference front ()
 
const_reference front () const
 
pointer data ()
 
const_pointer data () const
 
reference back ()
 
const_reference back () const
 
void push_back (const_reference)
 
void pop_back ()
 
iterator insert (iterator, const_reference)
 
template<class _InputIter >
void insert (iterator __it, _InputIter __first, _InputIter __last)
 
void insert (iterator __it, size_type __n, const_reference __x)
 
iterator erase (iterator)
 
iterator erase (iterator, iterator)
 
void swap (bvector &)
 
void clear ()
 

Static Public Member Functions

static ClipPlaneSet FromSweptPolygon (DPoint3dCP points, size_t n, DVec3dCP direction=NULL)
 Create a (chain of) convex clippers for an (unbounded) polygon sweep in given direction. More...
 
static ClipPlaneSet FromSweptPolygon (DPoint3dCP points, size_t n, DVec3dCP direction, bvector< bvector< DPoint3d >> *shapes)
 
static ClipPlaneSet FromXYBox (double x0, double y0, double x1, double y1)
 Create clip plane set from XY box. More...
 

Additional Inherited Members

- Public Types inherited from bvector< _TypeT, _Allocator >
typedef _TypeT value_type
 
typedef _Allocator allocator_type
 
typedef allocator_type::size_type size_type
 
typedef
allocator_type::difference_type 
difference_type
 
typedef allocator_type::reference reference
 
typedef
allocator_type::const_reference 
const_reference
 
typedef allocator_type::pointer pointer
 
typedef
allocator_type::const_pointer 
const_pointer
 
typedef
BC__RW::__rw_debug_iter
< bvector, pointer, pointer
iterator
 
typedef
BC__RW::__rw_debug_iter
< bvector, const_pointer,
pointer
const_iterator
 
typedef std::reverse_iterator
< const_iterator
const_reverse_iterator
 
typedef std::reverse_iterator
< iterator
reverse_iterator
 

Detailed Description

! A ClipPlaneSet is an array of ConvexClipPlaneSet representing the union of all of these sets.

!

Constructor & Destructor Documentation

Create empty clip plane set.

ClipPlaneSet ( ClipPlaneCP  planes,
size_t  nPlanes 
)

Create clip plane set from a single set of convex planes.

ClipPlaneSet ( ConvexClipPlaneSetCR  convexSet)

Create clip plane set from a given convex clip plane set.

Member Function Documentation

ClipPlaneContainment ClassifyPointContainment ( DPoint3dCP  points,
size_t  nPoints,
bool  onIsOutside = false 
) const

return a summary classification

  • ClipPlaneContainment_StronglyInside All points are inside the plane set
  • ClipPlaneContainment_Ambiguous
  • ClipPlaneContainment_StronglyOut Strongly out. All points are out, and are all on one side of one of planes, so edges joining pairs of points will always be out also.
static ClipPlaneSet FromSweptPolygon ( DPoint3dCP  points,
size_t  n,
DVec3dCP  direction = NULL 
)
static

Create a (chain of) convex clippers for an (unbounded) polygon sweep in given direction.

polygon may have disconnects. default sweep direction is Z

static ClipPlaneSet FromSweptPolygon ( DPoint3dCP  points,
size_t  n,
DVec3dCP  direction,
bvector< bvector< DPoint3d >> *  shapes 
)
static
static ClipPlaneSet FromXYBox ( double  x0,
double  y0,
double  x1,
double  y1 
)
static

Create clip plane set from XY box.

bool GetRange ( DRange3dR  range,
TransformCP  transform 
) const

Get range of this ClipPlaneSet.

bool GetRayIntersection ( double &  tNear,
DPoint3dCR  point,
DVec3dCR  direction 
) const

Get nearest intersect distance along ray.

bool IsPointInside ( DPoint3dCR  point) const

Test if point is inside.

bool IsPointOnOrInside ( DPoint3dCR  point,
double  tolerance 
) const

Test if point is inside to supplied tolerance.

bool IsSphereInside ( DPoint3dCR  point,
double  radius 
) const

Test if point is inside to supplied tolerance.

bool TestRayIntersect ( DPoint3dCR  point,
DVec3dCR  direction 
) const

Test for intersection with ray.

void TransformInPlace ( TransformCR  transform)

Transform each plane set.


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

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.