#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 () |
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) |
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 vp, Point3f hitplane, Point3f &hit) |
Project a window coordinate point on the rotational hyperboloid relative to the manipulator. | |
std::pair< Point3f, bool > | vcg::trackutils::HitNearestPointOnAxis (Trackball *tb, Line3f axis, Point3f point) |
Compute the point on a line closest to the ray projection of a window coordinate point. | |
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. | |
std::pair< float, bool > | vcg::trackutils::SegmentSegmentDistance (const Segment3f &R, const Segment3f &Q, Point3f &R_s, Point3f &Q_t) |
Calculates the minimal distance between 2 segments. | |
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 |