DESCRIPTION:

The Render container acts as an interface for a VTK render engine offering several interaction possibilities. For more information on VTK see "The Visualization Toolkit" - http://public.kitware.com/VTK/.

NEO CREATION:

Window title:
The name of the NST RGB-3d window which is created for the render output. Note, that embedding of this window type is realized with "=::"
Window width:
Default width of output window.
Window height:
Default height of output window.
Position x:
Default window position (x-coordinate), when not embedded.
Position y:
Default window position (y-coordinate), when not embedded.
Options:
Allows to specify a set of options, e.g. "%H" for an initial hiding of the output window, "%!name" to set a callback which is called, when an object is picked.

EXECUTION:

Execution of the created unit does nothing. However, execution of any of its named subunits (via use_named or use_method) invokes the corresponding C++ class method. The interface of each named subunit provides inputs and outputs for the corresponding method.

INTERACTION:

The VTK render window offers the following key and mouse bindings
"w":
wire rendering of all actors
"s":
solid rendering of all actors
"t":
trackball mode (scene will updated with every single mouse events)
"j":
joystick mode (scene will be updated continuously, with "speed" proportional to the distance of the mouse pointer to the center of the VTK window)
"p":
picks an object and highlights the corresponding actor with a red frame
"g":
pick (grab) an object without highlighting it
"f":
pick and "fly" to the object
"r":
resets camera automatically based on visible actors
"R":
resets camera to default position
"o":
toggle between parallel and perspective projection
"c":
camera mode, mouse interactions will change camera position
"a":
actor mode, applies mouse interactions to picked actor
left mouse button:
rotate scene
mid mouse button:
translate scene
right mouse button:
zoom into/outof scene

INTERFACES AND DESCRIPTION of named subunits:

Update:
Execution will add and remove pending actors (e.g. text actors which have been added to the scene) and execute the VTK rendering pipeline.
GetImage:
Output field 0:
(dynamic packed byte) containing RGB triples
Execution will copy the pixel content of the render window as a sequence of RGB byte triples to the dynamic output pin.
Set:Backgnd:
Input field 0:
(float 3) RGB values (in the range [0..1])
Execution will set the background color of the render window.
Set:ParProj:
Input field 0:
(float 1) boolean value (0=false, 1=true)
Execution will enable/disable the parallel projection mode of the renderer.
Set:Light_FllwCam:
Input field 0:
(float 1) boolean value (0=false, 1=true)
Execution will enable/disable the light following mode. If true, the light follows the current camera position, and therefore the scene will always be illumination from the "front" - this is the default behaviour.
Set:PickTol:
Input field 0:
(float 1) pick tolerance
Specify tolerance for performing pick operation. Tolerance is specified as fraction of rendering window size. (Rendering window size is measured across diagonal.) The default value is 0.025;
World2Win:
Input field 0:
(float 3) xyz world point coordinates
Output field 0:
(float 3) xyz display (screen) coordinates
Exection converts world point coordinates to display (or screen) coordinates.
Win2World:
Input field 0:
(float 3) xyz display (screen) coordinates
Output field 0:
(float 3) xyz world point coordinates
Execution converts display (or screen) coordinates to world coordinates.
Camera:Set:ViewAngle:
Input field 0:
(float 1) angle in degrees
Set the camera view angle, which is the angular height of the camera view measured in degrees. The default angle is 30 degrees. This method has no effect in parallel projection mode. The formula for setting the angle up for perfect perspective viewing is: angle = 2*atan((h/2)/d) where h is the height of the RenderWindow (measured in mm by holding a ruler up to your screen) and d is the distance from your eyes to the screen.
Camera:Set:View:
Input field 0:
(float 3) position vector
Input field 1:
(float 3) focal point vector
Input field 2:
(float 3) view up vector
Sets the camera's view transformation: The position of the camera in world coordinates. The default position is (0,0,1). The focal of the camera in world coordinates. The default focal point is the origin. The view up direction for the camera. The default is (0,1,0).
Camera:Set:Orientation:
Input field 0:
(float 3):
Pin 0:
elevation
Pin 1:
azimuth
Pin 2:
position
Sets the camera's orientation: Sets the position of the camera in world coordinates to (0,0,position), the view up direction for the camera to (0,1,0) and the focal point of the camera to the origin (0,0,0). It then rotates the camera about the cross product of the direction of projection and the view up vector centered on the focal point and additionally about the view up vector centered at the focal point.
Camera:Set:TM:
Input field 0:
(float 16)
Sets the camera's view transformation according to this transformation matrix.
Camera:Get:ViewAngle:
Output field 0:
(float 1) angle in degrees
Get the camera view angle, for a description see Camera:Set:ViewAngle
Camera:Get:View:
Output field 0:
(float 3) position vector
Output field 1:
(float 3) focal point vector
Output field 2:
(float 3) view up vector
Gets the camera's view transformation, for a description see Camera:Set:View
Camera:Get:Orientation:
Output field 0:
(float 3):
Pin 0:
elevation
Pin 1:
azimuth
Pin 2:
position
Gets the camera's orientation, for a description see Camera:Set:Orientation
Camera:Reset:
Automatically set up the camera based on the visible actors. The camera will reposition itself to view the center point of the actors, and move along its initial view plane normal (i.e., vector defined from camera position to focal point) so that all of the actors can be seen.

FILE

nst_vtk.cc