Utility class for perturbing paths located on a specular manifold.
More...
#include <mitsuba/bidir/manifold.h>
|
| SpecularManifold (const Scene *scene, int maxIterations=-1) |
| Construct an unitialized specular manifold data structure. More...
|
|
bool | init (const Path &path, int start, int end) |
| Initialize the specular manifold with the specified path segment. More...
|
|
bool | update (Path &path, int start, int end) |
| Update the provided path segment based on the stored specular manifold configuration. More...
|
|
bool | move (const Point &target, const Normal &normal) |
| Attempt to move the movable endpoint vertex to position target . More...
|
|
Float | G (const Path &path, int a, int b) |
| Compute the generalized geometric term between 'a' and 'b'. More...
|
|
Float | multiG (const Path &path, int a, int b) |
| Compute a product of standard and generalized geometric terms between 'a' and 'b' depending on whether vertices are specular or non-specular. More...
|
|
Float | det (const Path &path, int a, int b, int c) |
|
int | getIterationCount () const |
| Return the number of iterations used by move() More...
|
|
const Point & | getPosition (int i) |
| Return the position of a vertex. More...
|
|
std::string | toString () const |
| Return a string representation. More...
|
|
virtual const Class * | getClass () const |
| Retrieve this object's class. More...
|
|
| Object () |
| Construct a new object. More...
|
|
int | getRefCount () const |
| Return the current reference count. More...
|
|
void | incRef () const |
| Increase the reference count of the object by one. More...
|
|
void | decRef (bool autoDeallocate=true) const |
| Decrease the reference count of the object and possibly deallocate it. More...
|
|
Utility class for perturbing paths located on a specular manifold.
- Author
- Wenzel Jakob
mitsuba::SpecularManifold::SpecularManifold |
( |
const Scene * |
scene, |
|
|
int |
maxIterations = -1 |
|
) |
| |
Construct an unitialized specular manifold data structure.
virtual mitsuba::SpecularManifold::~SpecularManifold |
( |
| ) |
|
|
inlineprotectedvirtual |
Float mitsuba::SpecularManifold::det |
( |
const Path & |
path, |
|
|
int |
a, |
|
|
int |
b, |
|
|
int |
c |
|
) |
| |
Float mitsuba::SpecularManifold::G |
( |
const Path & |
path, |
|
|
int |
a, |
|
|
int |
b |
|
) |
| |
Compute the generalized geometric term between 'a' and 'b'.
virtual const Class* mitsuba::SpecularManifold::getClass |
( |
| ) |
const |
|
virtual |
Retrieve this object's class.
Reimplemented from Object.
int mitsuba::SpecularManifold::getIterationCount |
( |
| ) |
const |
|
inline |
Return the number of iterations used by move()
const Point& mitsuba::SpecularManifold::getPosition |
( |
int |
i | ) |
|
|
inline |
Return the position of a vertex.
bool mitsuba::SpecularManifold::init |
( |
const Path & |
path, |
|
|
int |
start, |
|
|
int |
end |
|
) |
| |
Initialize the specular manifold with the specified path segment.
bool mitsuba::SpecularManifold::move |
( |
const Point & |
target, |
|
|
const Normal & |
normal |
|
) |
| |
Attempt to move the movable endpoint vertex to position target
.
Float mitsuba::SpecularManifold::multiG |
( |
const Path & |
path, |
|
|
int |
a, |
|
|
int |
b |
|
) |
| |
Compute a product of standard and generalized geometric terms between 'a' and 'b' depending on whether vertices are specular or non-specular.
std::string mitsuba::SpecularManifold::toString |
( |
| ) |
const |
|
virtual |
Return a string representation.
Reimplemented from Object.
bool mitsuba::SpecularManifold::update |
( |
Path & |
path, |
|
|
int |
start, |
|
|
int |
end |
|
) |
| |
Update the provided path segment based on the stored specular manifold configuration.
int mitsuba::SpecularManifold::m_iterations |
|
protected |
int mitsuba::SpecularManifold::m_maxIterations |
|
protected |
std::vector<SimpleVertex> mitsuba::SpecularManifold::m_proposal |
|
protected |
const Scene* mitsuba::SpecularManifold::m_scene |
|
protected |
Class* mitsuba::SpecularManifold::m_theClass |
|
static |
Float mitsuba::SpecularManifold::m_time |
|
protected |
std::vector<SimpleVertex> mitsuba::SpecularManifold::m_vertices |
|
protected |
The documentation for this class was generated from the following file: