PolyVox
0.2.0
Open source voxel management library
|
Main namespace. More...
Namespaces | |
namespace | RaycastResults |
Classes | |
class | AmbientOcclusionCalculatorRaycastCallback |
class | Array |
Provides an efficient implementation of a multidimensional array. More... | |
class | Array< 1, ElementType > |
class | Array< 0, ElementType > |
class | ArraySizes |
The ArraySizes class provide a convienient way to specify the dimensions of an Array. More... | |
struct | AStarPathfinderParams |
Provides a configuration for the AStarPathfinder. More... | |
class | AStarPathfinder |
The AStarPathfinder compute a path from one point in the volume to another. More... | |
class | BaseVolume |
The BaseVolume class provides common functionality and an interface for other volume classes to implement. More... | |
class | ConstVolumeProxy |
class | CubicSurfaceExtractor |
The CubicSurfaceExtractor creates a mesh in which each voxel appears to be rendered as a cube. More... | |
class | CubicSurfaceExtractorWithNormals |
class | DefaultIsQuadNeeded |
class | DefaultMarchingCubesController |
This class provides a default implementation of a controller for the MarchingCubesSurfaceExtractor. More... | |
class | Density |
This class represents a voxel storing only a density. More... | |
class | DefaultMarchingCubesController< Density< Type > > |
This is a specialisation of DefaultMarchingCubesController for the Density voxel type. More... | |
class | ArraySizesImpl |
struct | Node |
class | AllNodesContainerIteratorComparator |
class | NodeSort |
class | OpenNodesContainer |
class | ClosedNodesContainer |
class | Block |
class | SubArray |
class | SubArray< 1, ElementType > |
class | SubArray< 0, ElementType > |
class | IteratorController |
class | LargeVolume |
The LargeVolume class provides a memory efficient method of storing voxel data while also allowing fast access and modification. More... | |
class | LowPassFilter |
class | MarchingCubesSurfaceExtractor |
class | Material |
This class represents a voxel storing only a material. More... | |
class | DefaultIsQuadNeeded< Material< Type > > |
class | MaterialDensityPair |
This class represents a voxel storing only a density. More... | |
class | DefaultIsQuadNeeded< MaterialDensityPair< Type, NoOfMaterialBits, NoOfDensityBits > > |
class | DefaultMarchingCubesController< MaterialDensityPair< Type, NoOfMaterialBits, NoOfDensityBits > > |
class | MeshDecimator |
The MeshDecimator reduces the number of triangles in a mesh. More... | |
class | RawVolume |
class | Region |
Represents a part of a Volume. More... | |
class | SimpleVolume |
class | LodRecord |
class | SurfaceMesh |
class | Vector |
Represents a vector in space. More... | |
class | PositionMaterial |
class | PositionMaterialNormal |
class | VolumeResampler |
class | VolumeSerializationProgressListener |
class | VolumeChangeTracker |
Voxel scene manager. More... | |
class | DummyClass |
Typedefs | |
typedef Array< 1, float > | Array1DFloat |
A 1D Array of floats. | |
typedef Array< 1, double > | Array1DDouble |
A 1D Array of doubles. | |
typedef Array< 1, int8_t > | Array1DInt8 |
A 1D Array of signed 8-bit values. | |
typedef Array< 1, uint8_t > | Array1DUint8 |
A 1D Array of unsigned 8-bit values. | |
typedef Array< 1, int16_t > | Array1DInt16 |
A 1D Array of signed 16-bit values. | |
typedef Array< 1, uint16_t > | Array1DUint16 |
A 1D Array of unsigned 16-bit values. | |
typedef Array< 1, int32_t > | Array1DInt32 |
A 1D Array of signed 32-bit values. | |
typedef Array< 1, uint32_t > | Array1DUint32 |
A 1D Array of unsigned 32-bit values. | |
typedef Array< 2, float > | Array2DFloat |
A 2D Array of floats. | |
typedef Array< 2, double > | Array2DDouble |
A 2D Array of doubles. | |
typedef Array< 2, int8_t > | Array2DInt8 |
A 2D Array of signed 8-bit values. | |
typedef Array< 2, uint8_t > | Array2DUint8 |
A 2D Array of unsigned 8-bit values. | |
typedef Array< 2, int16_t > | Array2DInt16 |
A 2D Array of signed 16-bit values. | |
typedef Array< 2, uint16_t > | Array2DUint16 |
A 2D Array of unsigned 16-bit values. | |
typedef Array< 2, int32_t > | Array2DInt32 |
A 2D Array of signed 32-bit values. | |
typedef Array< 2, uint32_t > | Array2DUint32 |
A 2D Array of unsigned 32-bit values. | |
typedef Array< 3, float > | Array3DFloat |
A 3D Array of floats. | |
typedef Array< 3, double > | Array3DDouble |
A 3D Array of doubles. | |
typedef Array< 3, int8_t > | Array3DInt8 |
A 3D Array of signed 8-bit values. | |
typedef Array< 3, uint8_t > | Array3DUint8 |
A 3D Array of unsigned 8-bit values. | |
typedef Array< 3, int16_t > | Array3DInt16 |
A 3D Array of signed 16-bit values. | |
typedef Array< 3, uint16_t > | Array3DUint16 |
A 3D Array of unsigned 16-bit values. | |
typedef Array< 3, int32_t > | Array3DInt32 |
A 3D Array of signed 32-bit values. | |
typedef Array< 3, uint32_t > | Array3DUint32 |
A 3D Array of unsigned 32-bit values. | |
typedef Density< uint8_t > | Density8 |
typedef Density< uint16_t > | Density16 |
typedef Density< uint32_t > | Density32 |
typedef Density< float > | DensityFloat |
typedef std::set< Node > | AllNodesContainer |
typedef Material< uint8_t > | Material8 |
typedef Material< uint16_t > | Material16 |
typedef MaterialDensityPair < uint8_t, 4, 4 > | MaterialDensityPair44 |
typedef MaterialDensityPair < uint16_t, 8, 8 > | MaterialDensityPair88 |
typedef Density< int8_t > | DensityI8 |
typedef Density< uint8_t > | DensityU8 |
typedef Density< int16_t > | DensityI16 |
typedef Density< uint16_t > | DensityU16 |
typedef Density< double > | DensityDouble |
typedef Material< uint8_t > | MaterialU8 |
typedef Material< uint16_t > | MaterialU16 |
typedef Material< uint32_t > | MaterialU32 |
typedef MaterialU32 | Material32 |
typedef Vector< 3, float > | Vector3DFloat |
A 3D Vector of floats. | |
typedef Vector< 3, double > | Vector3DDouble |
A 3D Vector of doubles. | |
typedef Vector< 3, int8_t > | Vector3DInt8 |
A 3D Vector of signed 8-bit values. | |
typedef Vector< 3, uint8_t > | Vector3DUint8 |
A 3D Vector of unsigned 8-bit values. | |
typedef Vector< 3, int16_t > | Vector3DInt16 |
A 3D Vector of signed 16-bit values. | |
typedef Vector< 3, uint16_t > | Vector3DUint16 |
A 3D Vector of unsigned 16-bit values. | |
typedef Vector< 3, int32_t > | Vector3DInt32 |
A 3D Vector of signed 32-bit values. | |
typedef Vector< 3, uint32_t > | Vector3DUint32 |
A 3D Vector of unsigned 32-bit values. | |
typedef RaycastResults::RaycastResult | RaycastResult |
typedef SimpleVolume < MaterialDensityPair88 > | Volume |
typedef SurfaceMesh < PositionMaterialNormal > | Mesh |
Enumerations | |
enum | NormalGenerationMethod { SIMPLE, CENTRAL_DIFFERENCE, SOBEL, CENTRAL_DIFFERENCE_SMOOTHED, SOBEL_SMOOTHED } |
enum | Connectivity { SixConnected, EighteenConnected, TwentySixConnected } |
The Connectivity of a voxel determines how many neighbours it has. More... | |
enum | LogSeverity { LS_DEBUG, LS_INFO, LS_WARN, LS_ERROR } |
Log levels for filtering logging events. More... |
Functions | |
template<typename VolumeType , typename IsVoxelTransparentCallback > | |
void | calculateAmbientOcclusion (VolumeType *volInput, Array< 3, uint8_t > *arrayResult, Region region, float fRayLength, uint8_t uNoOfSamplesPerOutputElement, IsVoxelTransparentCallback isVoxelTransparentCallback) |
Calculate the ambient occlusion for the volume. | |
template<typename VolumeType > | |
bool | aStarDefaultVoxelValidator (const VolumeType *volData, const Vector3DInt32 &v3dPos) |
This function provides the default method for checking whether a given voxel is valid for the path computed by the AStarPathfinder. | |
template<typename Type > | |
Density< Type > | operator+ (const Density< Type > &lhs, const Density< Type > &rhs) |
template<typename Type > | |
Density< Type > | operator- (const Density< Type > &lhs, const Density< Type > &rhs) |
template<typename Type > | |
Density< Type > | operator/ (const Density< Type > &lhs, uint32_t rhs) |
template<typename VolumeType > | |
Vector3DFloat | computeCentralDifferenceGradient (const typename VolumeType::Sampler &volIter) |
template<typename VolumeType > | |
Vector3DFloat | computeSmoothCentralDifferenceGradient (typename VolumeType::Sampler &volIter) |
template<typename VolumeType > | |
Vector3DFloat | computeDecimatedCentralDifferenceGradient (typename VolumeType::Sampler &volIter) |
template<typename VolumeType > | |
Vector3DFloat | computeSobelGradient (const typename VolumeType::Sampler &volIter) |
template<typename VolumeType > | |
Vector3DFloat | computeSmoothSobelGradient (typename VolumeType::Sampler &volIter) |
template<typename VolumeType > | |
Vector3DFloat | computeDecimatedCentralDifferenceGradient (const typename VolumeType::Sampler &volIter) |
POLYVOX_API uint8_t | logBase2 (uint32_t uInput) |
POLYVOX_API bool | isPowerOf2 (uint32_t uInput) |
template<typename Type > | |
Type | lerp (const Type &v0, const Type &v1, const float x) |
template<typename Type > | |
Type | bilerp (const Type &v00, const Type &v10, const Type &v01, const Type &v11, const float x, const float y) |
template<typename Type > | |
Type | trilerp (const Type &v000, const Type &v100, const Type &v010, const Type &v110, const Type &v001, const Type &v101, const Type &v011, const Type &v111, const float x, const float y, const float z) |
template<typename VolumeType , typename Callback > | |
RaycastResult | raycastWithEndpoints (VolumeType *volData, const Vector3DFloat &v3dStart, const Vector3DFloat &v3dEnd, Callback &callback) |
Cast a ray through a volume by specifying the start and end positions. | |
template<typename VolumeType , typename Callback > | |
RaycastResult | raycastWithDirection (VolumeType *volData, const Vector3DFloat &v3dStart, const Vector3DFloat &v3dDirectionAndLength, Callback &callback) |
Cast a ray through a volume by specifying the start and a direction. | |
POLYVOX_DEPRECATED void | extractCubicMesh (Volume &volume, const Region ®ion, Mesh &resultMesh) |
POLYVOX_DEPRECATED void | extractSmoothMesh (Volume &volume, const Region ®ion, Mesh &resultMesh) |
template<typename VertexType > | |
std::shared_ptr< SurfaceMesh < VertexType > > | extractSubset (SurfaceMesh< VertexType > &inputMesh, std::set< uint8_t > setMaterials) |
template<uint32_t Size, typename Type > | |
Vector< Size, Type > | operator+ (const Vector< Size, Type > &lhs, const Vector< Size, Type > &rhs) |
Addition operator. | |
template<uint32_t Size, typename Type > | |
Vector< Size, Type > | operator- (const Vector< Size, Type > &lhs, const Vector< Size, Type > &rhs) |
Subtraction operator. | |
template<uint32_t Size, typename Type > | |
Vector< Size, Type > | operator* (const Vector< Size, Type > &lhs, const Vector< Size, Type > &rhs) |
Multiplication operator. | |
template<uint32_t Size, typename Type > | |
Vector< Size, Type > | operator/ (const Vector< Size, Type > &lhs, const Vector< Size, Type > &rhs) |
Division operator. | |
template<uint32_t Size, typename Type > | |
Vector< Size, Type > | operator* (const Vector< Size, Type > &lhs, const Type &rhs) |
Multiplication operator. | |
template<uint32_t Size, typename Type > | |
Vector< Size, Type > | operator/ (const Vector< Size, Type > &lhs, const Type &rhs) |
Division operator. | |
template<uint32_t Size, typename Type > | |
std::ostream & | operator<< (std::ostream &os, const Vector< Size, Type > &vector) |
Stream insertion operator. | |
template<typename VolumeType > | |
float | computeSmoothedVoxel (typename VolumeType::Sampler &volIter) |
template<typename VolumeType > | |
POLYVOX_DEPRECATED polyvox_shared_ptr< VolumeType > | loadVolumeRaw (std::istream &stream, VolumeSerializationProgressListener *progressListener=0) |
template<typename VolumeType > | |
POLYVOX_DEPRECATED void | saveVolumeRaw (std::ostream &stream, VolumeType &volume, VolumeSerializationProgressListener *progressListener=0) |
template<typename VolumeType > | |
POLYVOX_DEPRECATED polyvox_shared_ptr< VolumeType > | loadVolumeRle (std::istream &stream, VolumeSerializationProgressListener *progressListener=0) |
template<typename VolumeType > | |
POLYVOX_DEPRECATED void | saveVolumeRle (std::ostream &stream, VolumeType &volume, VolumeSerializationProgressListener *progressListener=0) |
template<typename VolumeType > | |
POLYVOX_DEPRECATED bool | loadVolume (std::istream &stream, VolumeType &volume, VolumeSerializationProgressListener *progressListener=0) |
template<typename VolumeType > | |
POLYVOX_DEPRECATED bool | saveVolume (std::ostream &stream, VolumeType &volume, VolumeSerializationProgressListener *progressListener=0) |
template<typename VolumeType > | |
POLYVOX_DEPRECATED bool | loadVersion0 (std::istream &stream, VolumeType &volume, VolumeSerializationProgressListener *progressListener=0) |
template<typename VolumeType > | |
POLYVOX_DEPRECATED bool | saveVersion0 (std::ostream &stream, VolumeType &volume, VolumeSerializationProgressListener *progressListener=0) |
Variables | |
const float | sqrt_1 = 1.0f |
const float | sqrt_2 = 1.4143f |
const float | sqrt_3 = 1.7321f |
const Vector3DInt32 | arrayPathfinderFaces [6] |
const Vector3DInt32 | arrayPathfinderEdges [12] |
const Vector3DInt32 | arrayPathfinderCorners [8] |
const POLYVOX_API int | edgeTable [256] |
const POLYVOX_API int | triTable [256][16] |
POLYVOX_API const Vector3DFloat | randomUnitVectors [] |
POLYVOX_API const Vector3DFloat | randomVectors [] |
void(* | logHandler )(std::string, int severity) |
Main namespace.
typedef std::set<Node> PolyVox::AllNodesContainer |
Definition at line 99 of file AStarPathfinderImpl.h.
typedef Array< 1, double > PolyVox::Array1DDouble |
typedef Array< 1, float > PolyVox::Array1DFloat |
typedef Array< 1, int16_t > PolyVox::Array1DInt16 |
typedef Array< 1, int32_t > PolyVox::Array1DInt32 |
typedef Array< 1, int8_t > PolyVox::Array1DInt8 |
typedef Array< 1, uint16_t > PolyVox::Array1DUint16 |
typedef Array< 1, uint32_t > PolyVox::Array1DUint32 |
typedef Array< 1, uint8_t > PolyVox::Array1DUint8 |
typedef Array< 2, double > PolyVox::Array2DDouble |
typedef Array< 2, float > PolyVox::Array2DFloat |
typedef Array< 2, int16_t > PolyVox::Array2DInt16 |
typedef Array< 2, int32_t > PolyVox::Array2DInt32 |
typedef Array< 2, int8_t > PolyVox::Array2DInt8 |
typedef Array< 2, uint16_t > PolyVox::Array2DUint16 |
typedef Array< 2, uint32_t > PolyVox::Array2DUint32 |
typedef Array< 2, uint8_t > PolyVox::Array2DUint8 |
typedef Array< 3, double > PolyVox::Array3DDouble |
typedef Array< 3, float > PolyVox::Array3DFloat |
typedef Array< 3, int16_t > PolyVox::Array3DInt16 |
typedef Array< 3, int32_t > PolyVox::Array3DInt32 |
typedef Array< 3, int8_t > PolyVox::Array3DInt8 |
typedef Array< 3, uint16_t > PolyVox::Array3DUint16 |
typedef Array< 3, uint32_t > PolyVox::Array3DUint32 |
typedef Array< 3, uint8_t > PolyVox::Array3DUint8 |
typedef DensityU16 PolyVox::Density16 |
typedef Density<uint32_t> PolyVox::Density32 |
typedef DensityU8 PolyVox::Density8 |
typedef Density<double> PolyVox::DensityDouble |
Definition at line 78 of file PolyVoxForwardDeclarations.h.
typedef Density< float > PolyVox::DensityFloat |
typedef Density<int16_t> PolyVox::DensityI16 |
Definition at line 75 of file PolyVoxForwardDeclarations.h.
typedef Density<int8_t> PolyVox::DensityI8 |
Definition at line 71 of file PolyVoxForwardDeclarations.h.
typedef Density<uint16_t> PolyVox::DensityU16 |
Definition at line 76 of file PolyVoxForwardDeclarations.h.
typedef Density<uint8_t> PolyVox::DensityU8 |
Definition at line 74 of file PolyVoxForwardDeclarations.h.
typedef MaterialU16 PolyVox::Material16 |
Definition at line 75 of file Material.h.
typedef MaterialU32 PolyVox::Material32 |
Definition at line 99 of file PolyVoxForwardDeclarations.h.
typedef MaterialU8 PolyVox::Material8 |
Definition at line 74 of file Material.h.
typedef MaterialDensityPair< uint8_t, 4, 4 > PolyVox::MaterialDensityPair44 |
Definition at line 144 of file MaterialDensityPair.h.
typedef MaterialDensityPair< uint16_t, 8, 8 > PolyVox::MaterialDensityPair88 |
Definition at line 145 of file MaterialDensityPair.h.
typedef Material<uint16_t> PolyVox::MaterialU16 |
Definition at line 94 of file PolyVoxForwardDeclarations.h.
typedef Material<uint32_t> PolyVox::MaterialU32 |
Definition at line 95 of file PolyVoxForwardDeclarations.h.
typedef Material<uint8_t> PolyVox::MaterialU8 |
Definition at line 91 of file PolyVoxForwardDeclarations.h.
Definition at line 37 of file SimpleInterface.h.
typedef Vector< 3, double > PolyVox::Vector3DDouble |
A 3D Vector of doubles.
Definition at line 144 of file PolyVoxForwardDeclarations.h.
typedef Vector< 3, float > PolyVox::Vector3DFloat |
A 3D Vector of floats.
Definition at line 142 of file PolyVoxForwardDeclarations.h.
typedef Vector< 3, int16_t > PolyVox::Vector3DInt16 |
A 3D Vector of signed 16-bit values.
Definition at line 147 of file PolyVoxForwardDeclarations.h.
typedef Vector< 3, int32_t > PolyVox::Vector3DInt32 |
A 3D Vector of signed 32-bit values.
Definition at line 149 of file PolyVoxForwardDeclarations.h.
typedef Vector< 3, int8_t > PolyVox::Vector3DInt8 |
A 3D Vector of signed 8-bit values.
Definition at line 145 of file PolyVoxForwardDeclarations.h.
typedef Vector< 3, uint16_t > PolyVox::Vector3DUint16 |
A 3D Vector of unsigned 16-bit values.
Definition at line 148 of file PolyVoxForwardDeclarations.h.
typedef Vector< 3, uint32_t > PolyVox::Vector3DUint32 |
A 3D Vector of unsigned 32-bit values.
Definition at line 150 of file PolyVoxForwardDeclarations.h.
typedef Vector< 3, uint8_t > PolyVox::Vector3DUint8 |
A 3D Vector of unsigned 8-bit values.
Definition at line 146 of file PolyVoxForwardDeclarations.h.
Definition at line 36 of file SimpleInterface.h.
The Connectivity of a voxel determines how many neighbours it has.
Definition at line 41 of file AStarPathfinderImpl.h.
enum PolyVox::LogSeverity |
SIMPLE |
Fastest. |
CENTRAL_DIFFERENCE | |
SOBEL | |
CENTRAL_DIFFERENCE_SMOOTHED | |
SOBEL_SMOOTHED |
Smoothest. |
Definition at line 34 of file GradientEstimators.h.
bool PolyVox::aStarDefaultVoxelValidator | ( | const VolumeType * | volData, |
const Vector3DInt32 & | v3dPos | ||
) |
This function provides the default method for checking whether a given voxel is valid for the path computed by the AStarPathfinder.
Using this function, a voxel is considered valid for the path if it is inside the volume and if its density is below that returned by the voxel's getDensity() function.
Definition at line 32 of file AStarPathfinder.inl.
Type PolyVox::bilerp | ( | const Type & | v00, |
const Type & | v10, | ||
const Type & | v01, | ||
const Type & | v11, | ||
const float | x, | ||
const float | y | ||
) |
Definition at line 45 of file Interpolation.h.
Referenced by trilerp().
void PolyVox::calculateAmbientOcclusion | ( | VolumeType * | volInput, |
Array< 3, uint8_t > * | arrayResult, | ||
Region | region, | ||
float | fRayLength, | ||
uint8_t | uNoOfSamplesPerOutputElement, | ||
IsVoxelTransparentCallback | isVoxelTransparentCallback | ||
) |
Calculate the ambient occlusion for the volume.
volInput | The volume to calculate the ambient occlusion for | |
[out] | arrayResult | The output of the calculator |
region | The region of the volume for which the occlusion should be calculated | |
fRayLength | The length for each test ray | |
uNoOfSamplesPerOutputElement | The number of samples to calculate the occlusion | |
isVoxelTransparentCallback | A callback which takes a VoxelType and returns a bool whether the voxel is transparent |
Definition at line 35 of file AmbientOcclusionCalculator.inl.
Vector3DFloat PolyVox::computeCentralDifferenceGradient | ( | const typename VolumeType::Sampler & | volIter | ) |
Definition at line 27 of file GradientEstimators.inl.
Vector3DFloat PolyVox::computeDecimatedCentralDifferenceGradient | ( | const typename VolumeType::Sampler & | volIter | ) |
Definition at line 48 of file GradientEstimators.inl.
Vector3DFloat PolyVox::computeDecimatedCentralDifferenceGradient | ( | typename VolumeType::Sampler & | volIter | ) |
Vector3DFloat PolyVox::computeSmoothCentralDifferenceGradient | ( | typename VolumeType::Sampler & | volIter | ) |
float PolyVox::computeSmoothedVoxel | ( | typename VolumeType::Sampler & | volIter | ) |
Definition at line 27 of file VoxelFilters.inl.
Referenced by computeSmoothCentralDifferenceGradient(), and computeSmoothSobelGradient().
Vector3DFloat PolyVox::computeSmoothSobelGradient | ( | typename VolumeType::Sampler & | volIter | ) |
Vector3DFloat PolyVox::computeSobelGradient | ( | const typename VolumeType::Sampler & | volIter | ) |
Definition at line 104 of file GradientEstimators.inl.
void PolyVox::extractCubicMesh | ( | Volume & | volume, |
const Region & | region, | ||
Mesh & | resultMesh | ||
) |
void PolyVox::extractSmoothMesh | ( | Volume & | volume, |
const Region & | region, | ||
Mesh & | resultMesh | ||
) |
polyvox_shared_ptr< SurfaceMesh< VertexType > > PolyVox::extractSubset | ( | SurfaceMesh< VertexType > & | inputMesh, |
std::set< uint8_t > | setMaterials | ||
) |
Definition at line 398 of file SurfaceMesh.inl.
bool PolyVox::isPowerOf2 | ( | uint32_t | uInput | ) |
Definition at line 58 of file Utility.cpp.
Referenced by PolyVox::Block< VoxelType >::initialise(), PolyVox::SimpleVolume< VoxelType >::Block::initialise(), and logBase2().
Type PolyVox::lerp | ( | const Type & | v0, |
const Type & | v1, | ||
const float | x | ||
) |
Definition at line 32 of file Interpolation.h.
bool PolyVox::loadVersion0 | ( | std::istream & | stream, |
VolumeType & | volume, | ||
VolumeSerializationProgressListener * | progressListener = 0 |
||
) |
Definition at line 308 of file Serialization.inl.
Referenced by loadVolume().
bool PolyVox::loadVolume | ( | std::istream & | stream, |
VolumeType & | volume, | ||
VolumeSerializationProgressListener * | progressListener = 0 |
||
) |
polyvox_shared_ptr< VolumeType > PolyVox::loadVolumeRaw | ( | std::istream & | stream, |
VolumeSerializationProgressListener * | progressListener = 0 |
||
) |
polyvox_shared_ptr< VolumeType > PolyVox::loadVolumeRle | ( | std::istream & | stream, |
VolumeSerializationProgressListener * | progressListener = 0 |
||
) |
uint8_t PolyVox::logBase2 | ( | uint32_t | uInput | ) |
Definition at line 33 of file Utility.cpp.
Referenced by PolyVox::Block< VoxelType >::initialise(), PolyVox::SimpleVolume< VoxelType >::Block::initialise(), saveVolumeRaw(), saveVolumeRle(), and PolyVox::VolumeChangeTracker< VoxelType >::VolumeChangeTracker().
Vector< Size, Type > PolyVox::operator* | ( | const Vector< Size, Type > & | lhs, |
const Vector< Size, Type > & | rhs | ||
) |
Multiplication operator.
Multiplication operator mulitplies corresponding elements of the two Vectors.
Definition at line 310 of file Vector.inl.
Vector< Size, Type > PolyVox::operator* | ( | const Vector< Size, Type > & | lhs, |
const Type & | rhs | ||
) |
Density<Type> PolyVox::operator+ | ( | const Density< Type > & | lhs, |
const Density< Type > & | rhs | ||
) |
Vector< Size, Type > PolyVox::operator+ | ( | const Vector< Size, Type > & | lhs, |
const Vector< Size, Type > & | rhs | ||
) |
Addition operator.
Addition operator adds corresponding elements of the two Vectors.
Definition at line 282 of file Vector.inl.
Density<Type> PolyVox::operator- | ( | const Density< Type > & | lhs, |
const Density< Type > & | rhs | ||
) |
Vector< Size, Type > PolyVox::operator- | ( | const Vector< Size, Type > & | lhs, |
const Vector< Size, Type > & | rhs | ||
) |
Density<Type> PolyVox::operator/ | ( | const Density< Type > & | lhs, |
uint32_t | rhs | ||
) |
Vector< Size, Type > PolyVox::operator/ | ( | const Vector< Size, Type > & | lhs, |
const Vector< Size, Type > & | rhs | ||
) |
Vector< Size, Type > PolyVox::operator/ | ( | const Vector< Size, Type > & | lhs, |
const Type & | rhs | ||
) |
std::ostream & PolyVox::operator<< | ( | std::ostream & | os, |
const Vector< Size, Type > & | vector | ||
) |
Stream insertion operator.
Enables the Vector to be used intuitively with output streams such as cout.
os | The output stream to write to. |
vector | The Vector to write to the stream. |
Definition at line 366 of file Vector.inl.
RaycastResult PolyVox::raycastWithDirection | ( | VolumeType * | volData, |
const Vector3DFloat & | v3dStart, | ||
const Vector3DFloat & | v3dDirectionAndLength, | ||
Callback & | callback | ||
) |
Cast a ray through a volume by specifying the start and a direction.
The ray will move from v3dStart along v3dDirectionAndLength, calling callback for each voxel it passes through until callback returns false. In this case it returns a RaycastResults::Interupted. If it passes from start to end without callback returning false, it returns RaycastResults::Completed.
volData | The volume to pass the ray though |
v3dStart | The start position in the volume |
v3dDirectionAndLength | The direction and length of the ray |
callback | The callback to call for each voxel |
Definition at line 173 of file Raycast.inl.
Referenced by calculateAmbientOcclusion().
RaycastResult PolyVox::raycastWithEndpoints | ( | VolumeType * | volData, |
const Vector3DFloat & | v3dStart, | ||
const Vector3DFloat & | v3dEnd, | ||
Callback & | callback | ||
) |
Cast a ray through a volume by specifying the start and end positions.
The ray will move from v3dStart to v3dEnd, calling callback for each voxel it passes through until callback returns false. In this case it returns a RaycastResults::Interupted. If it passes from start to end without callback returning false, it returns RaycastResults::Completed.
volData | The volume to pass the ray though |
v3dStart | The start position in the volume |
v3dEnd | The end position in the volume |
callback | The callback to call for each voxel |
Definition at line 72 of file Raycast.inl.
bool PolyVox::saveVersion0 | ( | std::ostream & | stream, |
VolumeType & | volume, | ||
VolumeSerializationProgressListener * | progressListener = 0 |
||
) |
Definition at line 368 of file Serialization.inl.
Referenced by saveVolume().
bool PolyVox::saveVolume | ( | std::ostream & | stream, |
VolumeType & | volume, | ||
VolumeSerializationProgressListener * | progressListener = 0 |
||
) |
void PolyVox::saveVolumeRaw | ( | std::ostream & | stream, |
VolumeType & | volume, | ||
VolumeSerializationProgressListener * | progressListener = 0 |
||
) |
void PolyVox::saveVolumeRle | ( | std::ostream & | stream, |
VolumeType & | volume, | ||
VolumeSerializationProgressListener * | progressListener = 0 |
||
) |
const Vector3DInt32 PolyVox::arrayPathfinderCorners |
Definition at line 56 of file AStarPathfinder.cpp.
Referenced by PolyVox::AStarPathfinder< VolumeType >::execute().
const Vector3DInt32 PolyVox::arrayPathfinderEdges |
Definition at line 40 of file AStarPathfinder.cpp.
Referenced by PolyVox::AStarPathfinder< VolumeType >::execute().
const Vector3DInt32 PolyVox::arrayPathfinderFaces |
Definition at line 30 of file AStarPathfinder.cpp.
Referenced by PolyVox::AStarPathfinder< VolumeType >::execute().
const int PolyVox::edgeTable |
Definition at line 33 of file MarchingCubesTables.cpp.
const Vector3DFloat PolyVox::randomUnitVectors |
Definition at line 28 of file RandomUnitVectors.cpp.
Referenced by calculateAmbientOcclusion().
const Vector3DFloat PolyVox::randomVectors |
Definition at line 28 of file RandomVectors.cpp.
Referenced by calculateAmbientOcclusion().
const float PolyVox::sqrt_1 = 1.0f |
Definition at line 37 of file AStarPathfinder.h.
Referenced by PolyVox::AStarPathfinder< VolumeType >::execute().
const float PolyVox::sqrt_2 = 1.4143f |
Definition at line 38 of file AStarPathfinder.h.
Referenced by PolyVox::AStarPathfinder< VolumeType >::execute().
const float PolyVox::sqrt_3 = 1.7321f |
Definition at line 39 of file AStarPathfinder.h.
Referenced by PolyVox::AStarPathfinder< VolumeType >::execute().
const int PolyVox::triTable |
Definition at line 69 of file MarchingCubesTables.cpp.