IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.

IG::Script::ScriptGraphics3DBase Class Reference

Base class for script classes with graphics examples. More...

Inheritance diagram for IG::Script::ScriptGraphics3DBase:
Collaboration diagram for IG::Script::ScriptGraphics3DBase:

List of all members.

Public Member Functions

 ScriptGraphics3DBase ()
override void Script_AddCommands (ICommandLineApplicationInterpreter interpreter, SortedList< string, string > helpStrings)
 Adds commands to the internal interpreter.
string TestMyTest (string[] arguments)
 Test action.
virtual string TestCustom (string[] arguments)
 Custom test.
virtual string TestVtkTest (string[] arguments)
 Runs various VTK tests.
virtual string TestPlot3d (string[] arguments)
 Demonstration of various 3D plots.
virtual string TestSurface3d (string[] arguments)
 Demonstration of surface plots.

Public Attributes

const string ConstMyTest = "MyTest"
 Name of the command that performs my custom test.
const string ConstHelpMyTest = "Custom test function."
const string ConstCustom = "Custom"
 Name of the command for custom test.
const string ConstHelpCustom = "Custom test."
const string ConstVtkTest = "VtkTest"
 Name of the command for VTK tests.
const string ConstHelpVtkTest = "Various 3D tests using VTK. Run with ? argument to see which tests are available."
const string ConstPlot3d = "Plot3d"
 Name of the command for 3D plots tests.
const string ConstHelpPlot3d = "Various higher level 3D plots. Run with ? argument to see which tests are available."
const string ConstSurface3d = "Surface3D"
 Name of the command for 3D surface examples.
const string ConstHelpSurface3d = "Examples of 3D surfaces. Run with ? argument to see which surfaces are available."
const string VtkStructuredGrid = "StructuredGrid"
const string VtkQuadCells = "QuadCells"
const string VtkCellGridContours = "CellGridContours"
const string VtkStructuredGridVolumeContours = "StructuredGridVolumeContours"
const string Plot3dVtkControl = "VtkControl"
const string Plot3dCurvePlotLissajous = "CurvePlotLissajous"
const string Plot3dSurfacePlot = "SurfacePlot"
const string Plot3dSurfacePlotScaled = "SurfacePlotScaled"
const string Plot3dSurfacePlotManualScaled = "SurfacePlotManualScaled"
const string Plot3dContourPlot = "ContourPlot"
const string Plot3dSurfaceComparison = "SurfaceComparison"
const string Plot3dDecoration = "Decoration"
const string surfaceKleinBottle = "KleinBottle"
const string surfaceTwoToruses = "TwoToruses"
const string surfaceSnailShell = "SnailShell"

Protected Member Functions

override void InitializeThis (string[] arguments)
 Initializes the current object.
override string RunThis (string[] arguments)
 Runs action of the current object.
void AddTestVtkCommand (string testName, CommandMethod surfaceMethod, string surfaceHelp)
 Adds a new command testing VTK.
virtual void InitTestVtk ()
 Initializes VTK test commands.
virtual string RunTestVtk (string[] args)
 Runs demonstration of surface plots according to arguments.
void AddPlot3dCommand (string testName, CommandMethod surfaceMethod, string surfaceHelp)
 Adds a new command for a 3D graphics test.
virtual void InitTestPlot3d ()
 Initializes commands for 3d graphic tests.
virtual string RunTestPlot3d (string[] args)
 Runs demonstration of surface plots according to arguments.
void AddSurfaceCommand (string surfaceName, CommandMethod surfaceMethod, string surfaceHelp)
 Adds a new command for plotting the specified surface.
virtual void SetDefaultPlotProperties (VtkSurfacePlot plot)
 Sets default properties of the specified plot.
virtual void SetPlotBounds (VtkSurfacePlot plot, string[] args)
 Sets plotting resolution and parameter bounds on the specified plot according to arguments. Only things that are specified by arguments are set.Arguments must follow in this order: NumX, NumY, fromX, toX, fromY, toY
virtual void InitSurfaceCommands ()
 Initializes surface plotting commands.
virtual string Run3DSurfaceTest (string[] args)
 Runs demonstration of surface plots according to arguments.

Protected Attributes

List< string > TestVtkNames = new List<string>()
 List of VTK test names.
List< string > TestVtkHelpStrings = new List<string>()
 List of VTK tests' help strings.
List< CommandMethod > TestVtkMethods = new List<CommandMethod>()
 List of methods used to perform VTK tests.
