28 #ifndef __Ogre_Volume_Source_H__
29 #define __Ogre_Volume_Source_H__
54 virtual Vector3 getIntersectionStart(
const Ray &ray,
Real maxDistance)
const;
65 virtual Vector3 getIntersectionEnd(
const Ray &ray,
Real maxDistance)
const;
88 virtual Vector4 getValueAndGradient(
const Vector3 &position)
const = 0;
96 virtual Real getValue(
const Vector3 &position)
const = 0;
130 void serialize(
const Vector3 &from,
const Vector3 &to,
float voxelWidth,
Real maxClampedAbsoluteDensity,
const String &file);
147 bool getFirstRayIntersection(
const Ray &ray,
Vector3 &result,
Real scale = (
Real)1.0,
size_t maxIterations = 5000,
Real maxDistance = (
Real)10000.0)
const;
153 Real getVolumeSpaceToWorldSpaceFactor(
void)
const;
Representation of a ray in space, i.e.
float Real
Software floating point type.
Abstract class defining the density function.
static const uint16 VOLUME_CHUNK_VERSION
The version of volume files.
static const size_t SERIALIZATION_CHUNK_SIZE
The amount of items being written as one chunk during serialization.
Standard 3-dimensional vector.
static const uint32 VOLUME_CHUNK_ID
The id of volume files.
#define _OgreVolumeExport
4-dimensional homogeneous vector.