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

IG::Gr3d::VtkPlotBase Class Reference

Base class for plotting classes that plot on VTK windows (class VtkPlotter). Classes derived from this class produce pecific plots (such as surface or line plots) on the related VTK rendering window.Interaction with a VTK rendering window is managed by an VtkPlotterobject. More...

Inheritance diagram for IG::Gr3d::VtkPlotBase:
Collaboration diagram for IG::Gr3d::VtkPlotBase:

List of all members.

Classes

class  ExampleFunc2dLinear
 Function f(x,y)=x+y. More...
class  ExampleFunc2dShifted
 Function defined as some other function shifted for the specified value. More...
class  ExampleFunc2dSquare
 Function f(x,y)=x*x+y*y. More...
class  ExampleFunc2dXY
 Function f(x,y)=x*y. More...
class  ExampleFuncDiff
 Difference between the two auxiliary functions. More...
class  ExampleFunctionTorusKnot
 Functions for all 3 co-ordinates of parametric curve definition of a p-q torus knot . Used in the ExampleCurvePlotTorusKnot. More...
class  ExampleSineFunctionForLissajous
 Sine function with the specified frequency factor and phase. Used in the ExampleLissajous. More...
class  ExampleValueFunctionDiff21
 3D function of coordinates that returns difference between func2 and func1 at the first two coordinates. Used for coloring surfaces and contours according to defference between two functions. More...
class  Func2dX
 2D function that returns the first parameter. Used as the first componnet of parametric definition of surfce that is defined by a single function of 2 variables. More...
class  Func2dY
 2D function that returns the second parameter. Used as the second componnet of parametric definition of surfce that is defined by a single function of 2 variables. More...
class  Func2dZero
 Auxiliary 2D function that returns 0. More...
class  Func3dZ
 3D function that returns the third component of its 3D vector argument. Used e.g. for coloring graphs by heights. More...
class  Func3dZero
 3D function that returns 0. Used e.g. for coloring graphs by heights. More...

Public Member Functions

 VtkPlotBase (VtkPlotter plotter)
 Constructor.
bool ContainsActor (vtkActor actor)
 Returns true if the specified VTK Actor is contained on (registered with) the current VtkPlotBase object, or false otherwise.
void AddActor (vtkActor actor)
 Adds the specified actor to the list of actors of the current VTK plotter. If the object is already on the list of actors then it is not inserted again.
void AddActors (params vtkActor[] actors)
 Adds the specified actors to the list of actors of the current VTK plotter.
void AddActorsToPlotter ()
 Adds all actors from the current plot to the plotter that this plot is assigned to.
void AddActorsToPlotter (VtkPlotter plotter)
 Adds all actors from the current plot to the specified plotter.
void RemoveActor (vtkActor actor)
 Removes the specified actor from the list of actors of the current VTK plotter, and disposes unmanaged resources used by that object. If the specified object is not on the list of actors then nothing happens.
void RemoveActors (params vtkActor[] actors)
 Removes the specified actors from the list of actors of the current VTK plotter, and disposes unmanaged resources used by that objects. If no objects are specified then nothing happens. Also for the specified objects that are null or are not on the list, nothing happens. If removing one of the objects throws an exception then the remaining objects are removed without any disturbance.
void RemoveActors ()
 Removes all actors that are currently contained on the list of actors of the current object.
void UpdateBoundsOnActors (IBoundingBox bounds)
 Updates the specified bounding box in such a way that all actors from the current plot object fit into it.
void ScaleActors ()
 Scales all actors on the current plot by the plotter's scaling method.
bool ContainsAlgorithm (vtkAlgorithm algorithm)
 Returns true if the specified VTK algorithm is contained on (registered with) the current VtkPlotter object, or false otherwise.
void AddAlgorithm (vtkAlgorithm algorithm)
 Adds the specified algorithm to the list of algorithms of the current VTK plotter. If the object is already on the list of algorithms then it is not inserted again.
void AddAlgorithms (params vtkAlgorithm[] algorithms)
 Adds the specified algorithms to the list of algorithms of the current VTK plotter.
void RemoveAlgorithm (vtkAlgorithm algorithm)
 Removes the specified algorithm from the list of algorithms of the current VTK plotter, and disposes unmanaged resources used by that object. If the specified object is not on the list of algorithms then nothing happens.