List< string > TestPlot3dNames = new List<string>()
 List of installed 3D plotting test names.
List< string > TestPlot3dHelpStrings = new List<string>()
 List of help strings corresponding to installed 3D plotting tests.
List< CommandMethod > TestPlot3dMethods = new List<CommandMethod>()
 List of methods used to perform 3D plotting tests.
List< string > SurfaceNames = new List<string>()
 List of surface names.
List< string > SurfaceHelpStrings = new List<string>()
 List of surface methods' help strings.
List< CommandMethod > SurfaceMethods = new List<CommandMethod>()
 List of methods used to plot surfaces.

Private Member Functions

string VtkFunctionStructuredGrid (string surfaceName, string[] args)
 Demonstration of plotting structured grids.
string VtkFunctionQuadCells (string surfaceName, string[] args)
 Example that demonstrates the ability to use simple primitives for plotting surfaces in 3D (graphs of functions of 2 variables or parametric surfaces).
string VtkFunctionCellGridContours (string surfaceName, string[] args)
 Example of plotting contours on surfaces in 3D (graphs of functions of 2 variables or parametric surfaces) by using graphic primitives (cells) connected to polydata.
string VtkFunctionStructuredGridVolumeContours (string surfaceName, string[] args)
 Example that demonstrates volume contours with structure grid.
string Plot3dFunctionVtkControl (string surfaceName, string[] args)
 Tests use of VTK controls.
string Plot3dFunctionCurvePlotLissajous (string surfaceName, string[] args)
 Demonstration of plotting 3d parametric curves.
string Plot3dFunctionSurfacePlot (string surfaceName, string[] args)
 Demonstration of surface plots in 3D.
string Plot3dFunctionSurfacePlotScaled (string surfaceName, string[] args)
 Demonstration of surface plots in 3D where mesh is manually composed. Automatic scaling of physical graph is also demonstrated.
string Plot3dFunctionSurfacePlotManualScaled (string surfaceName, string[] args)
 Demonstration of surface plots in 3D where mesh is manually composed. Scaling of physical graph is also demonstrated.
string Plot3dFunctionContourPlot (string surfaceName, string[] args)
 Demonstration contour plots in 3D.
string Plot3dFunctionSurfaceComparison (string surfaceName, string[] args)
 Demonstration of comparison of 2 surfaces in 3D.
string Plot3dFunctionDecoration (string surfaceName, string[] args)
 Demonstration of surface plots in 3D.
string SurfaceFunctionKleinBottle (string surfaceName, string[] args)
 Plots the Klein's Bottle parametric surface.
string SurfaceFunctionTwoToruses (string surfaceName, string[] args)
 Plots two interlocked toruses.
string SurfaceFunctionSnailShell (string surfaceName, string[] args)
 Plots the Snail shell parametric surface.

Private Attributes

const string VtkHelpStructuredGrid = " <numX> <numY> <numZ> : Structured grid in 3D."
const string VtkHelpQuadCells = " <numX> <numY> : Using simple primitives in 3D graphics."
const string VtkHelpCellGridContours = " <numX> <numY> <numContours> : Cotours on 3D surfaces by using cells."
const string VtkHelpStructuredGridVolumeContours = " <numX> <numY> <numZ> <numContours> : Using volume contorus with structured grid."
bool _TestVtkCommandInitialized = false
const string Plot3dHelpVtkControl
const string Plot3dHelpCurvePlotLissajous = " : Plot of Lissajous-derived curves in 3D."
const string Plot3dHelpSurfacePlot = " : Surface plot."
const string Plot3dHelpSurfacePlotScaled = " <numX> <numY>: Surface plot with manual mesh, automatically scaled."
const string Plot3dHelpSurfacePlotManualScaled = " <numX> <numY>: Surface plot with manual mesh, manually scaled."
const string Plot3dHelpContourPlot = " : Contour plot."
const string Plot3dHelpSurfaceComparison = " : Comparison of 2 surfaces in 3D."
const string Plot3dHelpDecoration = " : Decorations demo."
bool _plot3dCommandsInitialized = false
const string surfaceHelpKleinBottle = " <numX> <numY> <formX> <toX> <fromY> <toY> : Klein's bottle"
const string surfaceHelpTwoToruses = " : Two interlocked toruses."
const string surfaceHelpSnailShell = " <numX> <numY> <formX> <toX> <fromY> <toY> : Snail's shell surface"
bool _surfaceCommandInitialized = false

Detailed Description

