More work making volumes use a base class.
This commit is contained in:
parent
80832f49c0
commit
8dc1951a06
@ -145,7 +145,7 @@ namespace PolyVox
|
|||||||
class LargeVolume : public Volume<VoxelType>
|
class LargeVolume : public Volume<VoxelType>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
class Sampler : public Volume<VoxelType>::Sampler
|
class Sampler : public Volume<VoxelType>::Sampler< LargeVolume<VoxelType> >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Sampler(LargeVolume<VoxelType>* volume);
|
Sampler(LargeVolume<VoxelType>* volume);
|
||||||
@ -157,7 +157,6 @@ namespace PolyVox
|
|||||||
int32_t getPosY(void) const;
|
int32_t getPosY(void) const;
|
||||||
int32_t getPosZ(void) const;
|
int32_t getPosZ(void) const;
|
||||||
VoxelType getSubSampledVoxel(uint8_t uLevel) const;
|
VoxelType getSubSampledVoxel(uint8_t uLevel) const;
|
||||||
const LargeVolume<VoxelType>* getVolume(void) const;
|
|
||||||
inline VoxelType getVoxel(void) const;
|
inline VoxelType getVoxel(void) const;
|
||||||
|
|
||||||
void setPosition(const Vector3DInt32& v3dNewPos);
|
void setPosition(const Vector3DInt32& v3dNewPos);
|
||||||
|
@ -116,12 +116,6 @@ namespace PolyVox
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
|
||||||
const LargeVolume<VoxelType>* LargeVolume<VoxelType>::Sampler::getVolume(void) const
|
|
||||||
{
|
|
||||||
return mVolume;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType LargeVolume<VoxelType>::Sampler::getVoxel(void) const
|
VoxelType LargeVolume<VoxelType>::Sampler::getVoxel(void) const
|
||||||
{
|
{
|
||||||
|
@ -38,7 +38,7 @@ namespace PolyVox
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
#ifndef SWIG
|
#ifndef SWIG
|
||||||
class Sampler : public Volume<VoxelType>::Sampler
|
class Sampler : public Volume<VoxelType>::Sampler< RawVolume<VoxelType> >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Sampler(RawVolume<VoxelType>* volume);
|
Sampler(RawVolume<VoxelType>* volume);
|
||||||
@ -47,7 +47,6 @@ namespace PolyVox
|
|||||||
int32_t getPosX(void) const;
|
int32_t getPosX(void) const;
|
||||||
int32_t getPosY(void) const;
|
int32_t getPosY(void) const;
|
||||||
int32_t getPosZ(void) const;
|
int32_t getPosZ(void) const;
|
||||||
const RawVolume<VoxelType>* getVolume(void) const;
|
|
||||||
inline VoxelType getVoxel(void) const;
|
inline VoxelType getVoxel(void) const;
|
||||||
|
|
||||||
void setPosition(const Vector3DInt32& v3dNewPos);
|
void setPosition(const Vector3DInt32& v3dNewPos);
|
||||||
|
@ -63,12 +63,6 @@ namespace PolyVox
|
|||||||
return mZPosInVolume;
|
return mZPosInVolume;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
|
||||||
const RawVolume<VoxelType>* RawVolume<VoxelType>::Sampler::getVolume(void) const
|
|
||||||
{
|
|
||||||
return mVolume;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType RawVolume<VoxelType>::Sampler::getVoxel(void) const
|
VoxelType RawVolume<VoxelType>::Sampler::getVoxel(void) const
|
||||||
{
|
{
|
||||||
|
@ -40,8 +40,6 @@ namespace PolyVox
|
|||||||
#ifndef SWIG
|
#ifndef SWIG
|
||||||
class Block
|
class Block
|
||||||
{
|
{
|
||||||
//Make Sampler a friend
|
|
||||||
friend class SimpleVolume<VoxelType>::Sampler;
|
|
||||||
public:
|
public:
|
||||||
Block(uint16_t uSideLength = 0);
|
Block(uint16_t uSideLength = 0);
|
||||||
|
|
||||||
@ -62,7 +60,7 @@ namespace PolyVox
|
|||||||
uint8_t m_uSideLengthPower;
|
uint8_t m_uSideLengthPower;
|
||||||
};
|
};
|
||||||
|
|
||||||
class Sampler : public Volume<VoxelType>::Sampler
|
class Sampler : public Volume<VoxelType>::Sampler< SimpleVolume<VoxelType> >
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Sampler(SimpleVolume<VoxelType>* volume);
|
Sampler(SimpleVolume<VoxelType>* volume);
|
||||||
@ -74,7 +72,6 @@ namespace PolyVox
|
|||||||
int32_t getPosY(void) const;
|
int32_t getPosY(void) const;
|
||||||
int32_t getPosZ(void) const;
|
int32_t getPosZ(void) const;
|
||||||
VoxelType getSubSampledVoxel(uint8_t uLevel) const;
|
VoxelType getSubSampledVoxel(uint8_t uLevel) const;
|
||||||
const SimpleVolume<VoxelType>* getVolume(void) const;
|
|
||||||
inline VoxelType getVoxel(void) const;
|
inline VoxelType getVoxel(void) const;
|
||||||
|
|
||||||
void setPosition(const Vector3DInt32& v3dNewPos);
|
void setPosition(const Vector3DInt32& v3dNewPos);
|
||||||
|
@ -116,12 +116,6 @@ namespace PolyVox
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
|
||||||
const SimpleVolume<VoxelType>* SimpleVolume<VoxelType>::Sampler::getVolume(void) const
|
|
||||||
{
|
|
||||||
return mVolume;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType SimpleVolume<VoxelType>::Sampler::getVoxel(void) const
|
VoxelType SimpleVolume<VoxelType>::Sampler::getVoxel(void) const
|
||||||
{
|
{
|
||||||
|
@ -37,13 +37,13 @@ namespace PolyVox
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
#ifndef SWIG
|
#ifndef SWIG
|
||||||
|
template <typename DerivedVolumeType>
|
||||||
class Sampler
|
class Sampler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
int32_t getPosX(void) const;
|
int32_t getPosX(void) const;
|
||||||
int32_t getPosY(void) const;
|
int32_t getPosY(void) const;
|
||||||
int32_t getPosZ(void) const;
|
int32_t getPosZ(void) const;
|
||||||
const Volume<VoxelType>* getVolume(void) const;
|
|
||||||
inline VoxelType getVoxel(void) const;
|
inline VoxelType getVoxel(void) const;
|
||||||
|
|
||||||
void setPosition(const Vector3DInt32& v3dNewPos);
|
void setPosition(const Vector3DInt32& v3dNewPos);
|
||||||
@ -86,6 +86,9 @@ namespace PolyVox
|
|||||||
inline VoxelType peekVoxel1px1py1nz(void) const;
|
inline VoxelType peekVoxel1px1py1nz(void) const;
|
||||||
inline VoxelType peekVoxel1px1py0pz(void) const;
|
inline VoxelType peekVoxel1px1py0pz(void) const;
|
||||||
inline VoxelType peekVoxel1px1py1pz(void) const;
|
inline VoxelType peekVoxel1px1py1pz(void) const;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
DerivedVolumeType* m_pDerivedVolume;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -30,146 +30,160 @@ freely, subject to the following restrictions:
|
|||||||
namespace PolyVox
|
namespace PolyVox
|
||||||
{
|
{
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
int32_t Volume<VoxelType>::Sampler::getPosX(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
int32_t Volume<VoxelType>::Sampler<DerivedVolumeType>::getPosX(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
int32_t Volume<VoxelType>::Sampler::getPosY(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
int32_t Volume<VoxelType>::Sampler<DerivedVolumeType>::getPosY(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
int32_t Volume<VoxelType>::Sampler::getPosZ(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
int32_t Volume<VoxelType>::Sampler<DerivedVolumeType>::getPosZ(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
const Volume<VoxelType>* Volume<VoxelType>::Sampler::getVolume(void) const
|
template <typename DerivedVolumeType>
|
||||||
{
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::getVoxel(void) const
|
||||||
assert(false);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename VoxelType>
|
|
||||||
VoxelType Volume<VoxelType>::Sampler::getVoxel(void) const
|
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
void Volume<VoxelType>::Sampler::setPosition(const Vector3DInt32& v3dNewPos)
|
template <typename DerivedVolumeType>
|
||||||
|
void Volume<VoxelType>::Sampler<DerivedVolumeType>::setPosition(const Vector3DInt32& v3dNewPos)
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
void Volume<VoxelType>::Sampler::setPosition(int32_t xPos, int32_t yPos, int32_t zPos)
|
template <typename DerivedVolumeType>
|
||||||
|
void Volume<VoxelType>::Sampler<DerivedVolumeType>::setPosition(int32_t xPos, int32_t yPos, int32_t zPos)
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
void Volume<VoxelType>::Sampler::movePositiveX(void)
|
template <typename DerivedVolumeType>
|
||||||
|
void Volume<VoxelType>::Sampler<DerivedVolumeType>::movePositiveX(void)
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
void Volume<VoxelType>::Sampler::movePositiveY(void)
|
template <typename DerivedVolumeType>
|
||||||
|
void Volume<VoxelType>::Sampler<DerivedVolumeType>::movePositiveY(void)
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
void Volume<VoxelType>::Sampler::movePositiveZ(void)
|
template <typename DerivedVolumeType>
|
||||||
|
void Volume<VoxelType>::Sampler<DerivedVolumeType>::movePositiveZ(void)
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
void Volume<VoxelType>::Sampler::moveNegativeX(void)
|
template <typename DerivedVolumeType>
|
||||||
|
void Volume<VoxelType>::Sampler<DerivedVolumeType>::moveNegativeX(void)
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
void Volume<VoxelType>::Sampler::moveNegativeY(void)
|
template <typename DerivedVolumeType>
|
||||||
|
void Volume<VoxelType>::Sampler<DerivedVolumeType>::moveNegativeY(void)
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
void Volume<VoxelType>::Sampler::moveNegativeZ(void)
|
template <typename DerivedVolumeType>
|
||||||
|
void Volume<VoxelType>::Sampler<DerivedVolumeType>::moveNegativeZ(void)
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1nx1ny1nz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1nx1ny1nz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1nx1ny0pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1nx1ny0pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1nx1ny1pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1nx1ny1pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1nx0py1nz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1nx0py1nz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1nx0py0pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1nx0py0pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1nx0py1pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1nx0py1pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1nx1py1nz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1nx1py1nz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1nx1py0pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1nx1py0pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1nx1py1pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1nx1py1pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
@ -178,63 +192,72 @@ namespace PolyVox
|
|||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel0px1ny1nz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel0px1ny1nz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel0px1ny0pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel0px1ny0pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel0px1ny1pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel0px1ny1pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel0px0py1nz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel0px0py1nz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel0px0py0pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel0px0py0pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel0px0py1pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel0px0py1pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel0px1py1nz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel0px1py1nz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel0px1py0pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel0px1py0pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel0px1py1pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel0px1py1pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
@ -243,63 +266,72 @@ namespace PolyVox
|
|||||||
//////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1px1ny1nz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1px1ny1nz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1px1ny0pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1px1ny0pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1px1ny1pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1px1ny1pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1px0py1nz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1px0py1nz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1px0py0pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1px0py0pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1px0py1pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1px0py1pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1px1py1nz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1px1py1nz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1px1py0pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1px1py0pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename VoxelType>
|
template <typename VoxelType>
|
||||||
VoxelType Volume<VoxelType>::Sampler::peekVoxel1px1py1pz(void) const
|
template <typename DerivedVolumeType>
|
||||||
|
VoxelType Volume<VoxelType>::Sampler<DerivedVolumeType>::peekVoxel1px1py1pz(void) const
|
||||||
{
|
{
|
||||||
assert(false);
|
assert(false);
|
||||||
return VoxelType();
|
return VoxelType();
|
||||||
|
@ -28,13 +28,6 @@ namespace PolyVox
|
|||||||
template< template<typename> class VolumeType>
|
template< template<typename> class VolumeType>
|
||||||
float computeSmoothedVoxel(typename VolumeType<uint8_t>::Sampler& volIter)
|
float computeSmoothedVoxel(typename VolumeType<uint8_t>::Sampler& volIter)
|
||||||
{
|
{
|
||||||
assert(volIter.getPosX() >= 1);
|
|
||||||
assert(volIter.getPosY() >= 1);
|
|
||||||
assert(volIter.getPosZ() >= 1);
|
|
||||||
assert(volIter.getPosX() <= volIter.getVolume()->getWidth() - 2);
|
|
||||||
assert(volIter.getPosY() <= volIter.getVolume()->getHeight() - 2);
|
|
||||||
assert(volIter.getPosZ() <= volIter.getVolume()->getDepth() - 2);
|
|
||||||
|
|
||||||
float sum = 0.0;
|
float sum = 0.0;
|
||||||
|
|
||||||
if(volIter.peekVoxel1nx1ny1nz() != 0) sum += 1.0f;
|
if(volIter.peekVoxel1nx1ny1nz() != 0) sum += 1.0f;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user