IGLib  1.5
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events
IG.Num.Func3d2dExamples.ParametricSurface Class Referenceabstract

Base class for easy definition of parametric surfaces intended for plotting. More...

+ Inheritance diagram for IG.Num.Func3d2dExamples.ParametricSurface:
+ Collaboration diagram for IG.Num.Func3d2dExamples.ParametricSurface:

Public Member Functions

void SetBounds (double minX, double maxX, double minY, double maxY)
 Sets the bounds. More...
 
void SetNumPoints (int numX, int numY)
 Sets recommended number of plot points along parameter curves. More...
 
override double Value1 (double x, double y)
 Calculates and returns value of the first component of the current function. More...
 
override double Value2 (double x, double y)
 Calculates and returns value of the second component of the current function. More...
 
override double Value3 (double x, double y)
 Calculates and returns value of the third component of the current function. More...
 
- Public Member Functions inherited from IG.Num.Func3d2dBaseNoGradient
override void Gradient1 (double x, double y, out double gradx, out double grady)
 Function for calculating gradient of the first component of vector function, just throws the NotImplementedException exception. More...
 
override void Gradient2 (double x, double y, out double gradx, out double grady)
 Function for calculating gradient of the second component of vector function, just throws the NotImplementedException exception. More...
 
override void Gradient3 (double x, double y, out double gradx, out double grady)
 Function for calculating gradient of the third component of vector function, just throws the NotImplementedException exception. More...
 
override void Hessian1 (double x, double y, out double dxx, out double dyy, out double dxy)
 Function for calculating Hessian of the first component, just throws the NotImplementedException exception. More...
 
override void Hessian2 (double x, double y, out double dxx, out double dyy, out double dxy)
 Function for calculating Hessian of the second component, just throws the NotImplementedException exception. More...
 
override void Hessian3 (double x, double y, out double dxx, out double dyy, out double dxy)
 Function for calculating Hessian of the third component, just throws the NotImplementedException exception. More...
 
- Public Member Functions inherited from IG.Num.Func3d2dBase
virtual double Value1 (vec2 parameters)
 Calculates and returns value of the first component of the current function. More...
 
virtual double Value2 (vec2 parameters)
 Calculates and returns value of the second component of the current function. More...
 
virtual double Value3 (vec2 parameters)
 Calculates and returns value of the third component of the current function. More...
 
virtual vec2 Gradient1 (vec2 parameters)
 Calculates and returns gradient of the first component of the current function. More...
 
virtual vec2 Gradient2 (vec2 parameters)
 Calculates and returns gradient of the second component of the current function. More...
 
virtual vec2 Gradient3 (vec2 parameters)
 Calculates and returns gradient of the third component of the current function. More...
 
virtual mat2 Hessian1 (vec2 parameters)
 Calculates and returns Hessian of the first component of the current function and returns it (in the form of a mat2 struct). More...
 
virtual mat2 Hessian2 (vec2 parameters)
 Calculates and returns Hessian of the second component of the current function and returns it (in the form of a mat2 struct). More...
 
virtual mat2 Hessian3 (vec2 parameters)
 Calculates and returns Hessian of the third component of the current function and returns it (in the form of a mat2 struct). More...
 

Protected Member Functions

 ParametricSurface ()
 Base class for classes that define various parametric surfaces. More...
 
 ParametricSurface (double minX, double maxX, double minY, double maxY)
 Base class for classes that define various parametric surfaces. More...
 
abstract double f1 (double u, double v)
 
abstract double f2 (double u, double v)
 
abstract double f3 (double u, double v)
 
- Protected Member Functions inherited from IG.Num.Func3d2dBaseNoGradient
 Func3d2dBaseNoGradient ()
 
- Protected Member Functions inherited from IG.Num.Func3d2dBase
 Func3d2dBase ()
 

Properties

double MinX [get, set]
 Minimal value of the first parameter. More...
 
double MaxX [get, set]
 Maximal value of the first parameter. More...
 
double MinY [get, set]
 Minimal value of the second parameter. More...
 
double MaxY [get, set]
 Maximal value of the second parameter. More...
 
int NumX [get, set]
 Recommended number of points along the first parameter used to plot the surface. More...
 
int NumY [get, set]
 Recommended number of points along the second parameter used to plot the surface. More...
 
- Properties inherited from IG.Num.Func3d2dBase
virtual bool ValueDefined [get, protected set]
 Whether calculation of function value is defined. Defaulet is true. More...
 
virtual bool GradientDefined [get, protected set]
 Whether calculation of functio ngradient is defined. Default is false. More...
 
virtual bool HessianDefined [get, protected set]
 Whether calculation of function Hessian is defined. Default is false. More...
 
int NumParam [get]
 Gets number of parameters. More...
 
int NumValues [get]
 Gets number of components of the current vector function. More...
 
virtual Func2dBase Component1 [get]
 Returns the scalar function that represents the first component of the current 3D vector function of 2 variables. More...
 
virtual Func2dBase Component2 [get]
 Returns the scalar function that represents the second component of the current 3D vector function of 2 variables. More...
 
virtual Func2dBase Component3 [get]
 Returns the scalar function that represents the third component of the current 3D vector function of 2 variables. More...
 
- Properties inherited from IG.Num.IFunc3d2d
bool ValueDefined [get]
 Whether calculation of function value is defined. More...
 
bool GradientDefined [get]
 Whether calculation of function ngradient is defined. More...
 
bool HessianDefined [get]
 Whether calculation of function Hessian is defined. More...
 
Func2dBase Component1 [get]
 Returns the scalar function that represents the first component of the current 3D vector function of 2 variables. More...
 
Func2dBase Component2 [get]
 Returns the scalar function that represents the second component of the current 3D vector function of 2 variables. More...
 
Func2dBase Component3 [get]
 Returns the scalar function that represents the third component of the current 3D vector function of 2 variables. More...
 

Private Attributes

double _minX = -1
 
double _maxX = 1
 
double _minY = -1
 
double _maxY = 1
 
int _numx = 20
 
int _numy = 20
 

Additional Inherited Members

- Static Public Member Functions inherited from IG.Num.Func3d2dBase
static void Example ()
 Example of use of a 2D function. More...
 
- Static Protected Member Functions inherited from IG.Num.Func3d2dBase
static void TestFunction (IFunc2d f)
 Demonstrates use of a 2D function by printing to the console 5 values and gradients of the function on the line connecting the two points (0, 0, 0) and (1, 1, 1). More...
 
static void TestFunction (IFunc2d f, double xmin, double xmax, double ymin, double ymax, int numPoints)
 Demonstrates use of a 2D function by printing to the console some values and gradients of the function on the line connecting the two specified points. More...
 

Detailed Description

Base class for easy definition of parametric surfaces intended for plotting.

$A Igor Oct09;

Constructor & Destructor Documentation

IG.Num.Func3d2dExamples.ParametricSurface.ParametricSurface ( )
inlineprotected

Base class for classes that define various parametric surfaces.

IG.Num.Func3d2dExamples.ParametricSurface.ParametricSurface ( double  minX,
double  maxX,
double  minY,
double  maxY 
)
inlineprotected

Base class for classes that define various parametric surfaces.

Member Function Documentation

void IG.Num.Func3d2dExamples.ParametricSurface.SetBounds ( double  minX,
double  maxX,
double  minY,
double  maxY 
)
inline

Sets the bounds.

Parameters
minXLower bound of the first parameter.
maxXUpper bound of the first parameter.
minYLower bound of the first parameter.
maxYUpper bound of the second parameter.
void IG.Num.Func3d2dExamples.ParametricSurface.SetNumPoints ( int  numX,
int  numY 
)
inline

Sets recommended number of plot points along parameter curves.

Parameters
numXRecommended number of plot points alog the first parameter.
numYRecommended number of plot points alog the second parameter.
override double IG.Num.Func3d2dExamples.ParametricSurface.Value1 ( double  x,
double  y 
)
inline

Calculates and returns value of the first component of the current function.

Parameters
xFirst parameter.
ySecond parameter.

Implements IG.Num.IFunc3d2d.

override double IG.Num.Func3d2dExamples.ParametricSurface.Value2 ( double  x,
double  y 
)
inline

Calculates and returns value of the second component of the current function.

Parameters
xFirst parameter.
ySecond parameter.

Implements IG.Num.IFunc3d2d.

override double IG.Num.Func3d2dExamples.ParametricSurface.Value3 ( double  x,
double  y 
)
inline

Calculates and returns value of the third component of the current function.

Parameters
xFirst parameter.
ySecond parameter.

Implements IG.Num.IFunc3d2d.

Member Data Documentation

double IG.Num.Func3d2dExamples.ParametricSurface._minX = -1
private
double IG.Num.Func3d2dExamples.ParametricSurface._maxX = 1
private
double IG.Num.Func3d2dExamples.ParametricSurface._minY = -1
private
double IG.Num.Func3d2dExamples.ParametricSurface._maxY = 1
private
int IG.Num.Func3d2dExamples.ParametricSurface._numx = 20
private
int IG.Num.Func3d2dExamples.ParametricSurface._numy = 20
private

Property Documentation

double IG.Num.Func3d2dExamples.ParametricSurface.MinX
getset

Minimal value of the first parameter.

double IG.Num.Func3d2dExamples.ParametricSurface.MaxX
getset

Maximal value of the first parameter.

double IG.Num.Func3d2dExamples.ParametricSurface.MinY
getset

Minimal value of the second parameter.

double IG.Num.Func3d2dExamples.ParametricSurface.MaxY
getset

Maximal value of the second parameter.

int IG.Num.Func3d2dExamples.ParametricSurface.NumX
getset

Recommended number of points along the first parameter used to plot the surface.

int IG.Num.Func3d2dExamples.ParametricSurface.NumY
getset

Recommended number of points along the second parameter used to plot the surface.


The documentation for this class was generated from the following file: