From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- docs/doxygen/nel/a02703.html | 254 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 254 insertions(+) create mode 100644 docs/doxygen/nel/a02703.html (limited to 'docs/doxygen/nel/a02703.html') diff --git a/docs/doxygen/nel/a02703.html b/docs/doxygen/nel/a02703.html new file mode 100644 index 00000000..fe0fa7f9 --- /dev/null +++ b/docs/doxygen/nel/a02703.html @@ -0,0 +1,254 @@ + + +NeL: NL3D::CLandscape::CBezierPatchZ struct Reference + + + +
+

NL3D::CLandscape::CBezierPatchZ Struct Reference


Detailed Description

+A Bezier patch of One value only. NB: unlike CBezierPatch, layout is inverted on Y. (NB: same formulas...) +

+ +

+Definition at line 824 of file landscape.h. + + + + + + + + + + + + + + + + + + +

Public Member Functions

float eval (float s, float t) const
 Evaluate.

void makeInteriors ()
 make default Interiors, according to Vertices and Tangents.


Data Fields

float Interiors [4]
 The interiors, ia,ib,ic,id. NB: interiors are points, not vectors.

float Tangents [8]
 The tangents ab, ba, bc, cb, cd, dc, da, ad. NB: tangents are points, not vectors.

float Vertices [4]
 The vertices a,b,c,d of the quad patch.

+


Member Function Documentation

+

+ + + + +
+ + + + + + + + + + + + + + + + + + + +
float NL3D::CLandscape::CBezierPatchZ::eval float  s,
float  t
const
+
+ + + + + +
+   + + +

+Evaluate. +

+ +

+Definition at line 2743 of file landscape.cpp. +

+Referenced by NL3D::CLandscape::getHeightFieldDeltaZ(). +

+

02744 {
+02745         float   p;
+02746 
+02747         float ps2 = ps * ps;
+02748         float ps1 = 1.0f - ps;
+02749         float ps12 = ps1 * ps1;
+02750         float s0 = ps12 * ps1;
+02751         float s1 = 3.0f * ps * ps12;
+02752         float s2 = 3.0f * ps2 * ps1;
+02753         float s3 = ps2 * ps;
+02754         float pt2 = pt * pt;
+02755         float pt1 = 1.0f - pt;
+02756         float pt12 = pt1 * pt1;
+02757         float t0 = pt12 * pt1;
+02758         float t1 = 3.0f * pt * pt12;
+02759         float t2 = 3.0f * pt2 * pt1;
+02760         float t3 = pt2 * pt;
+02761 
+02762         p = Vertices[0] * s0 * t0       + 
+02763                 Tangents[7] * s1 * t0   + 
+02764                 Tangents[6] * s2 * t0   + 
+02765                 Vertices[3] * s3 * t0;
+02766         p+= Tangents[0] * s0 * t1       + 
+02767                 Interiors[0]* s1 * t1   + 
+02768                 Interiors[3]* s2 * t1   + 
+02769                 Tangents[5] * s3 * t1;
+02770         p+=     Tangents[1] * s0 * t2   + 
+02771                 Interiors[1]* s1 * t2   + 
+02772                 Interiors[2]* s2 * t2   + 
+02773                 Tangents[4] * s3 * t2;
+02774         p+=     Vertices[1] * s0 * t3   + 
+02775                 Tangents[2] * s1 * t3   + 
+02776                 Tangents[3] * s2 * t3   + 
+02777                 Vertices[2] * s3 * t3;
+02778         
+02779         return p;
+02780 }
+
+

+ + + + +
+ + + + + + + + + +
void NL3D::CLandscape::CBezierPatchZ::makeInteriors  ) 
+
+ + + + + +
+   + + +

+make default Interiors, according to Vertices and Tangents. +

+ +

+Definition at line 2731 of file landscape.cpp. +

+Referenced by NL3D::CLandscape::setHeightField(). +

+

02732 {
+02733         float           &a = Vertices[0];
+02734         float           &b = Vertices[1];
+02735         float           &c = Vertices[2];
+02736         float           &d = Vertices[3];
+02737         Interiors[0] = Tangents[7] + Tangents[0] - a;
+02738         Interiors[1] = Tangents[1] + Tangents[2] - b;
+02739         Interiors[2] = Tangents[3] + Tangents[4] - c;
+02740         Interiors[3] = Tangents[5] + Tangents[6] - d;
+02741 }
+
+


Field Documentation

+

+ + + + +
+ + +
float NL3D::CLandscape::CBezierPatchZ::Interiors[4] +
+
+ + + + + +
+   + + +

+The interiors, ia,ib,ic,id. NB: interiors are points, not vectors. +

+ +

+Definition at line 831 of file landscape.h.

+

+ + + + +
+ + +
float NL3D::CLandscape::CBezierPatchZ::Tangents[8] +
+
+ + + + + +
+   + + +

+The tangents ab, ba, bc, cb, cd, dc, da, ad. NB: tangents are points, not vectors. +

+ +

+Definition at line 829 of file landscape.h. +

+Referenced by NL3D::CLandscape::setHeightField().

+

+ + + + +
+ + +
float NL3D::CLandscape::CBezierPatchZ::Vertices[4] +
+
+ + + + + +
+   + + +

+The vertices a,b,c,d of the quad patch. +

+ +

+Definition at line 827 of file landscape.h. +

+Referenced by NL3D::CLandscape::setHeightField().

+


The documentation for this struct was generated from the following files: +
Generated on Tue Mar 16 06:48:37 2004 for NeL by + +doxygen +1.3.6
+ + -- cgit v1.2.1