PCLVisualizer¶
-
MLModule
¶ genre PCLVisualization
author Wolf Spindler
package FMEwork/ReleaseMeVis
dll MLPCLVisualization
definition MLPCLVisualization.def inherits from PCLModule
keywords points
,clouds
,PCL
,display
,visualizer
,show
,render
Purpose¶
PCLVisualizer
is an experimental wrapper module around the pcl::visualization::PCLVisualizer class. It displays connected point clouds in a QVTKWidget. See pcl::visualization::PCLVisualization for details. It has two window panels, the first one displaying connected point clouds in a 3D vtk viewer, and the second one, which provides parameters to control the contents of the first window.
Note that PCLVisualizer
is a draft and not all of its features are considered stable.
Interaction¶
The parameter panel can be opened with the right mouse button menu on the module with Show Window -> Parameters. For supported keyboard interaction see pcl::visualization::PCLVisualizerInteractorStyle. Note that some of the interactions are not controlled via the MeVisLab module binding and may have side effects. They may be not enabled, have no effect or store/files to the current working directories. Also keyboard interaction states are not saved together with the module state.
Input Fields¶
inputPCLObject0¶
-
name:
inputPCLObject0
, type:
MLBase
¶ Connect the point cloud which shall be displayed by the module.
input0¶
-
name:
input0
, type:
Image
¶ An optional ML image input from which the scale of the coordinate system is calculates; if this input is left open then the scale is assumed as 1. See
Show Coordinate System
.
Output Fields¶
outputvtkMLQtParent¶
-
name:
outputvtkMLQtParent
, type:
MLBase
¶ Advanced: A connector to other vtk modules which want to make use of the internally created vtkMLQtParent object which contains the QVTKWidget and its parent which are used to embed the PCLVisualizer in the MeVisLab GUI window.
outputvtkMLQtRenderWindow¶
-
name:
outputvtkMLQtRenderWindow
, type:
MLBase
¶ A connector to other vtk modules which want to make use of the internally created vtkRenderWindow which is created within the PCLVisualizer and which is embedded in the MeVisLabGUI from inside a QVTKWidget; it will point to NULL if no window is available.
output0¶
-
name:
output0
, type:
Image
¶ This is the image output for snapshots. It will be invalid if no snapshot has been performed, otherwise it will be an RGBA image created with
Create Snapshot
.
outputvtkRenderer¶
-
name:
outputvtkRenderer
, type:
MLBase
¶ A connector to other vtk modules which want to make use of the internally created vtkRenderer which is created within the PCLVisualizer; it will point to NULL if no renderer is available. Note that this vtkRenderer output is of experimental nature and may not be reliable. Especially if
Show Orientation Marker Widget Axes
is enabled it seems to be instable.
Parameter Fields¶
Field Index¶
Background Color : Color |
Camera Window Center : Vector2 |
Render Area Hint YSize : Integer |
Camera Distance : Double |
Create Snapshot : Trigger |
Reset Camera On Input Change : Enum |
Camera Focal Point : Vector3 |
Current Render Area Size X : Integer |
Show Coordinate System : Bool |
Camera Parallel Scale : Double |
Current Render Area Size Y : Integer |
Show Frames Per Seconds : Bool |
Camera Position : Vector3 |
Get Render Area Extents : Trigger |
Show Orientation Marker Widget Axes : Bool |
Camera Roll : Double |
Point Size : Double |
Status : String |
Camera State Valid : Bool |
Recent Selection Is Valid : Bool |
View All : Trigger |
Camera View Angle : Double |
Recently Selected Point Index : Integer |
vtkMLQtRenderWindow : String |
Camera View Plane Normal : Vector3 |
Recently Selected Point Position : Vector3 |
|
Camera View Up : Vector3 |
Render Area Hint XSize : Integer |
Visible Fields¶
Show Frames Per Seconds¶
-
name:
showFramesPerSeconds
, type:
Bool
, default:
FALSE
¶ If enabled it displays the number of redrawn frames per second in the render window of this module, otherwise this value is not displayed.
Show Orientation Marker Widget Axes¶
-
name:
showOrientationMarkerWidgetAxes
, type:
Bool
, default:
FALSE
¶ Enables/disables the display of the orientation axes marker. Note that the position of this marker is not stored with the saved.
Show Coordinate System¶
-
name:
showCoordinateSystem
, type:
Bool
, default:
FALSE
¶ Enables/Disables the coordinate system display in the viewer. If available then scale is determined from the maximum extent in x/y/z dimension of the input image extent multiplied with its voxel size. If no input image is provided at
input0
then the scaling is set to 1.
Point Size¶
-
name:
pointSize
, type:
Double
, default:
1
¶ Passes a hint for the point size to the renderer.
Background Color¶
-
name:
backgroundColor
, type:
Color
, default:
0 0 0
¶ Specifies the background color in the render window of this module as red, green and blue value.
Reset Camera On Input Change¶
-
name:
resetCameraOnInputChange
, type:
Enum
, default:
ViewAll
¶ Controls how the camera (if there is any) is adjusted if the input changes. Normally the position of the camera (if the display is open) is saved with the network. It will be restored, if possible, when the module is reloaded.
Values:
Title | Name | Description |
---|---|---|
View All | ViewAll | Many settings are left unchanged, but the entire scene is moved into visibly area. |
No Change | NoChange | The camera is left unchanged even if new or changed scene objects may not be visible. Take care with this mode because newly connected point clouds may not be (completely) visibly. You may need to type “R” in the display to refocus the camera to view all. |
Create Snapshot¶
Camera State Valid¶
-
name:
cameraStateValid
, type:
Bool
, default:
FALSE
¶ True if a valid camera state is stored in the fields, otherwise false. This flag is set automatically together with the camera parameters whenever the module is saved.
Camera Position¶
-
name:
cameraPosition
, type:
Vector3
, default:
0 0 1
¶ Contains the recently stored position of the camera.
Camera Focal Point¶
-
name:
cameraFocalPoint
, type:
Vector3
, default:
0 0 0
¶ Contains the recently stored focal point of the camera.
Camera View Up¶
-
name:
cameraViewUp
, type:
Vector3
, default:
0 1 0
¶ Contains the recently stored view up vector of the camera.
Camera View Plane Normal¶
-
name:
cameraViewPlaneNormal
, type:
Vector3
, default:
0 0 1
¶ Contains the recently stored view plane normal of the camera.
Camera Window Center¶
-
name:
cameraWindowCenter
, type:
Vector2
, default:
0 0
¶ Contains the recently stored window center of the camera.
Camera Distance¶
-
name:
cameraDistance
, type:
Double
, default:
1
¶ Contains the recently stored distance of the camera.
Camera Roll¶
-
name:
cameraRoll
, type:
Double
, default:
0
¶ Contains the recently stored roll of the camera.
Camera View Angle¶
-
name:
cameraViewAngle
, type:
Double
, default:
30
¶ Contains the recently stored view angle of the camera.
Camera Parallel Scale¶
-
name:
cameraParallelScale
, type:
Double
, default:
1
¶ Contains the recently stored parallel scale of the camera.
Recent Selection Is Valid¶
-
name:
recentSelectionIsValid
, type:
Bool
, persistent:
no
¶ Indicates whether the contents of
Recently Selected Point Index
andRecently Selected Point Position
are valid. Points can be selected in the display with Shift+Left Mouse.
Recently Selected Point Position¶
-
name:
recentlySelectedPointPosition
, type:
Vector3
, persistent:
no
¶ The recently selected point position; only valid if
Recent Selection Is Valid
is true. Points can be selected in the display with Shift+Left Mouse.
Recently Selected Point Index¶
-
name:
recentlySelectedPointIndex
, type:
Integer
, persistent:
no
¶ The recently selected point index; only valid if
Recent Selection Is Valid
is true. Points can be selected in the display with Shift+Left Mouse.
Render Area Hint XSize¶
-
name:
renderAreaHintXSize
, type:
Integer
, default:
200
¶ Proposes the x extent of render area in the
PCLVisualizer
module. This, however, strongly depends on the used window manager and user interface mechanisms and is only a hint therefore. Note that this value is not used when the module is reloaded; in that case the normally saved window position is restored with the network reload. You need to touchGet Render Area Extents
explicitly to set up the extent.
Render Area Hint YSize¶
-
name:
renderAreaHintYSize
, type:
Integer
, default:
200
¶ Proposes the y extent of render area in the
PCLVisualizer
module. This, however, strongly depends on the used window manager and user interface mechanisms and is only a hint therefore.
Current Render Area Size X¶
-
name:
currentRenderAreaSizeX
, type:
Integer
, persistent:
no
¶ Same as
Render Area Hint XSize
, only for the y extent.
Current Render Area Size Y¶
-
name:
currentRenderAreaSizeY
, type:
Integer
, persistent:
no
¶ Shows the extent of the current render area in y dimension after
Get Render Area Extents
(or 0 if that is not visible). SeeGet Render Area Extents
for details.
Get Render Area Extents¶
-
name:
getRenderAreaExtents
, type:
Trigger
¶ Notifying this field determines the current x and y extents of the render area if it is visible, otherwise the extents are set to 0. These extents are written into
Current Render Area Size X
andCurrent Render Area Size Y
.