Base class for script classes with graphics examples.

$A Igor xx Jul12;


Constructor & Destructor Documentation

IG::Script::ScriptGraphics3DBase::ScriptGraphics3DBase ( ) [inline]

Member Function Documentation

override void IG::Script::ScriptGraphics3DBase::InitializeThis ( string[]  arguments) [inline, protected, virtual]

Initializes the current object.

Implements IG::Lib::LoadableScriptBase.

override string IG::Script::ScriptGraphics3DBase::RunThis ( string[]  arguments) [inline, protected, virtual]

Runs action of the current object.

Parameters:
argumentsCommand-line arguments of the action.

Implements IG::Lib::LoadableScriptBase.

override void IG::Script::ScriptGraphics3DBase::Script_AddCommands ( ICommandLineApplicationInterpreter  interpreter,
SortedList< string, string >  helpStrings 
) [inline, virtual]

Adds commands to the internal interpreter.

Parameters:
interpreterInterpreter where commands are executed.
helpStringsList containg help strings.

Reimplemented from IG::Lib::LoadableScriptBase.

string IG::Script::ScriptGraphics3DBase::TestMyTest ( string[]  arguments) [inline]

Test action.

Parameters:
argumentsArray of command-line arguments.
virtual string IG::Script::ScriptGraphics3DBase::TestCustom ( string[]  arguments) [inline, virtual]

Custom test.

void IG::Script::ScriptGraphics3DBase::AddTestVtkCommand ( string  testName,
CommandMethod  surfaceMethod,
string  surfaceHelp 
) [inline, protected]

Adds a new command testing VTK.

Parameters:
testNameVTK test name.
surfaceMethodMethod used to perform the test.
surfaceHelpEventual help string for the test.
string IG::Script::ScriptGraphics3DBase::VtkFunctionStructuredGrid ( string  surfaceName,
string[]  args 
) [inline, private]

Demonstration of plotting structured grids.

string IG::Script::ScriptGraphics3DBase::VtkFunctionQuadCells ( string  surfaceName,
string[]  args 
) [inline, private]

Example that demonstrates the ability to use simple primitives for plotting surfaces in 3D (graphs of functions of 2 variables or parametric surfaces).

string IG::Script::ScriptGraphics3DBase::VtkFunctionCellGridContours ( string  surfaceName,
string[]  args 
) [inline, private]

Example of plotting contours on surfaces in 3D (graphs of functions of 2 variables or parametric surfaces) by using graphic primitives (cells) connected to polydata.

string IG::Script::ScriptGraphics3DBase::VtkFunctionStructuredGridVolumeContours ( string  surfaceName,
string[]  args 
) [inline, private]

Example that demonstrates volume contours with structure grid.

virtual void IG::Script::ScriptGraphics3DBase::InitTestVtk ( ) [inline, protected, virtual]

Initializes VTK test commands.

virtual string IG::Script::ScriptGraphics3DBase::RunTestVtk ( string[]  args) [inline, protected, virtual]

Runs demonstration of surface plots according to arguments.

virtual string IG::Script::ScriptGraphics3DBase::TestVtkTest ( string[]  arguments) [inline, virtual]

Runs various VTK tests.

void IG::Script::ScriptGraphics3DBase::AddPlot3dCommand ( string  testName,
CommandMethod  surfaceMethod,
string  surfaceHelp 
) [inline, protected]

Adds a new command for a 3D graphics test.

Parameters:
testNameTest name.
surfaceMethodMethod used to perform the test.
surfaceHelpEventual help string for the test.
string IG::Script::ScriptGraphics3DBase::Plot3dFunctionVtkControl ( string  surfaceName,
string[]  args 
) [inline, private]

Tests use of VTK controls.

string IG::Script::ScriptGraphics3DBase::Plot3dFunctionCurvePlotLissajous ( string  surfaceName,
string[]  args 
) [inline, private]

Demonstration of plotting 3d parametric curves.

string IG::Script::ScriptGraphics3DBase::Plot3dFunctionSurfacePlot ( string  surfaceName,
string[]  args 
) [inline, private]

Demonstration of surface plots in 3D.

string IG::Script::ScriptGraphics3DBase::Plot3dFunctionSurfacePlotScaled ( string  surfaceName,
string[]  args 
) [inline, private]

Demonstration of surface plots in 3D where mesh is manually composed. Automatic scaling of physical graph is also demonstrated.

string IG::Script::ScriptGraphics3DBase::Plot3dFunctionSurfacePlotManualScaled ( string  surfaceName,
string[]  args 
) [inline, private]

