Functions | |
void | AddCoordinateAxes (LONG id, DOUBLE vx, DOUBLE vy, DOUBLE vz, DOUBLE theta, DOUBLE tx, DOUBLE ty, DOUBLE tz, DOUBLE size) |
Display a 3D coordinate indicator with specified orientation and position in the 3D viewer. More... | |
void | AddLabel (BSTR text, LONG color, LONG size, DOUBLE opacity, enum Core3DViewerHorizontalTextAlignment horAlignment, enum Core3DViewerVerticalTextAlignment vertAlignment, LONG id, DOUBLE x, DOUBLE y) |
Add a new label to the 3D display. More... | |
VARIANT_BOOL | AddPointCloudSolid (LONGLONG pointCloudHandle, OLE_COLOR color, DOUBLE opacity, DOUBLE pointSize, DOUBLE lineWidth, LONG id) |
Add a new point cloud to the 3D display with uniformly colored points. More... | |
VARIANT_BOOL | AddPointCloudVariable (LONGLONG pointCloudHandle, DOUBLE hueMin, DOUBLE hueMax, DOUBLE saturationMin, DOUBLE saturationMax, DOUBLE valueMin, DOUBLE valueMax, DOUBLE opacity, DOUBLE pointSize, DOUBLE lineWidth, LONG id) |
Add a new point cloud to the 3D display with point colors corresponding to the points' z value. More... | |
void | AddPointMarker (BSTR text, OLE_COLOR color, DOUBLE size, DOUBLE opacity, LONG id, DOUBLE x, DOUBLE y, DOUBLE z, VARIANT_BOOL reverse) |
Add a new point marker to the 3D display. More... | |
LONG | GetCoordinateAxesId (LONG coordinateAxesNumber) |
Retrieve the id of the n-th coordinate indicator. More... | |
LONG | GetLabelId (LONG labelNumber) |
Retrieve the id of the n-th label overlay. More... | |
LONGLONG | GetPointCloud (LONG id) |
Retrieve the handle of a point cloud that is currently being displayed. More... | |
OLE_COLOR | GetPointCloudColor (LONG id) |
Retrieves the currently used rendering color for a point cloud. More... | |
LONG | GetPointCloudId (LONG pointCloudNumber) |
Retrieve the id of the n-th point cloud. More... | |
DOUBLE | GetPointCloudLineWidth (LONG id) |
Retrieves the currently used line width for a point cloud. More... | |
VARIANT_BOOL | GetPointCloudLutRanges (LONG id, DOUBLE *hueMin, DOUBLE *hueMax, DOUBLE *saturationMin, DOUBLE *saturationMax, DOUBLE *valueMin, DOUBLE *valueMax) |
Query the current LUT parameters for point cloud visualization. More... | |
DOUBLE | GetPointCloudOpacity (LONG id) |
Retrieves the currently used opacity for a point cloud. More... | |
DOUBLE | GetPointCloudPointSize (LONG id) |
Retrieves the currently used point size for a point cloud. More... | |
enum Core3DViewerVisualizationMode | GetPointCloudVisualizationMode (LONG id) |
Queries the current visualization mode of the referenced point cloud. More... | |
LONG | GetPointMarkerId (LONG pointMarkerNumber) |
Retrieve the id of the n-th point marker. More... | |
VARIANT_BOOL | GetSelectedVolume (DOUBLE *xmin, DOUBLE *xmax, DOUBLE *ymin, DOUBLE *ymax, DOUBLE *zmin, DOUBLE *zmax) |
Retrieve the current extent in x, y and z direction of the volume of interest selector. More... | |
VARIANT_BOOL | HasLabel (LONG id) |
Check if a label with the given id exists. More... | |
VARIANT_BOOL | HasPointCloud (LONG id) |
Check if a point cloud with the given id exists. More... | |
VARIANT_BOOL | HasPointMarker (LONG id) |
Check if a point marker with the given id exists. More... | |
void | RemoveAllCoordinateAxes () |
Remove all coordinate indicators from the 3D display. More... | |
void | RemoveAllLabels () |
Remove all currently visible label overlays from the 3D display. More... | |
void | RemoveAllObjects () |
Remove all currently visible objects from the 3D display. More... | |
void | RemoveAllPointClouds () |
Remove all currently visible point clouds from the 3D display. More... | |
void | RemoveAllPointMarkers () |
Remove all currently visible point markers from the 3D display. More... | |
void | RemoveCoordinateAxes (LONG id) |
Remove a coordinate indicator from the 3D display. More... | |
void | RemoveLabel (LONG id) |
Remove a label overlay from the 3D display. More... | |
void | RemovePointCloud (LONG id) |
Remove a point cloud from the 3D display. More... | |
void | RemovePointMarker (LONG id) |
Remove a point marker from the 3D display. More... | |
LONGLONG | RenderWindowToImage () |
Take a snapshot of the current 3D display render window. More... | |
void | ResetCamera () |
Auto-align the camera parameters taking account the currently visible objects. More... | |
void | SetBackground (OLE_COLOR color) |
Set the background color of the 3D viewer to a solid color. More... | |
void | SetBackgroundGradient (OLE_COLOR color1, OLE_COLOR color2) |
Set the background of the 3D viewer to a gradient color scheme. More... | |
void | SetCameraAzimuth (DOUBLE angle) |
Rotate the camera horizontally. More... | |
void | SetCameraElevation (DOUBLE angle) |
Rotate the camera in the up/down direction. More... | |
void | SetCameraRoll (DOUBLE angle) |
Rotate the camera around the viewing direction. More... | |
void | SetCameraZoom (DOUBLE factor) |
Modify the viewing angle. More... | |
void | SetPointCloudColor (LONG id, OLE_COLOR color) |
Sets a rendering color for a point cloud and change the visualization mode to solid coloring. More... | |
void | SetPointCloudLineWidth (LONG id, DOUBLE lineWidth) |
Sets the line width for rendering a point cloud. More... | |
VARIANT_BOOL | SetPointCloudLutRanges (LONG id, DOUBLE hueMin, DOUBLE hueMax, DOUBLE saturationMin, DOUBLE saturationMax, DOUBLE valueMin, DOUBLE valueMax) |
Change the point cloud visualization mode to color range and/or redefine the lookup-tables. More... | |
void | SetPointCloudOpacity (LONG id, DOUBLE opacity) |
Sets the opacity for rendering a point cloud. More... | |
void | SetPointCloudPointSize (LONG id, DOUBLE pointSize) |
Sets the point size for rendering a point cloud. More... | |
void AddCoordinateAxes | ( | LONG | id, |
DOUBLE | vx, | ||
DOUBLE | vy, | ||
DOUBLE | vz, | ||
DOUBLE | theta, | ||
DOUBLE | tx, | ||
DOUBLE | ty, | ||
DOUBLE | tz, | ||
DOUBLE | size | ||
) |
Display a 3D coordinate indicator with specified orientation and position in the 3D viewer.
The coordinate indicator will be displayed at the specified position, in specified orientation and size. The orientation is given in axis/angle format, i.e. a direction vector (the eigen vector of the rotation) and the amount of rotation around this vector. There can be an unlimited number of coordinate indicators in the 3D viewer, each one identified by a unique ID. If a coordinate indicator with an equal ID already exists, orientation and position of this indicator will be updated. To remove the coordinate indicator, see RemoveCoordinateAxes.
Example: AddCoordinateAxes(101, 0, 0, 1, 90, 10, 3, 0, 5) will display a coordinate indicator
[in] | Unique | identifier ID of the coordinate indicator. If a coordinator indicator with an equal ID exists, it will be updated correspondingly. |
[in] | vx | X-component of the rotation direction vector. |
[in] | vy | Y-component of the rotation direction vector. |
[in] | vz | Z-component of the rotation direction vector. |
[in] | theta | Rotation angle in degrees. |
[in] | tx | X-Coordinate of indicator's position. |
[in] | ty | Y-Coordinate of indicator's position. |
[in] | tz | Z-Coordinate of indicator's position. |
[in] | size | Lenght of indicator's coordinate axes. |
void AddLabel | ( | BSTR | text, |
LONG | color, | ||
LONG | size, | ||
DOUBLE | opacity, | ||
enum Core3DViewerHorizontalTextAlignment | horAlignment, | ||
enum Core3DViewerVerticalTextAlignment | vertAlignment, | ||
LONG | id, | ||
DOUBLE | x, | ||
DOUBLE | y | ||
) |
Add a new label to the 3D display.
A 'label' in the context of the 3D display control is a (usually short) piece of text to be displayed as an overlay over the scene. Labels will not scale with the scene's content, nor will they move when modifying the virtual camera's parameters.
The way AddLabel
acts depends on the id
parameter:
id
of a label that is already in use (i.e. AddLabel
has already been called to generate a label with that particular id
) then the existing label will be modified using the parameters provided in the AddLabel
call.Note that ids are handled separately for different types of display objects: A 3D display may simultaneously contain a label with id 0 (see AddLabel), a point cloud with id 0 (see AddPointCloudSolid) and a point marker with id 0 (see AddPointMarker).
[in] | text | Text to be displayed as a label overlay. |
[in] | color | Color to be used for displaying the label overlay. Color is specified using OLE_COLOR convention, meaning that it should be provided as an integer value where the lowest 8 bits represent the red channel's intensity, bits 8 to 15 represent the green channel's intensity and bits 16 to 23 represent the blue channel's intensity. The uppermost 8 bits are not evaluated and should be set to zero (in MFC applications the easiest way to build such a color value is to use the RGB(r, g, b) macro). |
[in] | size | Size (in pixels) of the text to be shown. |
[in] | opacity | Opacity of the text overlay when rendering. Specifying a value of 1.0 will make the overlay completely opaque, a value of 0.0 will make the overlay completely transparent. |
[in] | horAlignment | Horizontal text alignment. Text alignment is measured relative to the values specified in the parameters x and y . |
[in] | vertAlignment | Vertical text alignment. Text alignment is measured relative to the values specified in the parameters x and y . |
[in] | id | Numerical identified by which the text overlay can later on be accessed (e.g. in RemoveLabel or in another AddLabel call). |
[in] | x | Horizontal position of the label. Note that for the text overlays the 3D display uses homogeneous coordinates, i.e. a value of 0.0 represents the left edge of the display and a value of 1.0 represents the right edge of the display regardless of the actual size in pixels. |
[in] | y | Vertical position of the label. Note that for the text overlays the 3D display uses homogeneous coordinates, i.e. a value of 0.0 represents the top edge of the display and a value of 1.0 represents the bottom edge of the display regardless of the actual size in pixels. |
VARIANT_BOOL AddPointCloudSolid | ( | LONGLONG | pointCloudHandle, |
OLE_COLOR | color, | ||
DOUBLE | opacity, | ||
DOUBLE | pointSize, | ||
DOUBLE | lineWidth, | ||
LONG | id | ||
) |
Add a new point cloud to the 3D display with uniformly colored points.
A 'point cloud' in the context of the 3D display control is an object of type CVCOMPOSITE
that contains 3D point data. The 3D display always uses dense point clouds with floating-point-valued XYZ-data for display purposes. I a point cloud that does not meet these requirements is passed to AddPointCloudSolid
it will automatically be converted internally to a point cloud of the appropriate type.
While a point cloud is on display in a 3D display control, the control will increment its reference count by means of calling ShareObject
on its handle in order to keep it alive as long as it is required (if, however, the point cloud is converted internally to meet the display's format requirements the original point cloud's reference count will not be changed).
The way AddPointCloudSolid
acts depends on the id
parameter:
id
of a point cloud that is already in use (i.e. AddPointCloudSolid
has already been called to generate a point cloud with that particular id
) then the existing point cloud will be modified using the parameters provided in the AddPointCloudSolid
call.Note that ids are handled separately for different types of display objects: A 3D display may simultaneously contain a label with id 0 (see AddLabel), a point cloud with id 0 (see AddPointCloudSolid) and a point marker with id 0 (see AddPointMarker).
Note that it is also possible to use a color gradient rather than solid colored point clouds - this option often makes it easier to interpret the point cloud display. See AddPointCloudVariable
[in] | pointCloudHandle | Handle to the CVCOMPOSITE holding the point cloud data to be displayed. |
[in] | color | Color to be used for displaying the label overlay. Color is specified using OLE_COLOR convention, meaning that it should be provided as an integer value where the lowest 8 bits represent the red channel's intensity, bits 8 to 15 represent the green channel's intensity and bits 16 to 23 represent the blue channel's intensity. The uppermost 8 bits are not evaluated and should be set to zero (in MFC applications the easiest way to build such a color value is to use the RGB(r, g, b) macro). |
[in] | opacity | Opacity of the point cloud when rendering. Specifying a value of 1.0 will make the overlay completely opaque, a value of 0.0 will make the overlay completely transparent. |
[in] | pointSize | Size of the points on display (in 3D units). |
[in] | lineWidth | In case a wireframe is being displayed, the lineWidth parameter specifies the line width to be used for rendering (in 3D units). |
[in] | id | Numerical identified by which the point cloud can later on be accessed (e.g. in RemoveLabel or in another AddLabel call). |
TRUE
if a point cloud has been added, FALSE
otherwise (e.g. if pointCloudHandle
did not refer to a valid CVCOMPOSITE
object). VARIANT_BOOL AddPointCloudVariable | ( | LONGLONG | pointCloudHandle, |
DOUBLE | hueMin, | ||
DOUBLE | hueMax, | ||
DOUBLE | saturationMin, | ||
DOUBLE | saturationMax, | ||
DOUBLE | valueMin, | ||
DOUBLE | valueMax, | ||
DOUBLE | opacity, | ||
DOUBLE | pointSize, | ||
DOUBLE | lineWidth, | ||
LONG | id | ||
) |
Add a new point cloud to the 3D display with point colors corresponding to the points' z value.
A 'point cloud' in the context of the 3D display control is an object of type CVCOMPOSITE
that contains 3D point data. The 3D display always uses dense point clouds with floating-point-valued XYZ-data for display purposes. I a point cloud that does not meet these requirements is passed to AddPointCloudSolid
it will automatically be converted internally to a point cloud of the appropriate type.
While a point cloud is on display in a 3D display control, the control will increment its reference count by means of calling ShareObject
on its handle in order to keep it alive as long as it is required (if, however, the point cloud is converted internally to meet the display's format requirements the original point cloud's reference count will not be changed).
The way AddPointCloudVariable
acts depends on the id
parameter:
id
of a point cloud that is already in use (i.e. AddPointCloudVariable
has already been called to generate a point cloud with that particular id
) then the existing point cloud will be modified using the parameters provided in the AddPointCloudVariable
call.Note that ids are handled separately for different types of display objects: A 3D display may simultaneously contain a label with id 0 (see AddLabel), a point cloud with id 0 (see AddPointCloudVariable) and a point marker with id 0 (see AddPointMarker).
Note that it is also possible to use solid color rather than a color gradient to color point clouds - this option often makes it easier to interpret the point cloud display when comparing two point clouds. See AddPointCloudSolid
[in] | pointCloudHandle | Handle to the CVCOMPOSITE holding the point cloud data to be displayed. |
[in] | hueMin | Hue value to be assigned to the lowest z value. Value hue values are in the range [0...1] and are organized in a circle that starts (0.0) and ends (1.0) at the color red and cycles through yellow, green, cyan, blue and magenta in order of incrementing values. |
[in] | hueMax | Hue value to be assigned to the highest z value. Value hue values are in the range [0...1] and are organized in a circle that starts (0.0) and ends (1.0) at the color red and cycles through yellow, green, cyan, blue and magenta in order of incrementing values. |
[in] | saturationMin | Saturation value to be assigned to the lowest z value. Saturation Values are in the range [0...1] with 0.0 indicating completely unsaturated colors (i.e. gray scale) and 1.0 indicating fully saturated colors. |
[in] | saturationMax | Saturation value to be assigned to the highest z value. Saturation Values are in the range [0...1] with 0.0 indicating completely unsaturated colors (i.e. gray scale) and 1.0 indicating fully saturated colors. |
[in] | valueMin | Intensity value to be assigned to the lowest z value. Intensity values are in the range [0...1]. |
[in] | valueMax | Intensity value to be assigned to the highest z value. Intensity values are in the range [0...1]. |
[in] | opacity | Opacity of the point cloud when rendering. Specifying a value of 1.0 will make the overlay completely opaque, a value of 0.0 will make the overlay completely transparent. |
[in] | pointSize | Size of the points on display (in 3D units). |
[in] | lineWidth | In case a wireframe is being displayed, the lineWidth parameter specifies the line width to be used for rendering (in 3D units). |
[in] | id | Numerical identified by which the point cloud can later on be accessed (e.g. in RemoveLabel or in another AddLabel call). |
TRUE
if a point cloud has been added, FALSE
otherwise (e.g. if pointCloudHandle
did not refer to a valid CVCOMPOSITE
object).void AddPointMarker | ( | BSTR | text, |
OLE_COLOR | color, | ||
DOUBLE | size, | ||
DOUBLE | opacity, | ||
LONG | id, | ||
DOUBLE | x, | ||
DOUBLE | y, | ||
DOUBLE | z, | ||
VARIANT_BOOL | reverse | ||
) |
Add a new point marker to the 3D display.
A 'point marker' in the context of the 3D display control is an indicator that is hooked to a specific 3D position and accompanied by (usually short) piece of text to be displayed nearby. Unlike labels (see AddLabel), the display of point markers will be subject to changes in the parameters of the virtual camera, i. e. the text and the indicator will zoom (however, the text will always be upright and facing the camera).
The way AddPointMarker
acts depends on the id
parameter:
id
of a point marker that is already in use (i.e. AddPointMarker
has already been called to generate a point marker with that particular id
) then the existing point marker will be modified using the parameters provided in the AddPointMarker
call.Note that ids are handled separately for different types of display objects: A 3D display may simultaneously contain a label with id 0 (see AddLabel), a point cloud with id 0 (see AddPointCloudSolid) and a point marker with id 0 (see AddPointMarker).
[in] | text | Text to be displayed with the marker. |
[in] | color | Color to be used for displaying the label overlay. Color is specified using OLE_COLOR convention, meaning that it should be provided as an integer value where the lowest 8 bits represent the red channel's intensity, bits 8 to 15 represent the green channel's intensity and bits 16 to 23 represent the blue channel's intensity. The uppermost 8 bits are not evaluated and should be set to zero (in MFC applications the easiest way to build such a color value is to use the RGB(r, g, b) macro). |
[in] | size | Size (in 3D units) of the text to be shown. |
[in] | opacity | Opacity of the text overlay when rendering. Specifying a value of 1.0 will make the overlay completely opaque, a value of 0.0 will make the overlay completely transparent. |
[in] | id | Numerical identified by which the text overlay can later on be accessed (e.g. in RemoveLabel or in another AddLabel call). |
[in] | x | 3D position of the marker. |
[in] | y | 3D position of the marker. |
[in] | z | 3D position of the marker. |
[in] | reverse | When set to FALSE , the line connecting the indicator's hook point with the indicator's text will bend in the direction of the positive z axis, when set to TRUE the line will bend in the direction of the negative z axis instead. |
LONG GetCoordinateAxesId | ( | LONG | coordinateAxesNumber | ) |
Retrieve the id of the n-th coordinate indicator.
Object ids for coordinate indicators may be arbitrary and non-continuous integer numbers. In cases where it is necessary to iterate over all coordinate indicators (or a subset thereof) GetCoordinateAxesId
together with NumCoordinateAxes allows this to happen as it converts cardinal numbers into object ids.
For details about coordinate indicators please refer to AddCoordinateAxes.
[in] | coordinateAxesNumber | Cardinal number of the coordinate indicator to be accessed. |
coordinateAxesNumber
was less than 0 or greater than NumCoordinateAxes. LONG GetLabelId | ( | LONG | labelNumber | ) |
Retrieve the id of the n-th label overlay.
Object ids for labels may be arbitrary and non-continuous integer numbers. In cases where it is necessary to iterate over all label overlays (or a subset thereof) GetLabelId
together with NumLabels allows this to happen as it converts cardinal numbers into object ids.
For details on label overlays please refer to AddLabel.
[in] | labelNumber | Cardinal number of the label to be accessed. |
labelNumber
was less than 0 or greater than NumLabels. LONGLONG GetPointCloud | ( | LONG | id | ) |
Retrieve the handle of a point cloud that is currently being displayed.
Note that it is advisable to use ShareObject
and ReleaseObject
to manage the lifetime of the object referred to by the retrieved handle if the handle is being relied on for an extended period of time.
[in] | id | Id of the point cloud object that is currently being displayed. |
CVCOMPOSITE
handle of the point cloud object or nullptr
if the specified id
was invalid. OLE_COLOR GetPointCloudColor | ( | LONG | id | ) |
Retrieves the currently used rendering color for a point cloud.
If the point cloud is not in solid coloring mode (see GetPointCloudVisualizationMode) then -1 will be returned.
[in] | id | Id of the point cloud for which to retrieve the color. If no valid id is given here, the function will return -1. |
OLE_COLOR
convention, meaning that it should be provided as an integer value where the lowest 8 bits represent the red channel's intensity, bits 8 to 15 represent the green channel's intensity and bits 16 to 23 represent the blue channel's intensity. LONG GetPointCloudId | ( | LONG | pointCloudNumber | ) |
Retrieve the id of the n-th point cloud.
Object ids for point clouds may be arbitrary and non-continuous integer numbers. In cases where it is necessary to iterate over all point clouds (or a subset thereof) GetPointCloudId
together with NumPointClouds allows this to happen as it converts cardinal numbers into object ids.
For details on point clouds please refer to AddPointCloudSolid.
[in] | pointCloudNumber | Cardinal number of the point marker to be accessed. |
pointCloudNumber
was less than 0 or greater than NumPointClouds. DOUBLE GetPointCloudLineWidth | ( | LONG | id | ) |
Retrieves the currently used line width for a point cloud.
[in] | id | Id of the point cloud for which to retrieve the value. If no valid id is given here, the function will return -1. |
VARIANT_BOOL GetPointCloudLutRanges | ( | LONG | id, |
DOUBLE * | hueMin, | ||
DOUBLE * | hueMax, | ||
DOUBLE * | saturationMin, | ||
DOUBLE * | saturationMax, | ||
DOUBLE * | valueMin, | ||
DOUBLE * | valueMax | ||
) |
Query the current LUT parameters for point cloud visualization.
For a description of color range visualization see AddPointCloudVariable. If the point cloud is not in color range mode (see GetPointCloudVisualizationMode) the returned values will all be 0.0.
[in] | id | Id of the point cloud to be queried. |
[in] | hueMin | Current hue value assigned to the lowest z value. Value hue values are in the range [0...1] and are organized in a circle that starts (0.0) and ends (1.0) at the color red and cycles through yellow, green, cyan, blue and magenta in order of incrementing values. |
[in] | hueMax | Current hue value assigned to the highest z value. Value hue values are in the range [0...1] and are organized in a circle that starts (0.0) and ends (1.0) at the color red and cycles through yellow, green, cyan, blue and magenta in order of incrementing values. |
[in] | saturationMin | Current saturation value assigned to the lowest z value. Saturation Values are in the range [0...1] with 0.0 indicating completely unsaturated colors (i.e. gray scale) and 1.0 indicating fully saturated colors. |
[in] | saturationMax | Current saturation value assigned to the highest z value. Saturation Values are in the range [0...1] with 0.0 indicating completely unsaturated colors (i.e. gray scale) and 1.0 indicating fully saturated colors. |
[in] | valueMin | Current intensity value assigned to the lowest z value. Intensity values are in the range [0...1]. |
[in] | valueMax | Current intensity value assigned to the highest z value. Intensity values are in the range [0...1]. |
TRUE
if the LUT parameters were queried successfully FALSE
otherwise (most likely because of an invalid id
parameter). DOUBLE GetPointCloudOpacity | ( | LONG | id | ) |
Retrieves the currently used opacity for a point cloud.
[in] | id | Id of the point cloud for which to retrieve the value. If no valid id is given here, the function will return -1. |
DOUBLE GetPointCloudPointSize | ( | LONG | id | ) |
Retrieves the currently used point size for a point cloud.
[in] | id | Id of the point cloud for which to retrieve the value. If no valid id is given here, the function will return -1. |
enum Core3DViewerVisualizationMode GetPointCloudVisualizationMode | ( | LONG | id | ) |
Queries the current visualization mode of the referenced point cloud.
Depending on how a point cloud was created (AddPointCloudSolid or AddPointCloudVariable) or the function SetPointCloudColor or SetPointCloudLutRanges was the most recently called function the point cloud may currently either use solid coloring or a color range.
[in] | id | Id of the point cloud for which to query the current state. |
id
does not refer to a currently visible point cloud. LONG GetPointMarkerId | ( | LONG | pointMarkerNumber | ) |
Retrieve the id of the n-th point marker.
Object ids for point markers may be arbitrary and non-continuous integer numbers. In cases where it is necessary to iterate over all point markers (or a subset thereof) GetPointMarkerId
together with NumPointMarkers allows this to happen as it converts cardinal numbers into object ids.
For details on point markers please refer to AddPointMarker.
[in] | pointMarkerNumber | Cardinal number of the point marker to be accessed. |
pointMarkerNumber
was less than 0 or greater than NumPointMarkers. VARIANT_BOOL GetSelectedVolume | ( | DOUBLE * | xmin, |
DOUBLE * | xmax, | ||
DOUBLE * | ymin, | ||
DOUBLE * | ymax, | ||
DOUBLE * | zmin, | ||
DOUBLE * | zmax | ||
) |
Retrieve the current extent in x, y and z direction of the volume of interest selector.
Note that if the selector is currently not being displayed (i.e. if ShowSelectorBox is set to FALSE
) the function will return FALSE
and not modify the content of the call parameters.
[out] | xmin | Extent in x direction. |
[out] | xmax | Extent in x direction. |
[out] | ymin | Extent in y direction. |
[out] | ymax | Extent in y direction. |
[out] | zmin | Extent in z direction. |
[out] | zmax | Extent in z direction. |
TRUE
when values were successfully retrieved, FALSE
otherwise (in this case the parameter values will not have been modified). VARIANT_BOOL HasLabel | ( | LONG | id | ) |
Check if a label with the given id
exists.
For details about label overlays please refer to AddLabel.
[in] | id | Id to be checked for. |
TRUE
if a label has already been added under the specified id
, FALSE
otherwise. VARIANT_BOOL HasPointCloud | ( | LONG | id | ) |
Check if a point cloud with the given id
exists.
For details about point clouds please refer to AddPointCloudSolid.
[in] | id | Id to be checked for. |
TRUE
if a point cloud has already been added under the specified id
, FALSE
otherwise. VARIANT_BOOL HasPointMarker | ( | LONG | id | ) |
Check if a point marker with the given id
exists.
For details about point markers please refer to AddPointMarker.
[in] | id | Id to be checked for. |
TRUE
if a point marker has already been added under the specified id
, FALSE
otherwise. void RemoveAllCoordinateAxes | ( | ) |
Remove all coordinate indicators from the 3D display.
For details about coordinate indicators please refer to AddCoordinateAxes.
void RemoveAllLabels | ( | ) |
Remove all currently visible label overlays from the 3D display.
For details about label overlays please refer to AddLabel.
void RemoveAllObjects | ( | ) |
Remove all currently visible objects from the 3D display.
Calling this function has the same effect as calling RemoveAllLabels, RemoveAllPointClouds and RemoveAllPointMarkers in any order.
void RemoveAllPointClouds | ( | ) |
Remove all currently visible point clouds from the 3D display.
For details about label overlays please refer to AddPointCloudSolid.
void RemoveAllPointMarkers | ( | ) |
Remove all currently visible point markers from the 3D display.
For details about label overlays please refer to AddPointMarker.
void RemoveCoordinateAxes | ( | LONG | id | ) |
Remove a coordinate indicator from the 3D display.
For details about coordinate indicators please refer to AddCoordinateAxes.
[in] | id | Id of the coordinate indicator to be removed. When specifying an invalid id here nothing will happen. |
void RemoveLabel | ( | LONG | id | ) |
Remove a label overlay from the 3D display.
For details about label overlays please refer to AddLabel.
[in] | id | Id of the label to be removed. When specifying an invalid id here nothing will happen. |
void RemovePointCloud | ( | LONG | id | ) |
Remove a point cloud from the 3D display.
For details about point clouds please refer to AddPointCloudSolid.
[in] | id | Id of the point cloud to be removed. When specifying an invalid id here nothing will happen. |
void RemovePointMarker | ( | LONG | id | ) |
Remove a point marker from the 3D display.
For details about point markers please refer to AddPointMarker.
[in] | id | Id of the point marker to be removed. When specifying an invalid id here nothing will happen. |
LONGLONG RenderWindowToImage | ( | ) |
Take a snapshot of the current 3D display render window.
Takes a snapshot of the current 3D display and stores it in a CVB image object.
ReleaseObject
. void ResetCamera | ( | ) |
Auto-align the camera parameters taking account the currently visible objects.
This call will cause the virtual camera to be repositioned to view the center of the actors and move the camera along its resulting viewing direction so that all the currently added objects can be seen.
void SetBackground | ( | OLE_COLOR | color | ) |
Set the background color of the 3D viewer to a solid color.
The viewer's background can be set to either a solid color or a gradient color scheme, i.e. the background color varies smoothly from bottom to top of the 3D viewer. This command sets the background to the specified solid color.
[in] | color | Color to be used for background coloring. Color is specified using OLE_COLOR convention. |
void SetBackgroundGradient | ( | OLE_COLOR | color1, |
OLE_COLOR | color2 | ||
) |
Set the background of the 3D viewer to a gradient color scheme.
The viewer's background can be set to either a solid color or a gradient color scheme, i.e. the background color varies smoothly from bottom to top of the 3D viewer. This command sets the viewer's background to a gradient coloring scheme.
[in] | color1 | to be used as the color at the bottom part of the 3D viewer. Color is specified using OLE_COLOR convention. |
[in] | color2 | to be used as the color at the top part of the 3D viewer. Color is specified using OLE_COLOR convention. |
void SetCameraAzimuth | ( | DOUBLE | angle | ) |
Rotate the camera horizontally.
The center or rotation is the focal point and the rotation is carried out around the view "up" vector's direction.
[in] | angle | Angle (in degrees) by which to rotate. |
void SetCameraElevation | ( | DOUBLE | angle | ) |
Rotate the camera in the up/down direction.
Technically speaking, the camera is rotated around the cross product of the negative viewing direction vector and the view's "up" vector. The center of rotation is the focal point of the camera.
[in] | angle | Angle (in degrees) by which to rotate. |
void SetCameraRoll | ( | DOUBLE | angle | ) |
Rotate the camera around the viewing direction.
[in] | angle | Angle (in degrees) by which to rotate. |
void SetCameraZoom | ( | DOUBLE | factor | ) |
Modify the viewing angle.
Modifies the virtual camera's current viewing angle by multiplying it with the specified factor. Increasing the viewing angle (by specifying zoom factors greater than one) will give the impression of zooming out of the scene while decreasing the viewing angle (by specifying zoom factors smaller than one) will give the impression of zooming into the scene.
[in] | factor | Factor with which to multiply the currently set viewing angle. |
void SetPointCloudColor | ( | LONG | id, |
OLE_COLOR | color | ||
) |
Sets a rendering color for a point cloud and change the visualization mode to solid coloring.
See also AddPointCloudSolid for a description.
[in] | id | Id of the point cloud for which to set the color. If no valid id is given here, the call will have no effect. |
[in] | color | Color to be used for displaying the label overlay. Color is specified using OLE_COLOR convention, meaning that it should be provided as an integer value where the lowest 8 bits represent the red channel's intensity, bits 8 to 15 represent the green channel's intensity and bits 16 to 23 represent the blue channel's intensity. The uppermost 8 bits are not evaluated and should be set to zero (in MFC applications the easiest way to build such a color value is to use the RGB(r, g, b) macro). |
void SetPointCloudLineWidth | ( | LONG | id, |
DOUBLE | lineWidth | ||
) |
Sets the line width for rendering a point cloud.
[in] | id | Id of the point cloud for which to set the value. If no valid id is given here, the call will have no effect. |
[in] | lineWidth | Line width to be used when rending the specified point cloud in wireframe mode (in 3D units). |
VARIANT_BOOL SetPointCloudLutRanges | ( | LONG | id, |
DOUBLE | hueMin, | ||
DOUBLE | hueMax, | ||
DOUBLE | saturationMin, | ||
DOUBLE | saturationMax, | ||
DOUBLE | valueMin, | ||
DOUBLE | valueMax | ||
) |
Change the point cloud visualization mode to color range and/or redefine the lookup-tables.
For a description of color range visualization see AddPointCloudVariable.
[in] | id | Id of the point cloud to be modified. |
[in] | hueMin | Hue value to be assigned to the lowest z value. Value hue values are in the range [0...1] and are organized in a circle that starts (0.0) and ends (1.0) at the color red and cycles through yellow, green, cyan, blue and magenta in order of incrementing values. |
[in] | hueMax | Hue value to be assigned to the highest z value. Value hue values are in the range [0...1] and are organized in a circle that starts (0.0) and ends (1.0) at the color red and cycles through yellow, green, cyan, blue and magenta in order of incrementing values. |
[in] | saturationMin | Saturation value to be assigned to the lowest z value. Saturation Values are in the range [0...1] with 0.0 indicating completely unsaturated colors (i.e. gray scale) and 1.0 indicating fully saturated colors. |
[in] | saturationMax | Saturation value to be assigned to the highest z value. Saturation Values are in the range [0...1] with 0.0 indicating completely unsaturated colors (i.e. gray scale) and 1.0 indicating fully saturated colors. |
[in] | valueMin | Intensity value to be assigned to the lowest z value. Intensity values are in the range [0...1]. |
[in] | valueMax | Intensity value to be assigned to the highest z value. Intensity values are in the range [0...1]. |
TRUE
if the point cloud visualization was changed, FALSE
otherwise. void SetPointCloudOpacity | ( | LONG | id, |
DOUBLE | opacity | ||
) |
Sets the opacity for rendering a point cloud.
[in] | id | Id of the point cloud for which to set the value. If no valid id is given here, the call will have no effect. |
[in] | opacity | Opacity of the point cloud when rendering. Specifying a value of 1.0 will make the overlay completely opaque, a value of 0.0 will make the overlay completely transparent. |
void SetPointCloudPointSize | ( | LONG | id, |
DOUBLE | pointSize | ||
) |
Sets the point size for rendering a point cloud.
[in] | id | Id of the point cloud for which to set the value. If no valid id is given here, the call will have no effect. |
[in] | pointSize | Point size to be used when rending the specified point cloud (in 3D units). |