cee::vis::BoxLocator
-
class
BoxLocator
: public MarkupModel A locator designed to position a box.
It has custom drawing (draws the box, corner points and directional arrows in corners). The box locator also handles rotation of the box itself by mouse navigation and handles panning so that the panning is done in the plane.
Each corner has a sphere and a directional arrow for each of the three axis directions. The sphere can be grabbed and dragged in the screen plane. Grabbing one of the arrows will limit the movement of the corner to the direction of the arrow.
Public Functions
-
void
setup
(const Vec3d &min, const Vec3d &max) Creates a box locator from a minimum and maximum point.
-
void
tiltAlongAxis
() Tilts the box along the base axis.
-
void
setBoxOpacity
(float opacity) Sets the opacity of the locator box.
-
float
boxOpacity
() const Returns the opacity of the locator box.
-
void
setSelectedColor
(const Color3f &color) Sets the color of the selected locator part.
Applies to corner spheres and corner arrows.
-
std::vector<Plane>
planes
() const Returns an array of the 6 planes defining the locator box.
Size is always 6.
Processes box navigation start from mouse press event.
Will apply navigation (pan/rotate/zoom) to locator box instead of model.
Processes box navigation update from mouse move event.
Will apply navigation (pan/rotate/zoom) to locator box instead of model.
Processes box navigation end from mouse release event.
Will apply navigation (pan/rotate/zoom) to locator box instead of model.
-
bool
onMousePressEvent
(MouseEvent *mouseEvent) Processes mouse press event.
Handle interaction with box corners (directional vector arrows and sphere)
-
bool
onMouseMoveEvent
(MouseEvent *mouseEvent) Processes mouse move event.
Handle interaction with box corners (directional vector arrows and sphere)
-
void
onMouseReleaseEvent
() Processes mouse release event.
Handle interaction with box corners (directional vector arrows and sphere)
-
void