|
Developer Documentation |
|
Centre for Vision, Speech & Signal Processing |
|
PUBLIC |
LoopRoseC::LoopRoseC(void)
LoopRoseC::~LoopRoseC(void)
LoopRoseC::Get_uM(t_uM *,int,double *)
LoopRoseC::uMCompPoint(t_vector *,int,double *)
LoopRoseC::MakeBeziers(t_vector *,int)
LoopRoseC::ComputePoint(int,double *)
LoopRoseC::MakeBeziers_n(t_vector *,int)
LoopRoseC::ComputePoint_n(int,double *)
LoopRoseC::MakeBeziers_3(t_vector *,int)
LoopRoseC::ComputePoint_3(int,double *)
LoopRoseC::MakeBeziers_4(t_vector *,int)
LoopRoseC::ComputePoint_4(int,double *)
LoopRoseC::ComputePoint_4uv(t_vector *,double,double)
|
Variables:
- t_casteljau * cast[];
-
- t_vector * work[];
-
- t_vector * bez_cont[];
-
- t_vector * sabin4;
-
- t_vector * sabin3;
-
used by the special purpose point compution routines that dont use
bezier control points but rather the sabin net directly
Methods:
- LoopRoseC()
-
- ~LoopRoseC()
-
- void Get_uM(t_uM * uM,int n_simp,double * bary)
-
the input is the (unnormalized) area based barycentrics
to use simply do
for (int i=0; i<2*n_simp+3; ++i) pos += uM[i]*local[i];
---This is the recommended scheme, when no precomputed tables will be used------
- t_vector uMCompPoint(t_vector * sabin,int n_simp,double * bary)
-
the input is the (unnormalized) area based barycentrics
and the control points
the output is the point position
The orthodox scheme
-------------------
- void MakeBeziers(t_vector * sabin,int n_simp)
-
- t_vector ComputePoint(int n_simp,double * bary)
-
General purpose routines redirecting,
normalization provided
- void MakeBeziers_n(t_vector * sabin,int n_simp)
-
- t_vector ComputePoint_n(int n_simp,double * bary)
-
General purpose routines always using Shoemake
- void MakeBeziers_3(t_vector * sabin,int n_simp)
-
- t_vector ComputePoint_3(int n_simp,double * bary)
-
Special purpose 3 sided patch only
- void MakeBeziers_4(t_vector * sabin,int n_simp)
-
- t_vector ComputePoint_4(int n_simp,double * bary)
-
Special purpose 4 sided patch, expects normalized barys
- t_vector ComputePoint_4uv(t_vector * sabin,double u,double v)
-
Special purpose 4 sided patch only u,v within (0..1)
|
Programmer:Andrew Stoddart, Documentation by CxxDoc: Tue Mar 20 10:49:27 2001
|