ADORe
ADORe is a modular open source software library and toolkit for decision making, planning, control and simulation of automated vehicles
adore::mad::BoundingVolumes::PlaneSequence3d< Nmax > Class Template Reference

#include <boundingvolumes.h>

Collaboration diagram for adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >:
Collaboration graph

Public Member Functions

 PlaneSequence3d ()
 
 PlaneSequence3d (float *p, float *n, int k)
 
void initialize (float *p, float *n, int k)
 
 ~PlaneSequence3d ()
 
bool isCollisionFree (OBB3d *other)
 
bool isCollisionFree (OBBTree3d *other)
 
OBB3dgetOBB ()
 
float * getData ()
 
int size ()
 

Private Member Functions

bool isCollisionFree_detailedTest (OBB3d *other)
 
void generatePlaneData (float *p, float *n)
 
void generateBoundingVolume (float *p, float *n)
 

Private Attributes

float v [Nmax *3 *3]
 
int N
 
OBB3d box
 

Detailed Description

template<int Nmax>
class adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >

A sequence of 2d planes in 3d space, which can be used to represent constraints

Constructor & Destructor Documentation

◆ PlaneSequence3d() [1/2]

template<int Nmax>
adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::PlaneSequence3d ( )
inline

p\in R^{3xk} - point sequence n\in R^{3xk} - normals sticking out of point sequence to define faces

◆ PlaneSequence3d() [2/2]

template<int Nmax>
adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::PlaneSequence3d ( float *  p,
float *  n,
int  k 
)
inline

constructor, initialize with an array of corner points p and an array of surface normals n

Here is the call graph for this function:

◆ ~PlaneSequence3d()

template<int Nmax>
adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::~PlaneSequence3d ( )
inline

Member Function Documentation

◆ generateBoundingVolume()

template<int Nmax>
void adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::generateBoundingVolume ( float *  p,
float *  n 
)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ generatePlaneData()

template<int Nmax>
void adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::generatePlaneData ( float *  p,
float *  n 
)
inlineprivate
Here is the caller graph for this function:

◆ getData()

template<int Nmax>
float* adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::getData ( )
inline

◆ getOBB()

template<int Nmax>
OBB3d* adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::getOBB ( )
inline

◆ initialize()

template<int Nmax>
void adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::initialize ( float *  p,
float *  n,
int  k 
)
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isCollisionFree() [1/2]

template<int Nmax>
bool adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::isCollisionFree ( OBB3d other)
inline

test for collisions with an OBB3d

Returns
true if collision free
Here is the call graph for this function:
Here is the caller graph for this function:

◆ isCollisionFree() [2/2]

template<int Nmax>
bool adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::isCollisionFree ( OBBTree3d other)
inline

test for collisions with an OBBTree3d

Here is the call graph for this function:

◆ isCollisionFree_detailedTest()

template<int Nmax>
bool adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::isCollisionFree_detailedTest ( OBB3d other)
inlineprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ size()

template<int Nmax>
int adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::size ( )
inline

Member Data Documentation

◆ box

template<int Nmax>
OBB3d adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::box
private

oriented box, which bounds the complete sequence of planes

◆ N

template<int Nmax>
int adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::N
private

number of initialized planes

◆ v

template<int Nmax>
float adore::mad::BoundingVolumes::PlaneSequence3d< Nmax >::v[Nmax *3 *3]
private

an array [ c,e0,e1, c,e0,e1, c,e0,e1] containing corner point and edges of planes 0..N


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