Demonstration of surface plots in 3D where mesh is manually composed. Scaling of physical graph is also demonstrated.

string IG::Script::ScriptGraphics3DBase::Plot3dFunctionContourPlot ( string  surfaceName,
string[]  args 
) [inline, private]

Demonstration contour plots in 3D.

string IG::Script::ScriptGraphics3DBase::Plot3dFunctionSurfaceComparison ( string  surfaceName,
string[]  args 
) [inline, private]

Demonstration of comparison of 2 surfaces in 3D.

string IG::Script::ScriptGraphics3DBase::Plot3dFunctionDecoration ( string  surfaceName,
string[]  args 
) [inline, private]

Demonstration of surface plots in 3D.

virtual void IG::Script::ScriptGraphics3DBase::InitTestPlot3d ( ) [inline, protected, virtual]

Initializes commands for 3d graphic tests.

virtual string IG::Script::ScriptGraphics3DBase::RunTestPlot3d ( string[]  args) [inline, protected, virtual]

Runs demonstration of surface plots according to arguments.

virtual string IG::Script::ScriptGraphics3DBase::TestPlot3d ( string[]  arguments) [inline, virtual]

Demonstration of various 3D plots.

void IG::Script::ScriptGraphics3DBase::AddSurfaceCommand ( string  surfaceName,
CommandMethod  surfaceMethod,
string  surfaceHelp 
) [inline, protected]

Adds a new command for plotting the specified surface.

Parameters:
surfaceNameSurface (and the corresponding plotting command) name.
surfaceMethodMethod used to plot the surface.
surfaceHelpEventual help string for the added surface.
virtual void IG::Script::ScriptGraphics3DBase::SetDefaultPlotProperties ( VtkSurfacePlot  plot) [inline, protected, virtual]

Sets default properties of the specified plot.

Parameters:
plot
virtual void IG::Script::ScriptGraphics3DBase::SetPlotBounds ( VtkSurfacePlot  plot,
string[]  args 
) [inline, protected, virtual]

Sets plotting resolution and parameter bounds on the specified plot according to arguments. Only things that are specified by arguments are set.Arguments must follow in this order: NumX, NumY, fromX, toX, fromY, toY

Parameters:
plotPlot where resolution and bounds are set.
string IG::Script::ScriptGraphics3DBase::SurfaceFunctionKleinBottle ( string  surfaceName,
string[]  args 
) [inline, private]

Plots the Klein's Bottle parametric surface.

See also:
VtkPlotBase.ExampleParametricSurfacePlots
string IG::Script::ScriptGraphics3DBase::SurfaceFunctionTwoToruses ( string  surfaceName,
string[]  args 
) [inline, private]

Plots two interlocked toruses.

See also:
VtkPlotBase.ExampleParametricSurfacePlots
string IG::Script::ScriptGraphics3DBase::SurfaceFunctionSnailShell ( string  surfaceName,
string[]  args 
) [inline, private]

Plots the Snail shell parametric surface.

See also:
VtkPlotBase.ExampleParametricSurfacePlots
virtual void IG::Script::ScriptGraphics3DBase::InitSurfaceCommands ( ) [inline, protected, virtual]

Initializes surface plotting commands.

virtual string IG::Script::ScriptGraphics3DBase::Run3DSurfaceTest ( string[]  args) [inline, protected, virtual]

Runs demonstration of surface plots according to arguments.

virtual string IG::Script::ScriptGraphics3DBase::TestSurface3d ( string[]  arguments) [inline, virtual]

Demonstration of surface plots.


Member Data Documentation

Name of the command that performs my custom test.

const string IG::Script::ScriptGraphics3DBase::ConstHelpMyTest = "Custom test function."

Name of the command for custom test.

Name of the command for VTK tests.

const string IG::Script::ScriptGraphics3DBase::ConstHelpVtkTest = "Various 3D tests using VTK. Run with ? argument to see which tests are available."

Name of the command for 3D plots tests.

const string IG::Script::ScriptGraphics3DBase::ConstHelpPlot3d = "Various higher level 3D plots. Run with ? argument to see which tests are available."

Name of the command for 3D surface examples.

const string IG::Script::ScriptGraphics3DBase::ConstHelpSurface3d = "Examples of 3D surfaces. Run with ? argument to see which surfaces are available."
List<string> IG::Script::ScriptGraphics3DBase::TestVtkNames = new List<string>() [protected]

