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