void RemoveAlgorithms (params vtkAlgorithm[] algorithms)
 Removes the specified algorithms from the list of algorithms of the current VTK plotter, and disposes unmanaged resources used by that objects. If no objects are specified then nothing happens. Also for the specified objects that are null or are not on the list, nothing happens. If removing one of the objects throws an exception then the remaining objects are removed without any disturbance.
bool ContainsMapper (vtkMapper mapper)
 Returns true if the specified VTK mapper is contained on (registered with) the current VtkPlotter object, or false otherwise.
void AddMapper (vtkMapper mapper)
 Adds the specified mapper to the list of mappers of the current VTK plotter. If the object is already on the list of mappers then it is not inserted again.
void AddMappers (params vtkMapper[] mappers)
 Adds the specified mappers to the list of mappers of the current VTK plotter.
void RemoveMapper (vtkMapper mapper)
 Removes the specified mapper from the list of mappers of the current VTK plotter, and disposes unmanaged resources used by that object. If the specified object is not on the list of mappers then nothing happens.
void RemoveMappers (params vtkMapper[] mappers)
 Removes the specified mappers from the list of mappers of the current VTK plotter, and disposes unmanaged resources used by that objects. If no objects are specified then nothing happens. Also for the specified objects that are null or are not on the list, nothing happens. If removing one of the objects throws an exception then the remaining objects are removed without any disturbance.
bool ContainsDataset (vtkDataSet dataset)
 Returns true if the specified VTK dataset is contained on (registered with) the current VtkPlotter object, or false otherwise.
void AddDataset (vtkDataSet dataset)
 Adds the specified dataset to the list of datasets of the current VTK plotter. If the object is already on the list of datasets then it is not inserted again.
void AddDatasets (params vtkDataSet[] datasets)
 Adds the specified datasets to the list of datasets of the current VTK plotter.
void RemoveDataset (vtkDataSet dataset)
 Removes the specified dataset from the list of datasets of the current VTK plotter, and disposes unmanaged resources used by that object. If the specified object is not on the list of datasets then nothing happens.
void RemoveDatasets (params vtkDataSet[] datasets)
 Removes the specified datasets from the list of datasets of the current VTK plotter, and disposes unmanaged resources used by that objects. If no objects are specified then nothing happens. Also for the specified objects that are null or are not on the list, nothing happens. If removing one of the objects throws an exception then the remaining objects are removed without any disturbance.
void UpdateBoundsCoordinates (bool forced, double x, double y, double z)
 Updates the bounding box of coordinates (BoundsCoordinates), if the conditions are met, in such a way that the point with the specified coordinates fits witin it. Conditions are met if the forced flag is true or the AutoUpdateBoundsCoordinates flag is true.
void UpdateBoundsCoordinates (double x, double y, double z)
 Updates the bounding box of coordinates (BoundsCoordinates), if the AutoUpdateBoundsCoordinates flag is true, in such a way that the point with the specified coordinates fits witin it.
void UpdateBoundsCoordinates (bool forced, vec3 pointCoordinates)
 Updates the bounding box of coordinates (BoundsCoordinates), if the conditions are met, in such a way that the point with the specified coordinates fits witin it. Conditions are met if the forced flag is true or the AutoUpdateBoundsCoordinates flag is true.
void UpdateBoundsCoordinates (vec3 pointCoordinates)
 Updates the bounding box of coordinates (BoundsCoordinates), if the AutoUpdateBoundsCoordinates flag is true, in such a way that the point with the specified coordinates fits witin it.
abstract void Create ()
 Creates the plot.
virtual void ShowPlot ()
 Makes the associated plotter show the plots that are currently added. Warning: this does not create a plot.
virtual void CreateAndShow ()
 Creates the plot and makes the associated plotter show it.
void Dispose ()
 Implementation of IDisposable interface.

Static Public Member Functions

static void ExampleCustomSurfaceComparison ()
 Custom comparison of two surfaces in 3D defined as functions of two variables. On the main surface, wireframe is shown, surface is transparent and its color varies according to difference with the other surface.The second surface is a wireframe and is very transparent.
static void ExampleCurvePlotLissajous ()
 Example curve plot. Plots a curve whose projection on the XY plane is a Lissajous curve, but which also oscillates in the Z direction.
static void ExampleCurvePlotLissajous (int a, int b)
 Example curve plot. Plots a curve whose projection on the XY plane is a Lissajous curve, but which also oscillates in the Z direction.
static void ExampleCurvePlotTorusKnot ()
 Example curve plot. Plots a curve whose projection on the XY plane is a Lissajous curve, but which also oscillates in the Z direction.
static void ExampleCurvePlotTorusKnot (int p, int q)
 Example curve plot. Plots a two-parameters torus knot. Parameters must be coprimes.
static void ExamplePlotterDecoration ()
 Example that demonstrates how various plotter decorations can be set up.
static void ExampleSurfacePlot ()
 Example of surface plots.
static void ExampleSurfacePlotScaled ()
 Example of surface plots where graph is scaled automaticallly.
static void ExampleSurfacePlotScaled (int numX, int numY)
 Example of surface plots where graph is scaled automatically.
static void ExampleSurfacePlotManualScaled ()
 Example of surface plots where mesh is generated manually. Also shows scaling of graph.
static void ExampleSurfacePlotManualScaled (int numX, int numY)
 Example of surface plots where mesh is generated manually. Also shows scaling of graph.
static void ExampleContourPlot ()
 Examples of contour plots.
static void CopyBounds (Func3d2dExamples.ParametricSurface func, VtkSurfacePlot plot)
 Copies bounds on parameters from the function definition of parametric surface to a plot object for plotting surfaces.
static void ExampleParametricSurfacePlots ()
 Examples of various parametric surface plots.

Protected Member Functions

virtual void Dispose (bool disposing)
 Does the job of freeing resources. This method can be eventually overridden in derived classes (if they use other resources that must be freed - in addition to such resources of the current class). In the case of overriding this method, you should usually call the base.Dispose(disposing ). in the overriding method.

Protected Attributes

List< vtkActor > _actors
List< vtkAlgorithm > _algorithms
List< vtkMapper > _mappers
List< vtkDataSet > _dataSets
bool _autoUpdateBoundsCoordinates = true

Properties

object Lock [get]
 This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock.
int OutputLevel [get, set]
 Level of output to the console for the current object. The defalult output level for newly created object is specified by VtkPlotter.DefaultOutputLevel.
StopWatch Timer [get]
 Stopwatch that can be used to measure the time efficiency of actions.
color BackGround [get, set]
 Sets background color of the plotter that is used by the current plot object. Task is delegated to the plotter.
VtkPlotter Plotter [get, set]
 VTK plotter that is used for rendering graphics produeced by the current plotting class, on a VTK rendering window. Getter is not thread safe (for better efficiency).
List< vtkActor > Actors [get, set]
 List of actors contained on the current class. Setter is thread safe.Lazy evaluation - list object is automatically generated when first accessed.
List< vtkAlgorithm > algorithms [get, set]
 List of algorithms contained on the current class. Setter is thread safe.Lazy evaluation - list object is automatically generated when first accessed.
List< vtkMapper > Mappers [get, set]
 List of mappers contained on the current class. Setter is thread safe.Lazy evaluation - list object is automatically generated when first accessed.
List< vtkDataSet > DataSets [get, set]
 List of datasets contained on the current class. Setter is thread safe.Lazy evaluation - list object is automatically generated when first accessed.
bool AutoUpdateBoundsCoordinates [get, set]
 Determines whether bounds on plotted geometry are automatically updated when new primitives are added.
BoundingBox3d BoundsCoordinates [get, set]
 Bounds on coordinates of points that define the plots. everything on the plot should fit in these bounds.

Private Member Functions

 VtkPlotBase ()
 Prevent calling argument-less constructor in derived classes.
 ~VtkPlotBase ()

Private Attributes

object _mainLock = new object()
int _outputLevel = VtkPlotter.DefaultOutputLevel
StopWatch _timer
VtkPlotter _plotter
BoundingBox3d _boundsCoordinates
bool disposed = false

Static Private Attributes

static IFunc2d func1 = new ExampleFunc2dShifted(new ExampleFunc2dSquare(), 0.5)
 First uxiliary function used in examples.
static IFunc2d func2 = new ExampleFunc2dXY()
 Second uxiliary function used in examples.

Detailed Description

Base class for plotting classes that plot on VTK windows (class VtkPlotter).

Classes derived from this class produce pecific plots (such as surface or line plots) on the related VTK rendering window.

Interaction with a VTK rendering window is managed by an VtkPlotter

object.

$A Igor xx Nov11;


Constructor & Destructor Documentation

IG::Gr3d::VtkPlotBase::VtkPlotBase ( ) [inline, private]

