The structure contains information about mirroring of the operation.
#include <brush.h>
Public Member Functions |
|
MirrorConfiguration (void) | |
Constructor. |
|
enum MirrorMode | MirrorMode (void) const |
Returns if the mirror is on an axis or
tangent. |
|
void | SetMirrorMode (enum MirrorMode mode) |
Sets the mirroring planes. |
|
const Store< mudbox::Vector > & | MirrorPlaneNormals (void) const |
Returns the mirror plane normals. |
|
const Store< mudbox::Vector > & | MirrorPlanePositions (void) const |
Returns the mirror plane positions. |
|
bool | IsMirrorLocal (void) const |
Returns if the mirroring is local. |
|
int | MirrorPlanes (void) const |
Returns the number of mirroring planes.
|
|
Matrix | TransformationMatrix (const SurfacePoint *pSourceLocation, bool bNormalizeLocalFrame=false) const |
Returns a matrix which transforms positions
w.r.t the current mirror mode. |
|
Vector | Transform (const Vector &cSource, float fW, const SurfacePoint *pSourceLocation) const |
Transforms a vector using the current mirror
parameters in object space. |
|
bool | operator== (const MirrorConfiguration &) const throw () |
bool | operator!= (const MirrorConfiguration &v) const throw () |
Friends |
|
class | BrushOperation |
MirrorConfiguration | ( | void | ) |
Constructor.
enum MirrorMode MirrorMode | ( | void | ) | const |
Returns if the mirror is on an axis or tangent.
void SetMirrorMode | ( | enum MirrorMode | mode | ) |
Sets the mirroring planes.
const Store<mudbox::Vector>& MirrorPlaneNormals | ( | void | ) | const [inline] |
const Store<mudbox::Vector>& MirrorPlanePositions | ( | void | ) | const [inline] |
bool IsMirrorLocal | ( | void | ) | const [inline] |
int MirrorPlanes | ( | void | ) | const [inline] |
Matrix TransformationMatrix | ( | const SurfacePoint * | pSourceLocation, |
bool | bNormalizeLocalFrame =
false |
||
) | const |
Returns a matrix which transforms positions w.r.t the current mirror mode.
Movement along two sides are scaled by the unnormalized local frames for tangent mirror mode if bNormalizeLocalFrame is false. The effect is as if the mirrored point is moving in object space.
[in] | pSourceLocation | Location of a point on the surface which should be used as a reference. This point is usually |
bNormalizeLocalFrame | close to the point which should be transformed. This parameter can be NULL, but in some cases (like for tangent space mirroring) the result will only be correct if this parameter is specified. [in] Controls if the local frames used for the tangent mirror mode is normalized |
Vector Transform | ( | const Vector & | cSource, |
float | fW, | ||
const SurfacePoint * | pSourceLocation | ||
) | const |
Transforms a vector using the current mirror parameters in object space.
For tangent mirror mode, the result will be scaled by the unnormalized local frame on the mirror side.
[in] | cSource | Vector in object space which should be transformed |
[in] | fW | Fourth dimension of the vector. This is usually 0 when tranforming directions (to skip translations), and 1 otherwise |
[in] | pSourceLocation | Location of a point on the surface which should be used as a reference. This point is usually close to the point which should be transformed. This parameter can be NULL, but in some cases (like for tangent space mirroring) the result will only be correct if this parameter is specified. |
bool operator== | ( | const MirrorConfiguration & | ) | const throw () [inline] |
bool operator!= | ( | const MirrorConfiguration & | v | ) | const throw () [inline] |
Definition at line 130 of file brush.h.
{ return !operator ==( v ); };
friend class BrushOperation
[friend] |