4 #ifndef vtkImplicitFrustumRepresentation_h
5 #define vtkImplicitFrustumRepresentation_h
9 #include "vtkInteractionWidgetsModule.h"
13 VTK_ABI_NAMESPACE_BEGIN
58 TranslatingOriginOnAxis
70 void SetOrigin(
double x,
double y,
double z);
71 void SetOrigin(
double x[3]);
74 void GetOrigin(
double xyz[3]) const;
81 void SetOrientation(
double x,
double y,
double z);
82 void SetOrientation(const
double xyz[3]);
85 void GetOrientation(
double& x,
double& y,
double& z);
86 void GetOrientation(
double xyz[3]);
94 double GetHorizontalAngle() const;
95 void SetHorizontalAngle(
double angle);
103 double GetVerticalAngle() const;
104 void SetVerticalAngle(
double angle);
112 double GetNearPlaneDistance() const;
113 void SetNearPlaneDistance(
double angle);
124 void SetAlongXAxis(
bool);
125 vtkGetMacro(AlongXAxis,
bool);
126 vtkBooleanMacro(AlongXAxis,
bool);
127 void SetAlongYAxis(
bool);
128 vtkGetMacro(AlongYAxis,
bool);
129 vtkBooleanMacro(AlongYAxis,
bool);
130 void SetAlongZAxis(
bool);
131 vtkGetMacro(AlongZAxis,
bool);
132 vtkBooleanMacro(AlongZAxis,
bool);
141 void SetDrawFrustum(
bool draw);
142 vtkGetMacro(DrawFrustum,
bool);
143 vtkBooleanMacro(DrawFrustum,
bool);
156 void UpdatePlacement();
168 vtkGetObjectMacro(EdgeHandleProperty, vtkProperty);
169 vtkGetObjectMacro(SelectedEdgeHandleProperty, vtkProperty);
177 void SetInteractionColor(
double,
double,
double);
179 void SetHandleColor(
double,
double,
double);
181 void SetForegroundColor(
double,
double,
double);
216 vtkSetClampMacro(InteractionState, InteractionStateType, InteractionStateType::Outside,
217 InteractionStateType::TranslatingOriginOnAxis);
224 virtual void SetRepresentationState(InteractionStateType);
225 vtkGetMacro(RepresentationState, InteractionStateType);
243 enum class FrustumFace
290 void HighlightOriginHandle(
bool highlight);
291 void HighlightFarPlaneVerticalHandle(
bool highlight);
292 void HighlightFarPlaneHorizontalHandle(
bool highlight);
293 void HighlightNearPlaneHandle(
bool highlight);
294 void HighlightRollHandle(
bool highlight);
295 void HighlightYawHandle(
bool highlight);
296 void HighlightPitchHandle(
bool highlight);
303 void AdjustNearPlaneDistance(
309 void UpdateFrustumTransform();
320 InteractionStateType RepresentationState = InteractionStateType::Outside;
325 bool AlongXAxis =
false;
326 bool AlongYAxis =
false;
327 bool AlongZAxis =
false;
337 bool DrawFrustum =
true;
339 std::array<EdgeHandle, 4> FarPlaneHandles;
340 EdgeHandle NearPlaneEdgesHandle;
341 SphereHandle NearPlaneCenterHandle;
342 EllipseHandle RollHandle;
343 EllipseHandle YawHandle;
344 EllipseHandle PitchHandle;
345 SphereHandle OriginHandle;
362 VTK_ABI_NAMESPACE_END
represents an object (geometry & properties) in a rendered scene
void SetInteractionColor(double c[3])
Set the color of all the widgets handles (origin, orientations, near plane and angles) and their colo...
abstract specification for Viewports
represent surface properties of a geometric object
concrete dataset represents vertices, lines, polygons, and triangle strips
implicit function for a frustum
window superclass for vtkRenderWindow
create a polygonal sphere centered at the origin
filter that generates tubes around lines
a simple class to control print indentation
#define VTK_SIZEHINT(...)
create a line defined by two end points
map vtkPolyData to graphics primitives
void SetForegroundColor(double c[3])
Set the color of all the widgets handles (origin, orientations, near plane and angles) and their colo...
The representation for a vtkImplicitFrustumWidget.
ray-cast cell picker for all kinds of Prop3Ds
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
implicit function for a bounding box
void SetHandleColor(double c[3])
Set the color of all the widgets handles (origin, orientations, near plane and angles) and their colo...