Prevent calling argument-less constructor in derived classes.

IG::Gr3d::VtkPlotBase::VtkPlotBase ( VtkPlotter  plotter) [inline]

Constructor.

Parameters:
plotterVTK plotter that is used for rendering graphics produeced by the current plotting class.
IG::Gr3d::VtkPlotBase::~VtkPlotBase ( ) [inline, private]

Member Function Documentation

bool IG::Gr3d::VtkPlotBase::ContainsActor ( vtkActor  actor) [inline]

Returns true if the specified VTK Actor is contained on (registered with) the current VtkPlotBase object, or false otherwise.

Parameters:
actorActor whose existent on the list is checked for.
Returns:
void IG::Gr3d::VtkPlotBase::AddActor ( vtkActor  actor) [inline]

Adds the specified actor to the list of actors of the current VTK plotter. If the object is already on the list of actors then it is not inserted again.

Parameters:
actorVTK Actor to be added on the currrent VtkPlotter object.
void IG::Gr3d::VtkPlotBase::AddActors ( params vtkActor[]  actors) [inline]

Adds the specified actors to the list of actors of the current VTK plotter.

Parameters:
actorsObjects to be added to the list.
void IG::Gr3d::VtkPlotBase::AddActorsToPlotter ( ) [inline]

Adds all actors from the current plot to the plotter that this plot is assigned to.

void IG::Gr3d::VtkPlotBase::AddActorsToPlotter ( VtkPlotter  plotter) [inline]

Adds all actors from the current plot to the specified plotter.

Parameters:
plotterPlotter to which actors from the current plot are added.
void IG::Gr3d::VtkPlotBase::RemoveActor ( vtkActor  actor) [inline]

Removes the specified actor from the list of actors of the current VTK plotter, and disposes unmanaged resources used by that object. If the specified object is not on the list of actors then nothing happens.

Parameters:
actorVTK Actor to be removed from the currrent VtkPlotter object.
void IG::Gr3d::VtkPlotBase::RemoveActors ( params vtkActor[]  actors) [inline]

Removes the specified actors from the list of actors of the current VTK plotter, and disposes unmanaged resources used by that objects. If no objects are specified then nothing happens. Also for the specified objects that are null or are not on the list, nothing happens. If removing one of the objects throws an exception then the remaining objects are removed without any disturbance.

Parameters:
actorsObjects to be removed from the list.
void IG::Gr3d::VtkPlotBase::RemoveActors ( ) [inline]

Removes all actors that are currently contained on the list of actors of the current object.

void IG::Gr3d::VtkPlotBase::UpdateBoundsOnActors ( IBoundingBox  bounds) [inline]

Updates the specified bounding box in such a way that all actors from the current plot object fit into it.

Parameters:
boundsBounds to be updated.
void IG::Gr3d::VtkPlotBase::ScaleActors ( ) [inline]

Scales all actors on the current plot by the plotter's scaling method.

bool IG::Gr3d::VtkPlotBase::ContainsAlgorithm ( vtkAlgorithm  algorithm) [inline]

Returns true if the specified VTK algorithm is contained on (registered with) the current VtkPlotter object, or false otherwise.

Parameters:
algorithmobject to be checked.
void IG::Gr3d::VtkPlotBase::AddAlgorithm ( vtkAlgorithm  algorithm) [inline]

Adds the specified algorithm to the list of algorithms of the current VTK plotter. If the object is already on the list of algorithms then it is not inserted again.

Parameters:
algorithmVTK algorithm to be added on the currrent VtkPlotter object.
void IG::Gr3d::VtkPlotBase::AddAlgorithms ( params vtkAlgorithm[]  algorithms) [inline]

Adds the specified algorithms to the list of algorithms of the current VTK plotter.

Parameters:
algorithmsObjects to be added to the list.
void IG::Gr3d::VtkPlotBase::RemoveAlgorithm ( vtkAlgorithm  algorithm) [inline]

Removes the specified algorithm from the list of algorithms of the current VTK plotter, and disposes unmanaged resources used by that object. If the specified object is not on the list of algorithms then nothing happens.

Parameters:
algorithmVTK algorithm to be removed from the currrent VtkPlotter object.
void IG::Gr3d::VtkPlotBase::RemoveAlgorithms ( params vtkAlgorithm[]  algorithms) [inline]

