Blender V2.61 - r43446
|
#include <subd_split.h>
Public Member Functions | |
DiagSplit () | |
float3 | project (Patch *patch, float2 uv) |
int | T (Patch *patch, float2 Pstart, float2 Pend) |
void | partition_edge (Patch *patch, float2 *P, int *t0, int *t1, float2 Pstart, float2 Pend, int t) |
void | dispatch (QuadDice::SubPatch &sub, QuadDice::EdgeFactors &ef) |
void | split (QuadDice::SubPatch &sub, QuadDice::EdgeFactors &ef, int depth=0) |
void | dispatch (TriangleDice::SubPatch &sub, TriangleDice::EdgeFactors &ef) |
void | split (TriangleDice::SubPatch &sub, TriangleDice::EdgeFactors &ef, int depth=0) |
void | split_triangle (Mesh *mesh, Patch *patch, int shader, bool smooth) |
void | split_quad (Mesh *mesh, Patch *patch, int shader, bool smooth) |
Public Attributes | |
vector< QuadDice::SubPatch > | subpatches_quad |
vector< QuadDice::EdgeFactors > | edgefactors_quad |
vector< TriangleDice::SubPatch > | subpatches_triangle |
vector< TriangleDice::EdgeFactors > | edgefactors_triangle |
int | test_steps |
int | split_threshold |
float | dicing_rate |
Camera * | camera |
Definition at line 39 of file subd_split.h.
CCL_NAMESPACE_BEGIN DiagSplit::DiagSplit | ( | ) |
Definition at line 34 of file subd_split.cpp.
References camera, dicing_rate, NULL, split_threshold, and test_steps.
void DiagSplit::dispatch | ( | QuadDice::SubPatch & | sub, |
QuadDice::EdgeFactors & | ef | ||
) |
Definition at line 42 of file subd_split.cpp.
References edgefactors_quad, and subpatches_quad.
Referenced by split().
void DiagSplit::dispatch | ( | TriangleDice::SubPatch & | sub, |
TriangleDice::EdgeFactors & | ef | ||
) |
Definition at line 48 of file subd_split.cpp.
References edgefactors_triangle, and subpatches_triangle.
void DiagSplit::partition_edge | ( | Patch * | patch, |
float2 * | P, | ||
int * | t0, | ||
int * | t1, | ||
float2 | Pstart, | ||
float2 | Pend, | ||
int | t | ||
) |
Definition at line 94 of file subd_split.cpp.
References DSPLIT_NON_UNIFORM, I, interp(), and T().
Referenced by split().
Definition at line 54 of file subd_split.cpp.
References camera, Patch::eval(), NULL, P(), transform(), Camera::worldtoraster, float2::x, and float2::y.
Referenced by T().
void DiagSplit::split | ( | QuadDice::SubPatch & | sub, |
QuadDice::EdgeFactors & | ef, | ||
int | depth = 0 |
||
) |
Definition at line 193 of file subd_split.cpp.
References dispatch(), DSPLIT_NON_UNIFORM, QuadDice::SubPatch::P00, QuadDice::SubPatch::P01, QuadDice::SubPatch::P10, QuadDice::SubPatch::P11, partition_edge(), QuadDice::SubPatch::patch, T(), QuadDice::EdgeFactors::tu0, QuadDice::EdgeFactors::tu1, QuadDice::EdgeFactors::tv0, and QuadDice::EdgeFactors::tv1.
Referenced by split(), split_quad(), and split_triangle().
void DiagSplit::split | ( | TriangleDice::SubPatch & | sub, |
TriangleDice::EdgeFactors & | ef, | ||
int | depth = 0 |
||
) |
Definition at line 109 of file subd_split.cpp.
References assert, dispatch(), DSPLIT_NON_UNIFORM, partition_edge(), TriangleDice::SubPatch::patch, TriangleDice::SubPatch::Pu, TriangleDice::SubPatch::Pv, TriangleDice::SubPatch::Pw, split(), T(), TriangleDice::EdgeFactors::tu, TriangleDice::EdgeFactors::tv, and TriangleDice::EdgeFactors::tw.
Definition at line 287 of file subd_split.cpp.
References camera, EdgeDice::camera, QuadDice::dice(), dicing_rate, edgefactors_quad, i, make_float2(), max, QuadDice::SubPatch::P00, QuadDice::SubPatch::P01, QuadDice::SubPatch::P10, QuadDice::SubPatch::P11, QuadDice::SubPatch::patch, split(), subpatches_quad, T(), QuadDice::EdgeFactors::tu0, QuadDice::EdgeFactors::tu1, QuadDice::EdgeFactors::tv0, and QuadDice::EdgeFactors::tv1.
Referenced by SubdMesh::tesselate(), and xml_read_patch().
Definition at line 249 of file subd_split.cpp.
References camera, EdgeDice::camera, TriangleDice::dice(), dicing_rate, edgefactors_triangle, i, make_float2(), max, TriangleDice::SubPatch::patch, TriangleDice::SubPatch::Pu, TriangleDice::SubPatch::Pv, TriangleDice::SubPatch::Pw, split(), subpatches_triangle, T(), TriangleDice::EdgeFactors::tu, TriangleDice::EdgeFactors::tv, and TriangleDice::EdgeFactors::tw.
Referenced by SubdMesh::tesselate().
Definition at line 65 of file subd_split.cpp.
References dicing_rate, DSPLIT_NON_UNIFORM, i, L, len(), make_float3(), max, P(), project(), split_threshold, and test_steps.
Referenced by partition_edge(), split(), split_quad(), and split_triangle().
Definition at line 49 of file subd_split.h.
Referenced by create_subd_mesh(), DiagSplit(), project(), split_quad(), and split_triangle().
float DiagSplit::dicing_rate |
Definition at line 48 of file subd_split.h.
Referenced by create_subd_mesh(), DiagSplit(), split_quad(), split_triangle(), T(), xml_read_mesh(), and xml_read_patch().
Definition at line 42 of file subd_split.h.
Referenced by dispatch(), and split_quad().
Definition at line 44 of file subd_split.h.
Referenced by dispatch(), and split_triangle().
Definition at line 47 of file subd_split.h.
Referenced by DiagSplit(), and T().
Definition at line 41 of file subd_split.h.
Referenced by dispatch(), and split_quad().
Definition at line 43 of file subd_split.h.
Referenced by dispatch(), and split_triangle().
Definition at line 46 of file subd_split.h.
Referenced by DiagSplit(), and T().