List of VTK test names.

List<string> IG::Script::ScriptGraphics3DBase::TestVtkHelpStrings = new List<string>() [protected]

List of VTK tests' help strings.

List<CommandMethod> IG::Script::ScriptGraphics3DBase::TestVtkMethods = new List<CommandMethod>() [protected]

List of methods used to perform VTK tests.

const string IG::Script::ScriptGraphics3DBase::VtkStructuredGrid = "StructuredGrid"
const string IG::Script::ScriptGraphics3DBase::VtkHelpStructuredGrid = " <numX> <numY> <numZ> : Structured grid in 3D." [private]
const string IG::Script::ScriptGraphics3DBase::VtkHelpQuadCells = " <numX> <numY> : Using simple primitives in 3D graphics." [private]
const string IG::Script::ScriptGraphics3DBase::VtkCellGridContours = "CellGridContours"
const string IG::Script::ScriptGraphics3DBase::VtkHelpCellGridContours = " <numX> <numY> <numContours> : Cotours on 3D surfaces by using cells." [private]
const string IG::Script::ScriptGraphics3DBase::VtkStructuredGridVolumeContours = "StructuredGridVolumeContours"
const string IG::Script::ScriptGraphics3DBase::VtkHelpStructuredGridVolumeContours = " <numX> <numY> <numZ> <numContours> : Using volume contorus with structured grid." [private]
List<string> IG::Script::ScriptGraphics3DBase::TestPlot3dNames = new List<string>() [protected]

List of installed 3D plotting test names.

List<string> IG::Script::ScriptGraphics3DBase::TestPlot3dHelpStrings = new List<string>() [protected]

List of help strings corresponding to installed 3D plotting tests.

List<CommandMethod> IG::Script::ScriptGraphics3DBase::TestPlot3dMethods = new List<CommandMethod>() [protected]

List of methods used to perform 3D plotting tests.

Initial value:
 Plot3dVtkControl + @" formType modal testPlotter testActorsIGLib testActorsVTK : 
  Tests VTK controls.
    formType: type of the form ('plain', 'vtk').
    modal: if true then form is launched as modal form
    testPlotter: if true then some test IGLib graphics is plotted on the form through plotter
    testActorsIGLib: if true then some test IGLib graphics is plotted on the form internally
    testActorsVTK: if true then some test VTK graphics is added internally "
const string IG::Script::ScriptGraphics3DBase::Plot3dHelpCurvePlotLissajous = " : Plot of Lissajous-derived curves in 3D." [private]
const string IG::Script::ScriptGraphics3DBase::Plot3dHelpSurfacePlot = " : Surface plot." [private]
const string IG::Script::ScriptGraphics3DBase::Plot3dHelpSurfacePlotScaled = " <numX> <numY>: Surface plot with manual mesh, automatically scaled." [private]
const string IG::Script::ScriptGraphics3DBase::Plot3dSurfacePlotManualScaled = "SurfacePlotManualScaled"
const string IG::Script::ScriptGraphics3DBase::Plot3dHelpSurfacePlotManualScaled = " <numX> <numY>: Surface plot with manual mesh, manually scaled." [private]
const string IG::Script::ScriptGraphics3DBase::Plot3dHelpContourPlot = " : Contour plot." [private]
const string IG::Script::ScriptGraphics3DBase::Plot3dHelpSurfaceComparison = " : Comparison of 2 surfaces in 3D." [private]
const string IG::Script::ScriptGraphics3DBase::Plot3dHelpDecoration = " : Decorations demo." [private]
List<string> IG::Script::ScriptGraphics3DBase::SurfaceNames = new List<string>() [protected]

List of surface names.

List<string> IG::Script::ScriptGraphics3DBase::SurfaceHelpStrings = new List<string>() [protected]

List of surface methods' help strings.

List<CommandMethod> IG::Script::ScriptGraphics3DBase::SurfaceMethods = new List<CommandMethod>() [protected]

List of methods used to plot surfaces.

const string IG::Script::ScriptGraphics3DBase::surfaceHelpKleinBottle = " <numX> <numY> <formX> <toX> <fromY> <toY> : Klein's bottle" [private]
const string IG::Script::ScriptGraphics3DBase::surfaceHelpTwoToruses = " : Two interlocked toruses." [private]
const string IG::Script::ScriptGraphics3DBase::surfaceHelpSnailShell = " <numX> <numY> <formX> <toX> <fromY> <toY> : Snail's shell surface" [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties Events