Geant4_10
Public Member Functions | Static Public Member Functions | List of all members
UVoxelizer Class Reference

#include <UVoxelizer.hh>

Public Member Functions

void Voxelize (std::vector< VUSolid * > &solids, std::vector< UTransform3D * > &transforms)
 
void Voxelize (std::vector< VUFacet * > &facets)
 
void DisplayVoxelLimits ()
 
void DisplayBoundaries ()
 
void DisplayListNodes ()
 
 UVoxelizer ()
 
 ~UVoxelizer ()
 
void GetCandidatesVoxel (std::vector< int > &voxels)
 
int GetCandidatesVoxelArray (const UVector3 &point, std::vector< int > &list, UBits *crossed=NULL) const
 
int GetCandidatesVoxelArray (const std::vector< int > &voxels, const UBits bitmasks[], std::vector< int > &list, UBits *crossed=NULL) const
 
int GetCandidatesVoxelArray (const std::vector< int > &voxels, std::vector< int > &list, UBits *crossed=NULL) const
 
const std::vector< UVoxelBox > & GetBoxes () const
 
const std::vector< double > & GetBoundary (int index) const
 
bool UpdateCurrentVoxel (const UVector3 &point, const UVector3 &direction, std::vector< int > &curVoxel) const
 
void GetVoxel (std::vector< int > &curVoxel, const UVector3 &point) const
 
int GetBitsPerSlice () const
 
bool Contains (const UVector3 &point) const
 
double DistanceToNext (const UVector3 &point, const UVector3 &direction, std::vector< int > &curVoxel) const
 
double DistanceToFirst (const UVector3 &point, const UVector3 &direction) const
 
double SafetyToBoundingBox (const UVector3 &point) const
 
int GetVoxelsIndex (int x, int y, int z) const
 
int GetVoxelsIndex (const std::vector< int > &voxels) const
 
bool GetPointVoxel (const UVector3 &p, std::vector< int > &voxels) const
 
int GetPointIndex (const UVector3 &p) const
 
const UBitsEmpty () const
 
bool IsEmpty (int index) const
 
void SetMaxVoxels (int max)
 
void SetMaxVoxels (const UVector3 &reductionRatio)
 
int GetMaxVoxels (UVector3 &ratioOfReduction)
 
int AllocatedMemory ()
 
long long GetCountOfVoxels () const
 
long long CountVoxels (std::vector< double > boundaries[]) const
 
const std::vector< int > & GetCandidates (std::vector< int > &curVoxel) const
 
int GetVoxelBoxesSize () const
 
const UVoxelBoxGetVoxelBox (int i) const
 
const std::vector< int > & GetVoxelBoxCandidates (int i) const
 
int GetTotalCandidates () const
 
void BuildBoundingBox ()
 
void BuildBoundingBox (UVector3 &amin, UVector3 &amax, double tolerance=0)
 

Static Public Member Functions

template<typename T >
static int BinarySearch (const std::vector< T > &vec, T value)
 
static double MinDistanceToBox (const UVector3 &aPoint, const UVector3 &f)
 
static void SetDefaultVoxelsCount (int count)
 
static int GetDefaultVoxelsCount ()
 

Detailed Description

Definition at line 49 of file UVoxelizer.hh.

Constructor & Destructor Documentation

UVoxelizer::UVoxelizer ( )

Definition at line 31 of file UVoxelizer.cc.

Here is the call graph for this function:

UVoxelizer::~UVoxelizer ( )

Definition at line 45 of file UVoxelizer.cc.

Member Function Documentation

int UVoxelizer::AllocatedMemory ( )

Definition at line 1136 of file UVoxelizer.cc.

Here is the call graph for this function:

template<typename T >
static int UVoxelizer::BinarySearch ( const std::vector< T > &  vec,
value 
)
inlinestatic

Definition at line 58 of file UVoxelizer.hh.

Here is the caller graph for this function:

void UVoxelizer::BuildBoundingBox ( )

Definition at line 424 of file UVoxelizer.cc.

Here is the call graph for this function:

void UVoxelizer::BuildBoundingBox ( UVector3 amin,
UVector3 amax,
double  tolerance = 0 
)

Definition at line 431 of file UVoxelizer.cc.

Here is the call graph for this function:

bool UVoxelizer::Contains ( const UVector3 point) const

Definition at line 997 of file UVoxelizer.cc.

long long UVoxelizer::CountVoxels ( std::vector< double >  boundaries[]) const
inline

Definition at line 191 of file UVoxelizer.hh.

Here is the caller graph for this function:

void UVoxelizer::DisplayBoundaries ( )

Definition at line 270 of file UVoxelizer.cc.

void UVoxelizer::DisplayListNodes ( )

Definition at line 403 of file UVoxelizer.cc.

Here is the call graph for this function:

void UVoxelizer::DisplayVoxelLimits ( )

Definition at line 173 of file UVoxelizer.cc.

double UVoxelizer::DistanceToFirst ( const UVector3 point,
const UVector3 direction 
) const

Definition at line 1007 of file UVoxelizer.cc.

Here is the call graph for this function:

double UVoxelizer::DistanceToNext ( const UVector3 point,
const UVector3 direction,
std::vector< int > &  curVoxel 
) const

Definition at line 1056 of file UVoxelizer.cc.

const UBits& UVoxelizer::Empty ( ) const
inline

Definition at line 164 of file UVoxelizer.hh.

int UVoxelizer::GetBitsPerSlice ( ) const
inline

Definition at line 115 of file UVoxelizer.hh.

Here is the call graph for this function:

const std::vector<double>& UVoxelizer::GetBoundary ( int  index) const
inline

Definition at line 96 of file UVoxelizer.hh.

Here is the caller graph for this function:

const std::vector<UVoxelBox>& UVoxelizer::GetBoxes ( ) const
inline

Definition at line 92 of file UVoxelizer.hh.

const std::vector<int>& UVoxelizer::GetCandidates ( std::vector< int > &  curVoxel) const
inline

Definition at line 221 of file UVoxelizer.hh.

Here is the call graph for this function:

void UVoxelizer::GetCandidatesVoxel ( std::vector< int > &  voxels)

Definition at line 777 of file UVoxelizer.cc.

Here is the call graph for this function:

int UVoxelizer::GetCandidatesVoxelArray ( const UVector3 point,
std::vector< int > &  list,
UBits crossed = NULL 
) const

Definition at line 867 of file UVoxelizer.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

int UVoxelizer::GetCandidatesVoxelArray ( const std::vector< int > &  voxels,
const UBits  bitmasks[],
std::vector< int > &  list,
UBits crossed = NULL 
) const

Definition at line 938 of file UVoxelizer.cc.

Here is the call graph for this function:

int UVoxelizer::GetCandidatesVoxelArray ( const std::vector< int > &  voxels,
std::vector< int > &  list,
UBits crossed = NULL 
) const

Definition at line 990 of file UVoxelizer.cc.

Here is the call graph for this function:

long long UVoxelizer::GetCountOfVoxels ( ) const
inline

Definition at line 186 of file UVoxelizer.hh.

int UVoxelizer::GetDefaultVoxelsCount ( )
static

Definition at line 1156 of file UVoxelizer.cc.

int UVoxelizer::GetMaxVoxels ( UVector3 ratioOfReduction)
inline

Definition at line 178 of file UVoxelizer.hh.

int UVoxelizer::GetPointIndex ( const UVector3 p) const
inline

Definition at line 153 of file UVoxelizer.hh.

Here is the call graph for this function:

bool UVoxelizer::GetPointVoxel ( const UVector3 p,
std::vector< int > &  voxels 
) const
inline

Definition at line 142 of file UVoxelizer.hh.

Here is the call graph for this function:

int UVoxelizer::GetTotalCandidates ( ) const
inline

Definition at line 246 of file UVoxelizer.hh.

void UVoxelizer::GetVoxel ( std::vector< int > &  curVoxel,
const UVector3 point 
) const
inline

Definition at line 103 of file UVoxelizer.hh.

Here is the call graph for this function:

const UVoxelBox& UVoxelizer::GetVoxelBox ( int  i) const
inline

Definition at line 236 of file UVoxelizer.hh.

const std::vector<int>& UVoxelizer::GetVoxelBoxCandidates ( int  i) const
inline

Definition at line 241 of file UVoxelizer.hh.

int UVoxelizer::GetVoxelBoxesSize ( ) const
inline

Definition at line 231 of file UVoxelizer.hh.

int UVoxelizer::GetVoxelsIndex ( int  x,
int  y,
int  z 
) const
inline

Definition at line 128 of file UVoxelizer.hh.

Here is the caller graph for this function:

int UVoxelizer::GetVoxelsIndex ( const std::vector< int > &  voxels) const
inline

Definition at line 137 of file UVoxelizer.hh.

Here is the call graph for this function:

bool UVoxelizer::IsEmpty ( int  index) const
inline

Definition at line 169 of file UVoxelizer.hh.

double UVoxelizer::MinDistanceToBox ( const UVector3 aPoint,
const UVector3 f 
)
static

Definition at line 1021 of file UVoxelizer.cc.

Here is the caller graph for this function:

double UVoxelizer::SafetyToBoundingBox ( const UVector3 point) const

Definition at line 1014 of file UVoxelizer.cc.

Here is the call graph for this function:

void UVoxelizer::SetDefaultVoxelsCount ( int  count)
static

Definition at line 1151 of file UVoxelizer.cc.

void UVoxelizer::SetMaxVoxels ( int  max)

Definition at line 1124 of file UVoxelizer.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

void UVoxelizer::SetMaxVoxels ( const UVector3 reductionRatio)

Definition at line 1130 of file UVoxelizer.cc.

bool UVoxelizer::UpdateCurrentVoxel ( const UVector3 point,
const UVector3 direction,
std::vector< int > &  curVoxel 
) const
void UVoxelizer::Voxelize ( std::vector< VUSolid * > &  solids,
std::vector< UTransform3D * > &  transforms 
)
void UVoxelizer::Voxelize ( std::vector< VUFacet * > &  facets)

Definition at line 680 of file UVoxelizer.cc.

Here is the call graph for this function:


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