Add a whole bunch of documentation
This commit is contained in:
parent
313f7a11ec
commit
856cdca604
@ -39,6 +39,12 @@ freely, subject to the following restrictions:
|
||||
|
||||
namespace PolyVox
|
||||
{
|
||||
/**
|
||||
* \file
|
||||
*
|
||||
* Ambient occlusion
|
||||
*/
|
||||
|
||||
template<typename IsVoxelTransparentCallback>
|
||||
class AmbientOcclusionCalculatorRaycastCallback
|
||||
{
|
||||
|
@ -92,10 +92,18 @@ namespace PolyVox
|
||||
return *this;
|
||||
}
|
||||
|
||||
/// \return The current density of the voxel
|
||||
Type getDensity() const throw() { return m_uDensity; }
|
||||
/**
|
||||
* Set the density of the voxel
|
||||
*
|
||||
* \param uDensity The density to set to
|
||||
*/
|
||||
void setDensity(Type uDensity) { m_uDensity = uDensity; }
|
||||
|
||||
/// \return The maximum allowed density of the voxel
|
||||
static Type getMaxDensity() throw() { return (std::numeric_limits<Type>::max)(); }
|
||||
/// \return The minimum allowed density of the voxel
|
||||
static Type getMinDensity() throw() { return (std::numeric_limits<Type>::min)(); }
|
||||
|
||||
private:
|
||||
|
@ -58,7 +58,13 @@ namespace PolyVox
|
||||
return !(*this == rhs);
|
||||
}
|
||||
|
||||
/// \return The current material value of the voxel
|
||||
Type getMaterial() const throw() { return m_uMaterial; }
|
||||
/**
|
||||
* Set the material value of the voxel
|
||||
*
|
||||
* \param uDensity The material to set to
|
||||
*/
|
||||
void setMaterial(Type uMaterial) { m_uMaterial = uMaterial; }
|
||||
|
||||
private:
|
||||
|
@ -30,10 +30,13 @@ namespace PolyVox
|
||||
{
|
||||
namespace RaycastResults
|
||||
{
|
||||
/**
|
||||
* The results of a raycast
|
||||
*/
|
||||
enum RaycastResult
|
||||
{
|
||||
Completed,
|
||||
Interupted
|
||||
Completed, ///< If the ray passed through the volume without being interupted
|
||||
Interupted ///< If the ray was interupted while travelling
|
||||
};
|
||||
}
|
||||
typedef RaycastResults::RaycastResult RaycastResult;
|
||||
|
@ -45,6 +45,7 @@ namespace PolyVox
|
||||
{
|
||||
public:
|
||||
#ifndef SWIG
|
||||
//Could be made private?
|
||||
class Block
|
||||
{
|
||||
public:
|
||||
@ -82,24 +83,35 @@ namespace PolyVox
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
/// Construct a new Sampler
|
||||
Sampler(SimpleVolume<VoxelType>* volume);
|
||||
~Sampler();
|
||||
|
||||
Sampler& operator=(const Sampler& rhs) throw();
|
||||
|
||||
VoxelType getSubSampledVoxel(uint8_t uLevel) const;
|
||||
inline VoxelType getVoxel(void) const;
|
||||
|
||||
/// Get the value of the current voxel
|
||||
inline VoxelType getVoxel(void) const;
|
||||
|
||||
/// Set the current voxel position
|
||||
void setPosition(const Vector3DInt32& v3dNewPos);
|
||||
/// Set the current voxel position
|
||||
void setPosition(int32_t xPos, int32_t yPos, int32_t zPos);
|
||||
/// Set the value of the current voxel
|
||||
inline bool setVoxel(VoxelType tValue);
|
||||
|
||||
/// Increase the \a x position by \a 1
|
||||
void movePositiveX(void);
|
||||
/// Increase the \a y position by \a 1
|
||||
void movePositiveY(void);
|
||||
/// Increase the \a z position by \a 1
|
||||
void movePositiveZ(void);
|
||||
|
||||
/// Decrease the \a x position by \a 1
|
||||
void moveNegativeX(void);
|
||||
/// Decrease the \a y position by \a 1
|
||||
void moveNegativeY(void);
|
||||
/// Decrease the \a z position by \a 1
|
||||
void moveNegativeZ(void);
|
||||
|
||||
inline VoxelType peekVoxel1nx1ny1nz(void) const;
|
||||
|
@ -50,7 +50,7 @@ namespace PolyVox
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// The border value is returned whenever an atempt is made to read a voxel which
|
||||
/// The border value is returned whenever an attempt is made to read a voxel which
|
||||
/// is outside the extents of the volume.
|
||||
/// \return The value used for voxels outside of the volume
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
@ -230,7 +230,9 @@ namespace PolyVox
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// Note: This function needs reviewing for accuracy...
|
||||
/// \todo This function needs reviewing for accuracy...
|
||||
///
|
||||
/// \return The number of bytes used
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
template <typename VoxelType>
|
||||
uint32_t SimpleVolume<VoxelType>::calculateSizeInBytes(void)
|
||||
|
@ -28,6 +28,9 @@ freely, subject to the following restrictions:
|
||||
|
||||
namespace PolyVox
|
||||
{
|
||||
/**
|
||||
* \param volume The SimpleVolume you want to sample
|
||||
*/
|
||||
template <typename VoxelType>
|
||||
SimpleVolume<VoxelType>::Sampler::Sampler(SimpleVolume<VoxelType>* volume)
|
||||
:BaseVolume<VoxelType>::template Sampler< SimpleVolume<VoxelType> >(volume)
|
||||
@ -91,19 +94,30 @@ namespace PolyVox
|
||||
return tValue;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \return The current voxel
|
||||
*/
|
||||
template <typename VoxelType>
|
||||
VoxelType SimpleVolume<VoxelType>::Sampler::getVoxel(void) const
|
||||
{
|
||||
return *mCurrentVoxel;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \param v3dNewPos The position to set to
|
||||
*/
|
||||
template <typename VoxelType>
|
||||
void SimpleVolume<VoxelType>::Sampler::setPosition(const Vector3DInt32& v3dNewPos)
|
||||
{
|
||||
setPosition(v3dNewPos.getX(), v3dNewPos.getY(), v3dNewPos.getZ());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \param xPos The \a x position to set to
|
||||
* \param yPos The \a y position to set to
|
||||
* \param zPos The \a z position to set to
|
||||
*/
|
||||
template <typename VoxelType>
|
||||
void SimpleVolume<VoxelType>::Sampler::setPosition(int32_t xPos, int32_t yPos, int32_t zPos)
|
||||
{
|
||||
@ -134,7 +148,16 @@ namespace PolyVox
|
||||
mCurrentVoxel = this->mVolume->m_pUncompressedBorderData + uVoxelIndexInBlock;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \details
|
||||
*
|
||||
* This function checks that the current voxel position that you're trying
|
||||
* to set is not outside the volume. If it is, this function returns
|
||||
* \a false, otherwise it will return \a true.
|
||||
*
|
||||
* \param tValue The value to set to voxel to
|
||||
*/
|
||||
template <typename VoxelType>
|
||||
bool SimpleVolume<VoxelType>::Sampler::setVoxel(VoxelType tValue)
|
||||
{
|
||||
|
@ -516,7 +516,7 @@ namespace PolyVox
|
||||
}
|
||||
|
||||
/**
|
||||
NOTE: This function does not make much sense on integer Vectors.
|
||||
\note This function does not make much sense on integer Vectors.
|
||||
\return Length of the Vector.
|
||||
*/
|
||||
template <uint32_t Size, typename Type>
|
||||
@ -543,7 +543,7 @@ namespace PolyVox
|
||||
This function is commutative, such that a.angleTo(b) == b.angleTo(a). The angle
|
||||
returned is in radians and varies between 0 and 3.14(pi). It is always positive.
|
||||
|
||||
NOTE: This function does not make much sense on integer Vectors.
|
||||
\note This function does not make much sense on integer Vectors.
|
||||
|
||||
\param Vector3D The Vector to find the angle to.
|
||||
\return The angle between them in radians.
|
||||
@ -597,7 +597,7 @@ namespace PolyVox
|
||||
/**
|
||||
Divides the i, j, and k components by the length to give a Vector of length 1.0.
|
||||
|
||||
NOTE: This function does not make much sense on integer Vectors.
|
||||
\note This function does not make much sense on integer Vectors.
|
||||
*/
|
||||
template <uint32_t Size, typename Type>
|
||||
inline void Vector<Size, Type>::normalise(void) throw()
|
||||
|
Loading…
x
Reference in New Issue
Block a user