#include <surface.h>
Inheritance diagram for PLib::ParaSurface:
Public Methods | |
ParaSurface () | |
virtual HPoint_nD< T, N > | operator() (T u, T v) const=0 |
HPoint_nD< T, N > | hpointAt (T u, T v) const |
Point_nD< T, N > | pointAt (T u, T v) const |
virtual void | deriveAtH (T u, T v, int d, Matrix< HPoint_nD< T, N > > &skl) const=0 |
virtual void | deriveAt (T u, T v, int d, Matrix< Point_nD< T, N > > &skl) const=0 |
virtual T | minDist2 (const Point_nD< T, N > &p, T &guessU, T &guessV, T error=0.001, T s=0.2, int sep=9, int maxIter=10, T um=0.0, T uM=1.0, T vm=0.0, T vM=1.0) const |
virtual T | minDist2b (const Point_nD< T, N > &p, T &guessU, T &guessV, T error=0.001, T s=0.3, int sep=5, int maxIter=10, T um=0.0, T uM=1.0, T vm=0.0, T vM=1.0) const |
virtual T | minDist2xy (const Point_nD< T, N > &p, T &guessU, T &guessV, T error=0.01, T dU=0.0001, T s=0.3, int sepU=5, int sepV=5, int maxIter=10, T um=0.0, T uM=1.0, T vm=0.0, T vM=1.0) const |
int | projectOn (const Point_nD< T, N > &p, T &u, T &v, int maxI=100, const T um=0.0, const T uM=1.0, const T vm=0.0, const T vM=1.0) const |
T | extremum (int findMin, CoordinateType coord, T minDu=0.0001, int sepU=5, int sepV=5, int maxIter=10, T um=0.0, T uM=1.0, T vm=0.0, T vM=1.0) const |
int | intersectWith (const ParaSurface< T, N > &S, Point_nD< T, N > &p, T &u, T &v, T &s, T &t, int maxI=100, T um=0.0, T uM=1.0, T vm=0.0, T vM=1.0) const |
int | intersectWith (const ParaSurface< T, N > &S, InterPoint< T, N > &iter, int maxI=100, T um=0.0, T uM=1.0, T vm=0.0, T vM=1.0) const |
virtual int | writeVRML (ostream &fout, const Color &color, int Nu, int Nv, T u_s, T u_e, T v_s, T v_e) const |
virtual int | writeVRML (const char *filename, const Color &color, int Nu, int Nv, T u_s, T u_e, T v_s, T v_e) const |
virtual int | writeVRML (const char *filename, const Color &color=whiteColor, int Nu=20, int Nv=20) const=0 |
virtual int | writeVRML97 (ostream &fout, const Color &color, int Nu, int Nv, T u_s, T u_e, T v_s, T v_e) const |
virtual int | writeVRML97 (const char *filename, const Color &color, int Nu, int Nv, T u_s, T u_e, T v_s, T v_e) const |
virtual int | writeVRML97 (const char *filename, const Color &color=whiteColor, int Nu=20, int Nv=20) const=0 |
This is an abstract class used as a basis for NURBS and HNURBS surfaces.
Definition at line 68 of file surface.h.
|
Finds the minimal or maximal value on the curve of the x,y or z coordinate.
Definition at line 479 of file surface.cpp. References pointAt. Referenced by PLib::NurbsSurface::writePOVRAY, and PLib::NurbsSurface::writeRIB. |
|
Finds the intersection of two surfaces near a point.
Definition at line 892 of file surface.cpp. References deriveAt. |
|
Finds the intersection of two surfaces near a point.
The method used is similar to the one used to project a point on a surface. It's a modified Newton-Raphson's method.
Definition at line 709 of file surface.cpp. References deriveAt. |
|
Find the minimal distance between a point and the surface.
This is an iterative method to find the closest point to a surface.
Definition at line 72 of file surface.cpp. References pointAt. |
|
Find the minimal distance between a point and the surface.
This is an iterative method to find the closest point to a surface. The method is slightly different than minDist2.
Definition at line 155 of file surface.cpp. References pointAt. |
|
Find the minimal distance between a point and the surface in the x-y plane.
This is an iterative method to find the closest point to a surface. The distance is search in the x-y plane. The z component is not taken into account for the search.
Definition at line 250 of file surface.cpp. References pointAt. |
|
projects a point onto the surface.
Projects a point using Newton-Raphson's method. There is more information available in the LaTeX version
Definition at line 614 of file surface.cpp. References deriveAt. |
|
Write the NURBS surface to a VRML file.
Writes a VRML file which represents the surface for the parametric space [uS,uE] and [vS,vE]. It does not optimize the number of points required to represent the surface.
Reimplemented in PLib::NurbsSurface. Definition at line 344 of file surface.cpp. References writeVRML. |
|
Write the NURBS surface to a VRML file.
Writes a VRML file which represents the surface for the parametric space [uS,uE] and [vS,vE]. It does not optimize the number of points required to represent the surface.
Reimplemented in PLib::NurbsSurface. Definition at line 377 of file surface.cpp. References pointAt. Referenced by writeVRML. |
|
Write the NURBS surface to a VRML file.
Writes a VRML file which represents the surface for the parametric space [uS,uE] and [vS,vE]. It does not optimize the number of points required to represent the surface.
Reimplemented in PLib::NurbsSurface. Definition at line 1203 of file surface.cpp. References writeVRML97. |
|
Write the NURBS surface to a VRML97 file.
Writes a VRML97 file which represents the surface for the parametric space [uS,uE] and [vS,vE]. It does not optimize the number of points required to represent the surface.
Reimplemented in PLib::NurbsSurface. Definition at line 1236 of file surface.cpp. References pointAt. Referenced by writeVRML97. |