Removes the specified algorithms from the list of algorithms of the current VTK plotter, and disposes unmanaged resources used by that objects. If no objects are specified then nothing happens. Also for the specified objects that are null or are not on the list, nothing happens. If removing one of the objects throws an exception then the remaining objects are removed without any disturbance.

Parameters:
algorithmsObjects to be removed from the list.
bool IG::Gr3d::VtkPlotBase::ContainsMapper ( vtkMapper  mapper) [inline]

Returns true if the specified VTK mapper is contained on (registered with) the current VtkPlotter object, or false otherwise.

Parameters:
mapperMapper to be checked.
void IG::Gr3d::VtkPlotBase::AddMapper ( vtkMapper  mapper) [inline]

Adds the specified mapper to the list of mappers of the current VTK plotter. If the object is already on the list of mappers then it is not inserted again.

Parameters:
mapperVTK mapper to be added on the currrent VtkPlotter object.
void IG::Gr3d::VtkPlotBase::AddMappers ( params vtkMapper[]  mappers) [inline]

Adds the specified mappers to the list of mappers of the current VTK plotter.

Parameters:
mappersObjects to be added to the list.
void IG::Gr3d::VtkPlotBase::RemoveMapper ( vtkMapper  mapper) [inline]

Removes the specified mapper from the list of mappers of the current VTK plotter, and disposes unmanaged resources used by that object. If the specified object is not on the list of mappers then nothing happens.

Parameters:
mapperVTK mapper to be removed from the currrent VtkPlotter object.
void IG::Gr3d::VtkPlotBase::RemoveMappers ( params vtkMapper[]  mappers) [inline]

Removes the specified mappers from the list of mappers of the current VTK plotter, and disposes unmanaged resources used by that objects. If no objects are specified then nothing happens. Also for the specified objects that are null or are not on the list, nothing happens. If removing one of the objects throws an exception then the remaining objects are removed without any disturbance.

Parameters:
mappersObjects to be removed from the list.
bool IG::Gr3d::VtkPlotBase::ContainsDataset ( vtkDataSet  dataset) [inline]

Returns true if the specified VTK dataset is contained on (registered with) the current VtkPlotter object, or false otherwise.

Parameters:
datasetdataset to be checked.
void IG::Gr3d::VtkPlotBase::AddDataset ( vtkDataSet  dataset) [inline]

Adds the specified dataset to the list of datasets of the current VTK plotter. If the object is already on the list of datasets then it is not inserted again.

Parameters:
datasetVTK dataset to be added on the currrent VtkPlotter object.
void IG::Gr3d::VtkPlotBase::AddDatasets ( params vtkDataSet[]  datasets) [inline]

Adds the specified datasets to the list of datasets of the current VTK plotter.

Parameters:
datasetsObjects to be added to the list.
void IG::Gr3d::VtkPlotBase::RemoveDataset ( vtkDataSet  dataset) [inline]

Removes the specified dataset from the list of datasets of the current VTK plotter, and disposes unmanaged resources used by that object. If the specified object is not on the list of datasets then nothing happens.

Parameters:
datasetVTK dataset to be removed from the currrent VtkPlotter object.
void IG::Gr3d::VtkPlotBase::RemoveDatasets ( params vtkDataSet[]  datasets) [inline]

Removes the specified datasets from the list of datasets of the current VTK plotter, and disposes unmanaged resources used by that objects. If no objects are specified then nothing happens. Also for the specified objects that are null or are not on the list, nothing happens. If removing one of the objects throws an exception then the remaining objects are removed without any disturbance.

Parameters:
datasetsObjects to be removed from the list.
void IG::Gr3d::VtkPlotBase::UpdateBoundsCoordinates ( bool  forced,
double  x,
double  y,
double  z 
) [inline]

Updates the bounding box of coordinates (BoundsCoordinates), if the conditions are met, in such a way that the point with the specified coordinates fits witin it. Conditions are met if the forced flag is true or the AutoUpdateBoundsCoordinates flag is true.

Parameters:
forcedFlag for forced update. If true then update is performed even if the auto updating flg (AutoUpdateBoundsCoordinates) is false.
xX coordinate of the point to fit within the bounding box.
yY coordinate of the point to fit within the bounding box.
zZ coordinate of the point to fit within the bounding box.
void IG::Gr3d::VtkPlotBase::UpdateBoundsCoordinates ( double  x,
double  y,
double  z 
) [inline]

Updates the bounding box of coordinates (BoundsCoordinates), if the AutoUpdateBoundsCoordinates flag is true, in such a way that the point with the specified coordinates fits witin it.

(AutoUpdateBoundsCoordinates) is false.

Parameters:
xX coordinate of the point to fit within the bounding box.
yY coordinate of the point to fit within the bounding box.
zZ coordinate of the point to fit within the bounding box.
void IG::Gr3d::VtkPlotBase::UpdateBoundsCoordinates ( bool  forced,
vec3  pointCoordinates 
) [inline]

Updates the bounding box of coordinates (BoundsCoordinates), if the conditions are met, in such a way that the point with the specified coordinates fits witin it. Conditions are met if the forced flag is true or the AutoUpdateBoundsCoordinates flag is true.

Parameters:
forcedFlag for forced update. If true then update is performed even if the auto updating flg (AutoUpdateBoundsCoordinates) is false.
pointCoordinatesCoordinates of the point to fit within the bounding box.
void IG::Gr3d::VtkPlotBase::UpdateBoundsCoordinates ( vec3  pointCoordinates) [inline]

Updates the bounding box of coordinates (BoundsCoordinates), if the AutoUpdateBoundsCoordinates flag is true, in such a way that the point with the specified coordinates fits witin it.

(AutoUpdateBoundsCoordinates) is false.

Parameters:
pointCoordinatesCoordinates of the point to fit within the bounding box.
abstract void IG::Gr3d::VtkPlotBase::Create ( ) [pure virtual]

Creates the plot.

Implemented in IG::Gr3d::VtkCurvePlot, and IG::Gr3d::VtkSurfacePlot.

virtual void IG::Gr3d::VtkPlotBase::ShowPlot ( ) [inline, virtual]

Makes the associated plotter show the plots that are currently added. Warning: this does not create a plot.

virtual void IG::Gr3d::VtkPlotBase::CreateAndShow ( ) [inline, virtual]

Creates the plot and makes the associated plotter show it.

void IG::Gr3d::VtkPlotBase::Dispose ( ) [inline]

Implementation of IDisposable interface.

virtual void IG::Gr3d::VtkPlotBase::Dispose ( bool  disposing) [inline, protected, virtual]

Does the job of freeing resources. This method can be eventually overridden in derived classes (if they use other resources that must be freed - in addition to such resources of the current class). In the case of overriding this method, you should usually call the base.Dispose(disposing ). in the overriding method.

Parameters:
disposingTells whether the method has been called form Dispose() method.
static void IG::Gr3d::VtkPlotBase::ExampleCustomSurfaceComparison ( ) [inline, static]

Custom comparison of two surfaces in 3D defined as functions of two variables. On the main surface, wireframe is shown, surface is transparent and its color varies according to difference with the other surface.The second surface is a wireframe and is very transparent.

static void IG::Gr3d::VtkPlotBase::ExampleCurvePlotLissajous ( ) [inline, static]

Example curve plot. Plots a curve whose projection on the XY plane is a Lissajous curve, but which also oscillates in the Z direction.

static void IG::Gr3d::VtkPlotBase::ExampleCurvePlotLissajous ( int  a,
int  b 
) [inline, static]

Example curve plot. Plots a curve whose projection on the XY plane is a Lissajous curve, but which also oscillates in the Z direction.

Parameters:
aFirst parameter of the plotted Lissajous curve.
bSecond parameter of the plotted Lissajous curve.

Lissajous curves are well known from fugures created on oscilloscopes when the apparatus is connected to two oscillating voltages with different frequences (in ratios that can be )

static void IG::Gr3d::VtkPlotBase::ExampleCurvePlotTorusKnot ( ) [inline, static]

Example curve plot. Plots a curve whose projection on the XY plane is a Lissajous curve, but which also oscillates in the Z direction.

static void IG::Gr3d::VtkPlotBase::ExampleCurvePlotTorusKnot ( int  p,
int  q 
) [inline, static]

Example curve plot. Plots a two-parameters torus knot. Parameters must be coprimes.

Parameters:
pFirst parameter of the torus knot.
qSecond parameter of the torus knot.

Lissajous curves are well known from fugures created on oscilloscopes when the apparatus is connected to two oscillating voltages with different frequences (in ratios that can be )

static void IG::Gr3d::VtkPlotBase::ExamplePlotterDecoration ( ) [inline, static]

Example that demonstrates how various plotter decorations can be set up.

static void IG::Gr3d::VtkPlotBase::ExampleSurfacePlot ( ) [inline, static]

