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: