#include <assert.h>#include <vcg/math/base.h>#include <vcg/math/similarity.h>#include <vcg/space/intersection3.h>#include <vcg/space/line3.h>#include <vcg/space/plane3.h>#include <wrap/gl/math.h>#include <wrap/gl/space.h>#include <vector>#include <iostream>

Go to the source code of this file.
Classes | |
| class | vcg::trackutils::DrawingHint |
| Drawing hints for manipulators. More... | |
Namespaces | |
| namespace | vcg |
* | |
| namespace | vcg::trackutils |
This namespace contains some support functions used by TrackMode subclassess. | |
Functions | |
| void | vcg::trackutils::DrawCircle (bool planehandle=true) |
| Draw a circle with 2 squares, used by DrawSphereIcon(). | |
| void | vcg::trackutils::DrawPlaneHandle () |
| Draw 2 squares, used by DrawCircle(). | |
| void | vcg::trackutils::DrawSphereIcon (Trackball *tb, bool active, bool planeshandle=false) |
| Draw a spherical manipulator icon. | |
| void | vcg::trackutils::DrawUglyAreaMode (Trackball *tb, const std::vector< Point3f > &points, Point3f status, Point3f old_status, Plane3f plane, const std::vector< Point3f > &path, Point3f rubberband_handle) |
| AreaMode drawing function, member of the DrawUgly series. | |
| void | vcg::trackutils::DrawUglyAxisMode (Trackball *tb, Line3f axis) |
| AxisMode drawing function, member of the DrawUgly series. | |
| void | vcg::trackutils::DrawUglyCylinderMode (Trackball *tb, Line3f axis) |
| CylinderMode drawing function, member of the DrawUgly series. | |
| void | vcg::trackutils::DrawUglyLetter (Trackball *tb, std::vector< Point3f > ugly_letter) |
| Support function for the DrawUgly series of functions. | |
| void | vcg::trackutils::DrawUglyPanMode (Trackball *tb) |
| PanMode drawing function, member of the DrawUgly series. | |
| void | vcg::trackutils::DrawUglyPathMode (Trackball *tb, const std::vector< Point3f > &points, Point3f current_point, Point3f prev_point, Point3f next_point, Point3f old_hitpoint, bool wrap) |
| PathMode drawing function, member of the DrawUgly series. | |
| void | vcg::trackutils::DrawUglyPlaneMode (Trackball *tb, Plane3f plane) |
| PlaneMode drawing function, member of the DrawUgly series. | |
| void | vcg::trackutils::DrawUglyScaleMode (Trackball *tb) |
| ScaleMode drawing function, member of the DrawUgly series. | |
| void | vcg::trackutils::DrawUglyZMode (Trackball *tb) |
| ZMode drawing function, member of the DrawUgly series. | |
| float | vcg::trackutils::getDeltaY (Trackball *tb, Point3f new_point) |
| Computes the verical component of an user mouse drag. | |
| Plane3f | vcg::trackutils::GetViewPlane (const View< float > &camera, const Point3f ¢er) |
| Compute the plane perpedicular to view dir and passing through the manipulator center. | |
| bool | vcg::trackutils::HitHyper (Point3f center, float radius, Point3f viewpoint, Plane3f viewplane, Point3f hitOnViewplane, Point3f &hit) |
| Project a window coordinate point on the rotational hyperboloid relative to the manipulator. | |
| bool | vcg::trackutils::HitHyperOrtho (Point3f center, float radius, Point3f viewpoint, Plane3f viewplane, Point3f hitOnViewplane, Point3f &hit) |
| HitHyperOrtho. | |
| std::pair< Point3f, bool > | vcg::trackutils::HitNearestPointOnAxis (Trackball *tb, Line3f axis, Point3f point) |
| Calculates the minimal distance between 2 segments. | |
| std::pair< Point3f, bool > | vcg::trackutils::HitPlane (Trackball *tb, Point3f point, Plane3f plane) |
| Project a window coordinate point on a plane. | |
| Point3f | vcg::trackutils::HitSphere (Trackball *tb, const Point3f &p) |
| Project a window coordinate point on the sphere relative to the manipulator. | |
| Point3f | vcg::trackutils::HitViewPlane (Trackball *tb, const Point3f &p) |
| Project a window coordinate point on the plane perpedicular to view dir and passing through the manipulator center. | |
| template<class T > | |
| bool | vcg::trackutils::IntersectionRayPlane (const Plane3< T > &pl, const Ray3< T > &ray, Point3< T > &po) |
| Computes the intersection between a ray and a plane. | |
| Ray3f | vcg::trackutils::line2ray (const Line3f &l) |
| Convert a line to a normalized ray. | |
| std::pair< float, bool > | vcg::trackutils::LineLineDistance (const Line3f &P, const Line3f &Q, Point3f &P_s, Point3f &Q_t) |
| Calculates the minimal distance between 2 lines. | |
| void | vcg::trackutils::prepare_attrib () |
| Support function for the DrawUgly series of functions. | |
| Line3f | vcg::trackutils::ProjectLineOnPlane (const Line3f &ln, const Plane3f &pl) |
| Project a line into a plane. | |
| std::pair< float, bool > | vcg::trackutils::RayLineDistance (const Ray3f &R, const Line3f &Q, Point3f &R_s, Point3f &Q_t) |
| Calculates the minimal distance between a ray and a line. | |
| float | vcg::trackutils::signedDistance (Line3f line, Point3f pt, Point3f positive_dir) |
| Computes a signed line-point distance. | |
Variables | |
| DrawingHint | vcg::trackutils::DH |
| the drawing hint used by the manipulators | |