Example of surface plots.

static void IG::Gr3d::VtkPlotBase::ExampleSurfacePlotScaled ( ) [inline, static]

Example of surface plots where graph is scaled automaticallly.

static void IG::Gr3d::VtkPlotBase::ExampleSurfacePlotScaled ( int  numX,
int  numY 
) [inline, static]

Example of surface plots where graph is scaled automatically.

Parameters:
numXNumber of plotting points in x direction.
numYNumber of plotting points in Y direction.
static void IG::Gr3d::VtkPlotBase::ExampleSurfacePlotManualScaled ( ) [inline, static]

Example of surface plots where mesh is generated manually. Also shows scaling of graph.

static void IG::Gr3d::VtkPlotBase::ExampleSurfacePlotManualScaled ( int  numX,
int  numY 
) [inline, static]

Example of surface plots where mesh is generated manually. Also shows scaling of graph.

Parameters:
numXNumber of plotting points in x direction.
numYNumber of plotting points in Y direction.
static void IG::Gr3d::VtkPlotBase::ExampleContourPlot ( ) [inline, static]

Examples of contour plots.

static void IG::Gr3d::VtkPlotBase::CopyBounds ( Func3d2dExamples.ParametricSurface  func,
VtkSurfacePlot  plot 
) [inline, static]

Copies bounds on parameters from the function definition of parametric surface to a plot object for plotting surfaces.

static void IG::Gr3d::VtkPlotBase::ExampleParametricSurfacePlots ( ) [inline, static]

Examples of various parametric surface plots.


Member Data Documentation

object IG::Gr3d::VtkPlotBase::_mainLock = new object() [private]
int IG::Gr3d::VtkPlotBase::_outputLevel = VtkPlotter.DefaultOutputLevel [private]
List<vtkActor> IG::Gr3d::VtkPlotBase::_actors [protected]
List<vtkAlgorithm> IG::Gr3d::VtkPlotBase::_algorithms [protected]
List<vtkMapper> IG::Gr3d::VtkPlotBase::_mappers [protected]
List<vtkDataSet> IG::Gr3d::VtkPlotBase::_dataSets [protected]
bool IG::Gr3d::VtkPlotBase::disposed = false [private]

First uxiliary function used in examples.

Second uxiliary function used in examples.


Property Documentation

object IG::Gr3d::VtkPlotBase::Lock [get]

This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock.

Implements IG::Lib::ILockable.

int IG::Gr3d::VtkPlotBase::OutputLevel [get, set]

Level of output to the console for the current object. The defalult output level for newly created object is specified by VtkPlotter.DefaultOutputLevel.

StopWatch IG::Gr3d::VtkPlotBase::Timer [get]

Stopwatch that can be used to measure the time efficiency of actions.

color IG::Gr3d::VtkPlotBase::BackGround [get, set]

Sets background color of the plotter that is used by the current plot object. Task is delegated to the plotter.

VtkPlotter IG::Gr3d::VtkPlotBase::Plotter [get, set]

VTK plotter that is used for rendering graphics produeced by the current plotting class, on a VTK rendering window. Getter is not thread safe (for better efficiency).

List<vtkActor> IG::Gr3d::VtkPlotBase::Actors [get, set, protected]

List of actors contained on the current class. Setter is thread safe.Lazy evaluation - list object is automatically generated when first accessed.

List<vtkAlgorithm> IG::Gr3d::VtkPlotBase::algorithms [get, set, protected]

List of algorithms contained on the current class. Setter is thread safe.Lazy evaluation - list object is automatically generated when first accessed.

List<vtkMapper> IG::Gr3d::VtkPlotBase::Mappers [get, set, protected]

List of mappers contained on the current class. Setter is thread safe.Lazy evaluation - list object is automatically generated when first accessed.

List<vtkDataSet> IG::Gr3d::VtkPlotBase::DataSets [get, set, protected]

List of datasets contained on the current class. Setter is thread safe.Lazy evaluation - list object is automatically generated when first accessed.

bool IG::Gr3d::VtkPlotBase::AutoUpdateBoundsCoordinates [get, set]

Determines whether bounds on plotted geometry are automatically updated when new primitives are added.

BoundingBox3d IG::Gr3d::VtkPlotBase::BoundsCoordinates [get, set]

Bounds on coordinates of points that define the plots. everything on the plot should fit in these bounds.


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