#include <heightfield.h>
Public Member Functions | |
Heightfield (const Transform &o2w, bool ro, int nu, int nv, const float *zs) | |
virtual | ~Heightfield () |
virtual bool | CanIntersect () const |
virtual void | Refine (vector< boost::shared_ptr< Shape > > &refined) const |
virtual BBox | ObjectBound () const |
Static Public Member Functions | |
static Shape * | CreateShape (const Transform &o2w, bool reverseOrientation, const ParamSet ¶ms) |
Private Attributes | |
float * | z |
int | nx |
int | ny |
Definition at line 32 of file heightfield.h.
Definition at line 31 of file heightfield.cpp.
References memcpy(), nx, ny, and z.
Referenced by CreateShape().
Heightfield::~Heightfield | ( | ) | [virtual] |
Definition at line 39 of file heightfield.cpp.
References z.
bool Heightfield::CanIntersect | ( | ) | const [virtual] |
Returns whether this primitive can be intersected.
Reimplemented from lux::Shape.
Definition at line 50 of file heightfield.cpp.
Shape * Heightfield::CreateShape | ( | const Transform & | o2w, | |
bool | reverseOrientation, | |||
const ParamSet & | params | |||
) | [static] |
Definition at line 96 of file heightfield.cpp.
References lux::ParamSet::FindFloat(), lux::ParamSet::FindOneInt(), and Heightfield().
BBox Heightfield::ObjectBound | ( | ) | const [virtual] |
Reimplemented from lux::Shape.
Definition at line 42 of file heightfield.cpp.
void Heightfield::Refine | ( | vector< boost::shared_ptr< Shape > > & | refined | ) | const [virtual] |
Reimplemented from lux::Shape.
Definition at line 53 of file heightfield.cpp.
References lux::ParamSet::AddFloat(), lux::ParamSet::AddInt(), lux::ParamSet::AddPoint(), lux::MakeShape(), nx, ny, lux::Shape::ObjectToWorld, lux::Shape::reverseOrientation, VERT, lux::Point::x, lux::Point::y, z, and lux::Point::z.
int lux::Heightfield::nx [private] |
Definition at line 45 of file heightfield.h.
Referenced by Heightfield(), ObjectBound(), and Refine().
int lux::Heightfield::ny [private] |
Definition at line 45 of file heightfield.h.
Referenced by Heightfield(), ObjectBound(), and Refine().
float* lux::Heightfield::z [private] |
Definition at line 44 of file heightfield.h.
Referenced by Heightfield(), ObjectBound(), Refine(), and ~Heightfield().