* More...
Namespaces | |||
namespace | edg | ||
namespace | edge | ||
namespace | face | ||
namespace | hedge | ||
namespace | math | ||
namespace | ndim | ||
namespace | ply | ||
namespace | tetra | ||
namespace | trackutils | ||
This namespace contains some support functions used by TrackMode subclassess. | |||
namespace | tri | ||
namespace | vert | ||
namespace | vertex | ||
Classes | |||
struct | _Edge | ||
struct | _Face | ||
struct | _HEdge | ||
struct | _UsedTypes | ||
struct | _Vertex | ||
class | AABBBinaryTree | ||
class | AABBBinaryTreeClosest | ||
class | AABBBinaryTreeFrustumCull | ||
class | AABBBinaryTreeIndex | ||
class | AABBBinaryTreeKClosest | ||
class | AABBBinaryTreeRay | ||
class | ActiveCoordinateFrame | ||
The ActiveCoordinateFrame class. More... | |||
class | Add_Ons | ||
struct | AllTypes | ||
class | AreaMode | ||
The area constrained manipulator. More... | |||
class | Arity1 | ||
class | Arity10 | ||
class | Arity11 | ||
class | Arity12 | ||
class | Arity2 | ||
class | Arity3 | ||
class | Arity4 | ||
class | Arity5 | ||
class | Arity6 | ||
class | Arity7 | ||
class | Arity8 | ||
class | Arity9 | ||
class | Attribute | ||
class | AxisMode | ||
The one-directional manipulator. More... | |||
class | BaseFeature | ||
class | BaseFeatureSet | ||
class | BaseParameterClass | ||
class | BasicGrid | ||
class | BasicGrid2D | ||
class | Bmt | ||
class | BmtBuilder | ||
class | Box | ||
class | Box2 | ||
class | Box3 | ||
class | Cache | ||
class | Camera | ||
class | CAT | ||
class | CATBase | ||
struct | CATBaseBase | ||
class | CATEntry | ||
class | ClosestIterator | ||
class | Color4 | ||
class | ColorConverter | ||
class | ColorSpace | ||
class | ComparisonFunctor | ||
class | ConstDataWrapper | ||
class | Controller | ||
class | CoordinateFrame | ||
The CoordinateFrame class. More... | |||
class | CylinderMode | ||
The constrained rotation manipulator. More... | |||
class | DefaultDeriver | ||
struct | Dereferencer | ||
class | DiracPolicy | ||
really simple example policy More... | |||
class | DisjointSet | ||
class | Distribution | ||
class | DumClass | ||
struct | DummyTypes | ||
class | DynamicSpatialHashTable | ||
class | Edge | ||
class | EdgeArityMax | ||
class | EdgeTypeHolder | ||
class | EmptyClass | ||
struct | EntryCAT | ||
class | EntryCATBase | ||
struct | Env | ||
class | Face | ||
class | FaceArityMax | ||
class | FaceBase | ||
class | FaceTypeHolder | ||
class | Frustum | ||
class | FrustumPolicy | ||
class | GenNormal | ||
class | GetBarycenter3Functor | ||
class | GetBox3Functor | ||
class | GetPointerFunctor | ||
class | gl_surface | ||
class | GL_TYPE_NM | ||
class | GL_TYPE_NM< double > | ||
class | GL_TYPE_NM< float > | ||
struct | GLFeederInfo | ||
class | GLField | ||
class | glLabel | ||
class | GLMeshAttributesFeeder | ||
class | GLPickTri | ||
struct | GlPos | ||
class | GlTrimesh | ||
class | glu_tesselator | ||
struct | GlVfIterator | ||
class | GLW | ||
class | GridStaticObj | ||
class | GridStaticPtr | ||
class | GridStaticPtr2D | ||
struct | HashFunctor | ||
struct | HashFunctor2D | ||
class | HeapMaxPriorityQueue | ||
class | HEdge | ||
class | HEdgeArityMax | ||
class | HEdgeBase | ||
class | HEdgeTypeHolder | ||
class | Histogram | ||
class | ImplicitSmoother | ||
class | InactiveMode | ||
An inactive manipulator. More... | |||
class | KdTree | ||
class | Line2 | ||
class | Line3 | ||
class | Linear | ||
class | LocalModification | ||
This abstract class define which functions a local modification to be used in the LocalOptimization. More... | |||
class | LocalOptimization | ||
class | MArity1 | ||
class | MArity2 | ||
class | MArity3 | ||
class | MArity4 | ||
class | Matrix33 | ||
class | Matrix44 | ||
class | MemoryInfo | ||
class | MissingCompactnessException | ||
class | MissingComponentException | ||
class | MissingPolygonalRequirementException | ||
class | MissingPreconditionException | ||
class | MissingTriangularRequirementException | ||
class | MovableCoordinateFrame | ||
The MovableCoordinateFrame class. More... | |||
class | MT | ||
class | NavigatorWasdMode | ||
class | NDFeature | ||
class | NDFeatureSet | ||
class | NotThreadSafeMemoryInfo | ||
class | Obox3 | ||
class | Octree | ||
class | OctreeTemplate | ||
class | PanMode | ||
The panning manipulator. More... | |||
class | PathMode | ||
The path constrained manipulator. More... | |||
class | PerfectSpatialHashing | ||
class | Plane3 | ||
class | PlaneMode | ||
The planar manipulator. More... | |||
class | Point2 | ||
class | Point3 | ||
class | Point4 | ||
class | PointerToAttribute | ||
class | PointSegment2DEPFunctor | ||
class | PolarMode | ||
class | PolyPacker | ||
class | Provider | ||
class | Quadric5 | ||
class | Quaternion | ||
class | RansacFramework | ||
class | RasterizedOutline2 | ||
class | RasterizedOutline2Packer | ||
class | RawVolumeImporter | ||
class | Ray2 | ||
class | Ray3 | ||
class | RayIterator | ||
class | RayIterator2D | ||
class | RaySegmentIntersectionFunctor | ||
class | RayTriangleIntersectionFunctor | ||
class | RectPacker | ||
class | ReferenceType | ||
class | ReferenceType< T * > | ||
class | Rubberband | ||
The Rubberband class. More... | |||
class | Sampling | ||
struct | SamplingFlags | ||
class | ScaleMode | ||
The scale manipulator. More... | |||
class | Segment2 | ||
class | Segment3 | ||
class | Shot | ||
class | Similarity | ||
class | Similarity2 | ||
class | Similarityd | ||
class | Similarityf | ||
class | SimplePic | ||
class | SimpleTempData | ||
class | SimpleTempDataBase | ||
class | SimpleVolume | ||
class | SimpleVoxel | ||
class | SimpleVoxelWithNormal | ||
struct | SmallestEnclosing | ||
class | Space | ||
class | SpatialHashTable | ||
class | SpatialHashTable2D | ||
class | SpatialIndex | ||
class | SpatialIndex2D | ||
class | Sphere3 | ||
class | SphereMode | ||
The classic arcball manipulator. More... | |||
class | StripMesh | ||
class | StripMeshBuilder | ||
class | Tetra | ||
class | Tetra3 | ||
class | TetraArity1 | ||
class | TetraArity2 | ||
class | TetraArity3 | ||
class | TetraArity4 | ||
class | TetraArity5 | ||
class | TetraArity6 | ||
class | TetraArity7 | ||
class | TetraArity8 | ||
class | TetraArityMax | ||
class | TetraBase | ||
class | TetraDefaultDeriver | ||
class | TetraSimp2 | ||
class | TetraSimp3 | ||
class | TetraTypeHolder | ||
class | TexCoord2 | ||
Templated class for a storing a set of 2D texture coord plus their texture id. More... | |||
class | TexCoord2Simple | ||
class | Token | ||
class | Trackball | ||
The manipulator manager system. More... | |||
class | TrackMode | ||
Base class for all the manipulators. More... | |||
struct | TrackRecorder | ||
class | Transform | ||
The base class for Trackball. More... | |||
class | Triangle2 | ||
class | Triangle3 | ||
struct | Use | ||
class | UsedTypes | ||
class | vector_occ | ||
class | VectorConstDataWrapper | ||
class | VectorNBW | ||
class | VectorNBW< bool > | ||
class | Vertex | ||
class | VertexArityMax | ||
class | VertexConstDataWrapper | ||
class | VertexVisShader | ||
class | View | ||
class | VisShader | ||
class | VoidType | ||
a type that stands for "void". Useful for Parameter type of a point. More... | |||
struct | Voxel | ||
class | ZMode | ||
The Z-directional manipulator. More... | |||
Typedefs | |||
typedef Box< 2, double > | Box2d | ||
Specificazione di box of double. | |||
typedef Box< 2, float > | Box2f | ||
Specificazione di box of float. | |||
typedef Box< 2, int > | Box2i | ||
Specificazione di box of int. | |||
typedef Box< 2, short > | Box2s | ||
Specificazione di box of short. | |||
typedef Box< 3, double > | Box3d | ||
typedef Box< 3, float > | Box3f | ||
typedef Box< 3, int > | Box3i | ||
typedef Box< 3, short > | Box3s | ||
typedef bool | CallBack (const char *str) | ||
typedef bool | CallBackPos (const int pos, const char *str) | ||
typedef Color4< unsigned char > | Color4b | ||
typedef Color4< double > | Color4d | ||
typedef Color4< float > | Color4f | ||
typedef Frustum< double > | Frustumd | ||
typedef Frustum< float > | Frustumf | ||
typedef Histogram< double > | Histogramd | ||
typedef Histogram< float > | Histogramf | ||
typedef Line2< double > | Line2d | ||
typedef Line2< double, true > | Line2dN | ||
typedef Line2< float > | Line2f | ||
typedef Line2< float,true > | Line2fN | ||
typedef Line2< int > | Line2i | ||
typedef Line2< int,true > | Line2iN | ||
typedef Line2< short > | Line2s | ||
typedef Line2< short,true > | Line2sN | ||
typedef Line3< double > | Line3d | ||
typedef Line3< double, true > | Line3dN | ||
typedef Line3< float > | Line3f | ||
typedef Line3< float,true > | Line3fN | ||
typedef Line3< int > | Line3i | ||
typedef Line3< int,true > | Line3iN | ||
typedef Line3< short > | Line3s | ||
typedef Line3< short,true > | Line3sN | ||
typedef Matrix44< double > | Matrix44d | ||
typedef Matrix44< float > | Matrix44f | ||
typedef Matrix44< int > | Matrix44i | ||
typedef Matrix44< short > | Matrix44s | ||
typedef Obox3< double > | Obox3d | ||
typedef Obox3< float > | Obox3f | ||
typedef Obox3< int > | Obox3i | ||
typedef Obox3< short > | Obox3s | ||
typedef Plane3< double > | Plane3d | ||
typedef Plane3< float > | Plane3f | ||
typedef Point2< double > | Point2d | ||
typedef Point2< float > | Point2f | ||
typedef Point2< int > | Point2i | ||
typedef Point2< short > | Point2s | ||
typedef Point3< double > | Point3d | ||
typedef Point3< float > | Point3f | ||
typedef Point3< int > | Point3i | ||
typedef Point3< short > | Point3s | ||
typedef Point4< double > | Point4d | ||
typedef Point4< float > | Point4f | ||
typedef Point4< int > | Point4i | ||
typedef Point4< short > | Point4s | ||
typedef Quaternion< double > | Quaterniond | ||
typedef Quaternion< float > | Quaternionf | ||
typedef Ray2< double > | Ray2d | ||
typedef Ray2< double, true > | Ray2dN | ||
typedef Ray2< float > | Ray2f | ||
typedef Ray2< float,true > | Ray2fN | ||
typedef Ray2< int > | Ray2i | ||
typedef Ray2< int,true > | Ray2iN | ||
typedef Ray2< short > | Ray2s | ||
typedef Ray2< short,true > | Ray2sN | ||
typedef Ray3< double > | Ray3d | ||
typedef Ray3< double, true > | Ray3dN | ||
typedef Ray3< float > | Ray3f | ||
typedef Ray3< float,true > | Ray3fN | ||
typedef Ray3< int > | Ray3i | ||
typedef Ray3< int,true > | Ray3iN | ||
typedef Ray3< short > | Ray3s | ||
typedef Ray3< short,true > | Ray3sN | ||
typedef Segment2< double > | Segment2d | ||
typedef Segment2< float > | Segment2f | ||
typedef Segment2< int > | Segment2i | ||
typedef Segment2< short > | Segment2s | ||
typedef Segment3< double > | Segment3d | ||
typedef Segment3< float > | Segment3f | ||
typedef Segment3< int > | Segment3i | ||
typedef Segment3< short > | Segment3s | ||
typedef Shot< double > | Shotd | ||
typedef Shot< float > | Shotf | ||
typedef Similarity2< double > | Similarity2d | ||
typedef Similarity2< float > | Similarity2f | ||
typedef Sphere3< double > | Sphere3d | ||
typedef Sphere3< float > | Sphere3f | ||
typedef void | TaskFunc (int t, void *contest) | ||
interruptible function | |||
typedef TexCoord2< double > | TexCoord2d | ||
typedef TexCoord2< float > | TexCoord2f | ||
Enumerations | |||
enum | ModifierType { TetraEdgeCollapseOp, TriEdgeSwapOp, TriVertexSplitOp, TriEdgeCollapseOp, TetraEdgeSpliOpt, TetraEdgeSwapOp, TriEdgeFlipOp, QuadDiagCollapseOp, QuadEdgeCollapseOp } | ||
enum | SortingStrategy { LeaveUnsorted = 0, SortAscending = 1, SortDescending = 2 } | ||
Functions | |||
template<typename Derived > | |||
const Eigen::CwiseUnaryOp < Eigen::ei_scalar_abs_op < typename Eigen::ei_traits < Derived >::Scalar >, Derived > | Abs (const Eigen::MatrixBase< Derived > &p) | ||
template<class SCALARTYPE > | |||
Point2< SCALARTYPE > | Abs (const Point2< SCALARTYPE > &p) | ||
template<class SCALARTYPE > | |||
Point3< SCALARTYPE > | Abs (const Point3< SCALARTYPE > &p) | ||
template<typename Derived1 , typename Derived2 > | |||
Eigen::ei_traits< Derived1 > ::Scalar | Angle (const Eigen::MatrixBase< Derived1 > &p1, const Eigen::MatrixBase< Derived2 > &p2) | ||
template<class T > | |||
T | Angle (Point2< T > const &p0, Point2< T > const &p1) | ||
template<class T > | |||
T | Angle (const Point4< T > &p1, const Point4< T > &p2) | ||
template<class P3ScalarType > | |||
P3ScalarType | Angle (Point3< P3ScalarType > const &p1, Point3< P3ScalarType > const &p2) | ||
template<typename Derived1 , typename Derived2 > | |||
Eigen::ei_traits< Derived1 > ::Scalar | AngleN (const Eigen::MatrixBase< Derived1 > &p1, const Eigen::MatrixBase< Derived2 > &p2) | ||
template<class P3ScalarType > | |||
P3ScalarType | AngleN (Point3< P3ScalarType > const &p1, Point3< P3ScalarType > const &p2) | ||
template<class P3ScalarType > | |||
P3ScalarType | ApproximateGeodesicDistance (const Point3< P3ScalarType > &p0, const Point3< P3ScalarType > &n0, const Point3< P3ScalarType > &p1, const Point3< P3ScalarType > &n1) | ||
template<class CoordType > | |||
CoordType::ScalarType | Area (const std::vector< CoordType > &Pos) | ||
template<class TriangleType > | |||
Point3< typename TriangleType::ScalarType > | Barycenter (const TriangleType &t) | ||
template<class ScalarType > | |||
Point3< ScalarType > | Barycenter (const Tetra3< ScalarType > &t) | ||
template<class scalar_type > | |||
void | BestDim (const Box3< scalar_type > box, const scalar_type voxel_size, Point3i &dim) | ||
template<class scalar_type > | |||
void | BestDim (const __int64 elems, const Point3< scalar_type > &size, Point3i &dim) | ||
template<class scalar_type > | |||
void | BestDim2D (const Box2< scalar_type > box, const scalar_type voxel_size, Point2i &dim) | ||
template<class scalar_type > | |||
void | BestDim2D (const __int64 elems, const Point2< scalar_type > &size, Point2i &dim) | ||
template<class ScalarType > | |||
bool | CircleLineIntersection (const vcg::Line2< ScalarType > &line, const vcg::Point2< ScalarType > ¢er, const ScalarType &radius, vcg::Point2< ScalarType > &p0, vcg::Point2< ScalarType > &p1) | ||
template<class TriangleType > | |||
Point3< typename TriangleType::ScalarType > | Circumcenter (const TriangleType &t) | ||
Color4< float > | Clamp (Color4< float > &c) | ||
template<class ScalarType > | |||
Point2< ScalarType > | ClosestPoint (Segment2< ScalarType > s, const Point2< ScalarType > &p) | ||
template<class ScalarType , bool NORM> | |||
Point2< ScalarType > | ClosestPoint (Line2< ScalarType, NORM > l, const Point2< ScalarType > &p) | ||
returns closest point | |||
template<class ScalarType , bool NORM> | |||
Point2< ScalarType > | ClosestPoint (Ray2< ScalarType, NORM > r, const Point2< ScalarType > &p) | ||
returns closest point | |||
template<class ScalarType , bool NORM> | |||
Point3< ScalarType > | ClosestPoint (Ray3< ScalarType, NORM > r, const Point3< ScalarType > &p) | ||
returns closest point | |||
template<class ScalarType , bool NORM> | |||
Point3< ScalarType > | ClosestPoint (Line3< ScalarType, NORM > l, const Point3< ScalarType > &p) | ||
returns closest point | |||
template<class ScalarType > | |||
Point2< ScalarType > | ClosestPoint2Box2 (const Point2< ScalarType > &test, const Box2< ScalarType > &bbox) | ||
template<class T > | |||
int | compute_intervals_isectline (Point3< T > VERT0, Point3< T > VERT1, Point3< T > VERT2, float VV0, float VV1, float VV2, float D0, float D1, float D2, float D0D1, float D0D2, float *isect0, float *isect1, Point3< T > &isectpoint0, Point3< T > &isectpoint1) | ||
template<class S > | |||
void | ComputeCovarianceMatrix (const std::vector< Point3< S > > &pointVec, Point3< S > &barycenter, Eigen::Matrix< S, 3, 3 > &m) | ||
compute the covariance matrix of a set of point | |||
template<class S > | |||
void | ComputeCrossCovarianceMatrix (const std::vector< Point3< S > > &spVec, Point3< S > &spBarycenter, const std::vector< Point3< S > > &tpVec, Point3< S > &tpBarycenter, Eigen::Matrix3d &m) | ||
Compute cross covariance. | |||
template<class S > | |||
void | ComputeRigidMatchMatrix (std::vector< Point3< S > > &Pfix, std::vector< Point3< S > > &Pmov, Quaternion< S > &q, Point3< S > &tr) | ||
Compute the roto-translation that applied to PMov bring them onto Pfix Rotation is computed as a quaternion. | |||
template<class S > | |||
void | ComputeRigidMatchMatrix (std::vector< Point3< S > > &Pfix, std::vector< Point3< S > > &Pmov, Matrix44< S > &res) | ||
Compute the roto-translation that applied to PMov bring them onto Pfix Rotation is computed as a quaternion. | |||
template<class S > | |||
void | ComputeSimilarityMatchMatrix (std::vector< Point3< S > > &Pfix, std::vector< Point3< S > > &Pmov, Matrix44< S > &res) | ||
template<class TetraType > | |||
TetraType::ScalarType | ComputeVolume (const TetraType &t) | ||
template<class S > | |||
void | ComputeWeightedCovarianceMatrix (const std::vector< Point3< S > > &pointVec, const std::vector< S > &weightVec, Point3< S > &bp, Eigen::Matrix< S, 3, 3 > &m) | ||
compute the weighted covariance matrix of a set of point | |||
template<class SCALAR_TYPE > | |||
bool | Convex (const Point2< SCALAR_TYPE > &p0, const Point2< SCALAR_TYPE > &p1, const Point2< SCALAR_TYPE > &p2) | ||
return true if the algle is convex (right rotation) | |||
template<class T > | |||
bool | coplanar_tri_tri (const Point3< T > N, const Point3< T > V0, const Point3< T > V1, const Point3< T > V2, const Point3< T > U0, const Point3< T > U1, const Point3< T > U2) | ||
template<class TriangleType > | |||
TriangleType::ScalarType | CosWedge (const TriangleType &t, int k) | ||
template<class ScalarType > | |||
bool | Cross (const Point2< ScalarType > &p00, const Point2< ScalarType > &p01, const Point2< ScalarType > &p10, const Point2< ScalarType > &p11) | ||
template<class T > | |||
bool | Decompose (Matrix44< T > &M, Point3< T > &ScaleV, Point3< T > &ShearV, Point3< T > &RotV, Point3< T > &TranV) | ||
float | Distance (Bmt::Cell &cell, Point3f &p) | ||
template<class ScalarType , bool NORM> | |||
ScalarType | Distance (const Line2< ScalarType, NORM > &l, const Point2< ScalarType > &p) | ||
template<class ScalarType , bool NORM> | |||
ScalarType | Distance (const Line3< ScalarType, NORM > &l, const Point3< ScalarType > &p) | ||
template<typename Derived1 , typename Derived2 > | |||
Eigen::ei_traits< Derived1 > ::Scalar | Distance (const Eigen::MatrixBase< Derived1 > &p1, const Eigen::MatrixBase< Derived2 > &p2) | ||
template<class T > | |||
T | Distance (Point2< T > const &p1, Point2< T > const &p2) | ||
template<class T > | |||
T | Distance (const Point4< T > &p1, const Point4< T > &p2) | ||
template<class P3ScalarType > | |||
P3ScalarType | Distance (Point3< P3ScalarType > const &p1, Point3< P3ScalarType > const &p2) | ||
template<class ScalarType > | |||
ScalarType | DistancePoint2Box2 (const Point2< ScalarType > &test, const Box2< ScalarType > &bbox) | ||
template<typename Scalar > | |||
Scalar | Dot (Point3< Scalar > const &p1, Point3< Scalar > const &p2) | ||
template<class TriangleType > | |||
TriangleType::ScalarType | DoubleArea (const TriangleType &t) | ||
Return the Double of area of the triangle. | |||
bool | DummyCallBack (const char *) | ||
bool | DummyCallBackPos (const int, const char *) | ||
static void | fghCircleTable (double **sint, double **cost, const int n) | ||
template<class S > | |||
void | FitPlaneToPointSet (const std::vector< Point3< S > > &pointVec, Plane3< S > &plane) | ||
Compute the plane best fitting a set of points. | |||
template<class CoordType > | |||
void | getBaseTemplatePolygon (int N, std::vector< CoordType > &TemplatePos) | ||
template<class CoordType > | |||
void | GetNormals (std::vector< CoordType > &Pos, std::vector< CoordType > &Norms) | ||
template<class PolygonType > | |||
void | GetPolyTemplatePos (const PolygonType &F, std::vector< typename PolygonType::CoordType > &TemplatePos, bool force_isotropy=false) | ||
template<class P3ScalarType > | |||
void | GetUV (Point3< P3ScalarType > &n, Point3< P3ScalarType > &u, Point3< P3ScalarType > &v, Point3< P3ScalarType > up=(Point3< P3ScalarType >(0, 1, 0))) | ||
template<class T > | |||
void | glBoxClip (const Box3< T > &b) | ||
Setta i sei clip planes di opengl a far vedere solo l'interno del box. | |||
template<class T > | |||
void | glBoxFlat (Box3< T > const &b) | ||
Funzione di utilita' per la visualizzazione in OpenGL (flat shaded) | |||
template<class T > | |||
void | glBoxWire (Box3< T > const &b) | ||
template<class T > | |||
void | glBoxWire (const Box2< T > &b) | ||
void | glClearColor (Color4b const &c) | ||
void | glColor (Color4b const &c) | ||
void | glGetDirectv (const GLenum pname, Matrix44f &m) | ||
void | glGetDirecv (const GLenum pname, Matrix44d &m) | ||
void | glGetv (const GLenum pname, Matrix44f &m) | ||
void | glLight (GLenum light, GLenum pname, Color4b const &c) | ||
void | glLoadMatrix (const Matrix44d &matrix) | ||
void | glMultMatrix (const Matrix44f &matrix) | ||
void | glMultMatrix (const Similarityf &s) | ||
void | glMultMatrix (const Similarityd &s) | ||
void | glMultMatrixDirect (const Matrix44f &matrix) | ||
void | glMultMatrixE (const Matrix44f &matrix) | ||
void | glNormal (Point3< int > const &p) | ||
void | glNormal (Point3< short > const &p) | ||
void | glNormal (Point3< float > const &p) | ||
void | glNormal (Point3< double > const &p) | ||
template<class T > | |||
void | glPlane3 (Plane3< T > p, Point3< T > c, T size) | ||
void | glScale (float const &p) | ||
void | glScale (double const &p) | ||
void | glScale (Point2< float > const &p) | ||
void | glScale (Point2< double > const &p) | ||
void | glScale (Point3< float > const &p) | ||
void | glScale (Point3< double > const &p) | ||
template<class TetraType > | |||
void | glTetra3 (TetraType &c) | ||
void | glTexCoord (Point2< int > const &p) | ||
void | glTexCoord (Point2< short > const &p) | ||
void | glTexCoord (Point2< float > const &p) | ||
void | glTexCoord (Point2< double > const &p) | ||
void | glTexCoord (Point3< int > const &p) | ||
void | glTexCoord (Point3< short > const &p) | ||
void | glTexCoord (Point3< float > const &p) | ||
void | glTexCoord (Point3< double > const &p) | ||
void | glTranslate (Point2< float > const &p) | ||
void | glTranslate (Point2< double > const &p) | ||
void | glTranslate (Point3< float > const &p) | ||
void | glTranslate (Point3< double > const &p) | ||
template<class TriangleType > | |||
void | glTriangle3 (TriangleType &c) | ||
void | glutSolidSphere (GLdouble radius, GLint slices, GLint stacks) | ||
void | glutWireSphere (GLdouble radius, GLint slices, GLint stacks) | ||
void | glVertex (Point2< int > const &p) | ||
void | glVertex (Point2< short > const &p) | ||
void | glVertex (Point2< float > const &p) | ||
void | glVertex (Point2< double > const &p) | ||
void | glVertex (Point3< int > const &p) | ||
void | glVertex (Point3< short > const &p) | ||
void | glVertex (Point3< float > const &p) | ||
void | glVertex (Point3< double > const &p) | ||
int | GreatestCommonDivisor (const int a, const int b) | ||
template<class SPATIAL_INDEX , class OBJPOINTDISTFUNCTOR , class OBJMARKER > | |||
SPATIAL_INDEX::ObjPtr | GridClosest (SPATIAL_INDEX &Si, OBJPOINTDISTFUNCTOR _getPointDistance, OBJMARKER &_marker, const typename OBJPOINTDISTFUNCTOR::QueryType &_p_obj, const typename SPATIAL_INDEX::ScalarType &_maxDist, typename SPATIAL_INDEX::ScalarType &_minDist, typename SPATIAL_INDEX::CoordType &_closestPt) | ||
template<class SPATIAL_INDEX , class OBJPOINTDISTFUNCTOR , class OBJMARKER > | |||
SPATIAL_INDEX::ObjPtr | GridClosest2D (SPATIAL_INDEX &Si, OBJPOINTDISTFUNCTOR _getPointDistance, OBJMARKER &_marker, const typename OBJPOINTDISTFUNCTOR::QueryType &_p_obj, const typename SPATIAL_INDEX::ScalarType &_maxDist, typename SPATIAL_INDEX::ScalarType &_minDist, typename SPATIAL_INDEX::CoordType &_closestPt) | ||
template<class SPATIALINDEXING , class OBJRAYISECTFUNCTOR , class OBJMARKER > | |||
SPATIALINDEXING::ObjPtr | GridDoRay (SPATIALINDEXING &_Si, OBJRAYISECTFUNCTOR &_rayIntersector, OBJMARKER &_marker, const Ray3< typename SPATIALINDEXING::ScalarType > &_ray, const typename SPATIALINDEXING::ScalarType &_maxDist, typename SPATIALINDEXING::ScalarType &_t) | ||
template<class SPATIALINDEXING , class OBJRAYISECTFUNCTOR , class OBJMARKER > | |||
SPATIALINDEXING::ObjPtr | GridDoRay2D (SPATIALINDEXING &_Si, OBJRAYISECTFUNCTOR &_rayIntersector, OBJMARKER &_marker, const Ray2< typename SPATIALINDEXING::ScalarType > &_ray, const typename SPATIALINDEXING::ScalarType &_maxDist, typename SPATIALINDEXING::ScalarType &_t) | ||
template<class SPATIALINDEXING , class OBJMARKER , class OBJPTRCONTAINER > | |||
unsigned int | GridGetInBox (SPATIALINDEXING &_Si, OBJMARKER &_marker, const vcg::Box3< typename SPATIALINDEXING::ScalarType > &_bbox, OBJPTRCONTAINER &_objectPtrs) | ||
template<class SPATIALINDEXING , class OBJMARKER , class OBJPTRCONTAINER > | |||
unsigned int | GridGetInBox2D (SPATIALINDEXING &_Si, OBJMARKER &_marker, const vcg::Box2< typename SPATIALINDEXING::ScalarType > &_bbox, OBJPTRCONTAINER &_objectPtrs, bool update_global_mark=true) | ||
template<class SPATIALINDEXING , class OBJPOINTDISTFUNCTOR , class OBJMARKER , class OBJPTRCONTAINER , class DISTCONTAINER , class POINTCONTAINER > | |||
unsigned int | GridGetInSphere (SPATIALINDEXING &_Si, OBJPOINTDISTFUNCTOR &_getPointDistance, OBJMARKER &_marker, const typename SPATIALINDEXING::CoordType &_p, const typename SPATIALINDEXING::ScalarType &_r, OBJPTRCONTAINER &_objectPtrs, DISTCONTAINER &_distances, POINTCONTAINER &_points) | ||
template<class SPATIALINDEXING , class OBJPOINTDISTFUNCTOR , class OBJMARKER , class OBJPTRCONTAINER , class DISTCONTAINER , class POINTCONTAINER > | |||
unsigned int | GridGetKClosest (SPATIALINDEXING &_Si, OBJPOINTDISTFUNCTOR &_getPointDistance, OBJMARKER &_marker, const unsigned int _k, const typename SPATIALINDEXING::CoordType &_p, const typename SPATIALINDEXING::ScalarType &_maxDist, OBJPTRCONTAINER &_objectPtrs, DISTCONTAINER &_distances, POINTCONTAINER &_points) | ||
Transform | interpolate (const Transform &a, const Transform &b, float t) | ||
Computes the linear interpolation between 2 transforms. | |||
template<class S > | |||
Quaternion< S > | Interpolate (Quaternion< S > a, Quaternion< S > b, double t) | ||
template<class S , class RotationType > | |||
Similarity< S, RotationType > | Interpolate (const Similarity< S, RotationType > &a, const Similarity< S, RotationType > &b, const S t) | ||
template<class TriangleType , class ScalarType > | |||
bool | InterpolationParameters (const TriangleType t, const int Axis, const Point3< ScalarType > &P, Point3< ScalarType > &L) | ||
template<class TriangleType , class ScalarType > | |||
bool | InterpolationParameters (const TriangleType t, const Point3< ScalarType > &N, const Point3< ScalarType > &P, Point3< ScalarType > &L) | ||
Handy Wrapper of the above one that uses the passed normal N to choose the right orientation. | |||
template<class TriangleType , class ScalarType > | |||
bool | InterpolationParameters (const TriangleType t, const Point3< ScalarType > &P, Point3< ScalarType > &L) | ||
Handy Wrapper of the above one that calculate the normal on the triangle. | |||
template<class ScalarType > | |||
bool | InterpolationParameters2 (const Point2< ScalarType > &V1, const Point2< ScalarType > &V2, const Point2< ScalarType > &V3, const Point2< ScalarType > &P, Point3< ScalarType > &L) | ||
template<class S > | |||
bool | Intersect (size_t cur, int v2, std::vector< int > &next, std::vector< Point2< S > > &points2) | ||
template<typename TriMeshType , class ScalarType , class IndexingType > | |||
bool | Intersection (Plane3< ScalarType > pl, IndexingType *grid, typename std::vector< typename TriMeshType::FaceType * > &v) | ||
template<typename TriMeshType , class ScalarType > | |||
void | IntersectionBallMesh (TriMeshType &m, const vcg::Sphere3< ScalarType > &ball, TriMeshType &res, float tol=0) | ||
template<typename TriMeshType , class ScalarType , class IndexingType > | |||
void | IntersectionBallMesh (IndexingType *grid, TriMeshType &m, const vcg::Sphere3< ScalarType > &ball, TriMeshType &res, float tol=0) | ||
template<class T > | |||
bool | IntersectionLineBox (const Box3< T > &box, const Line3< T > &r, Point3< T > &coord) | ||
template<class T > | |||
static bool | IntersectionLineCylinder (const Segment3< T > &cylSeg, T radius, const Line3< T > &line, Point3< T > &p0, Point3< T > &p1, T &t0, T &t1) | ||
template<class T > | |||
bool | IntersectionLinePlane (const Line3< T > &li, const Plane3< T > &pl, Point3< T > &po) | ||
intersection between line and plane | |||
template<class T > | |||
bool | IntersectionLineSphere (const Sphere3< T > &sp, const Line3< T > &li, Point3< T > &p0, Point3< T > &p1) | ||
interseciton between sphere and line | |||
template<class T > | |||
bool | IntersectionLineTriangle (const Line3< T > &line, const Point3< T > &vert0, const Point3< T > &vert1, const Point3< T > &vert2, T &t, T &u, T &v) | ||
template<class ScalarType > | |||
bool | IntersectionPlaneBox (const vcg::Plane3< ScalarType > &pl, vcg::Box3< ScalarType > &bbox) | ||
template<typename GridType , typename ScalarType > | |||
bool | IntersectionPlaneGrid (GridType &grid, Plane3< ScalarType > plane, std::vector< typename GridType::Cell * > &cells) | ||
template<class T > | |||
bool | IntersectionPlaneLine (const Plane3< T > &pl, const Line3< T > &li, Point3< T > &po) | ||
intersection between line and plane | |||
template<typename TriMeshType , typename EdgeMeshType , class ScalarType > | |||
bool | IntersectionPlaneMesh (TriMeshType &m, Plane3< ScalarType > pl, EdgeMeshType &em) | ||
More stable version of the IntersectionPlaneMesh function. | |||
template<typename TriMeshType , typename EdgeMeshType , class ScalarType > | |||
bool | IntersectionPlaneMeshOld (TriMeshType &m, Plane3< ScalarType > pl, EdgeMeshType &em) | ||
Compute the intersection between a trimesh and a plane building an edge mesh. | |||
template<class T > | |||
bool | IntersectionPlanePlane (const Plane3< T > &plane0, const Plane3< T > &plane1, Line3< T > &line) | ||
template<class T > | |||
bool | IntersectionPlaneSegment (const Plane3< T > &pl, const Segment3< T > &s, Point3< T > &p0) | ||
intersection between segment and plane | |||
template<class ScalarType > | |||
bool | IntersectionPlaneSegmentEpsilon (const Plane3< ScalarType > &pl, const Segment3< ScalarType > &sg, Point3< ScalarType > &po, const ScalarType epsilon=ScalarType(1e-8)) | ||
intersection between segment and plane | |||
template<typename TRIANGLETYPE > | |||
bool | IntersectionPlaneTriangle (const Plane3< typename TRIANGLETYPE::ScalarType > &pl, const TRIANGLETYPE &tr, Segment3< typename TRIANGLETYPE::ScalarType > &sg) | ||
intersection between plane and triangle | |||
template<class T > | |||
bool | IntersectionRayBox (const Box3< T > &box, const Ray3< T > &r, Point3< T > &coord) | ||
template<typename TriMeshType , class ScalarType > | |||
bool | IntersectionRayMesh (TriMeshType *m, const Line3< ScalarType > &ray, Point3< ScalarType > &hitPoint) | ||
template<typename TriMeshType , class ScalarType > | |||
bool | IntersectionRayMesh (TriMeshType *m, const Line3< ScalarType > &ray, Point3< ScalarType > &hitPoint, ScalarType &bar1, ScalarType &bar2, ScalarType &bar3, typename TriMeshType::FacePointer fp) | ||
template<class T > | |||
bool | IntersectionRayTriangle (const Ray3< T > &ray, const Point3< T > &vert0, const Point3< T > &vert1, const Point3< T > &vert2, T &t, T &u, T &v) | ||
template<class ScalarType > | |||
bool | IntersectionSegmentBox (const Box3< ScalarType > &box, const Segment3< ScalarType > &s, Point3< ScalarType > &coord) | ||
template<class ScalarType > | |||
int | IntersectionSegmentBox (const Box3< ScalarType > &box, const Segment3< ScalarType > &s, Point3< ScalarType > &coord0, Point3< ScalarType > &coord1) | ||
template<class T > | |||
static bool | IntersectionSegmentCylinder (const Segment3< T > &cylSeg, T radius, const Segment3< T > &seg, Point3< T > &p0, Point3< T > &p1) | ||
template<class SCALAR_TYPE > | |||
int | IntersectionSegmentSphere (const Sphere3< SCALAR_TYPE > &sphere, const Segment3< SCALAR_TYPE > &segment, Point3< SCALAR_TYPE > &t0, Point3< SCALAR_TYPE > &t1) | ||
template<class ScalarType > | |||
bool | IntersectionSegmentTriangle (const vcg::Segment3< ScalarType > &seg, const Point3< ScalarType > &vert0, const Point3< ScalarType > &vert1, const Point3< ScalarType > &vert2, ScalarType &a, ScalarType &b) | ||
template<class TriangleType > | |||
bool | IntersectionSegmentTriangle (const vcg::Segment3< typename TriangleType::ScalarType > &seg, const TriangleType &t, typename TriangleType::ScalarType &a, typename TriangleType::ScalarType &b) | ||
template<class SphereType > | |||
bool | IntersectionSphereSphere (const SphereType &s0, const SphereType &s1) | ||
template<class SCALAR_TYPE , class TRIANGLETYPE > | |||
bool | IntersectionSphereTriangle (const vcg::Sphere3< SCALAR_TYPE > &sphere, TRIANGLETYPE triangle, vcg::Point3< SCALAR_TYPE > &witness, std::pair< SCALAR_TYPE, SCALAR_TYPE > *res=NULL) | ||
template<class ScalarType > | |||
bool | IntersectionTriangleBox (const vcg::Box3< ScalarType > &bbox, const vcg::Point3< ScalarType > &p0, const vcg::Point3< ScalarType > &p1, const vcg::Point3< ScalarType > &p2) | ||
template<typename TRIANGLETYPE > | |||
bool | IntersectionTriangleTriangle (const TRIANGLETYPE &t0, const TRIANGLETYPE &t1) | ||
intersection between two triangles | |||
template<class T > | |||
bool | IntersectionTriangleTriangle (Point3< T > V0, Point3< T > V1, Point3< T > V2, Point3< T > U0, Point3< T > U1, Point3< T > U2) | ||
template<class S , class RotationType > | |||
Similarity< S, RotationType > | Inverse (const Similarity< S, RotationType > &m) | ||
template<class S > | |||
Quaternion< S > | Inverse (const Quaternion< S > &q) | ||
template<class T > | |||
Matrix44< T > | Inverse (const Matrix44< T > &m) | ||
template<class S , class RotationType > | |||
Similarity< S, RotationType > & | Invert (Similarity< S, RotationType > &m) | ||
template<class S > | |||
Quaternion< S > & | Invert (Quaternion< S > &q) | ||
template<class T > | |||
void | isect2 (Point3< T > VTX0, Point3< T > VTX1, Point3< T > VTX2, float VV0, float VV1, float VV2, float D0, float D1, float D2, float *isect0, float *isect1, Point3< T > &isectpoint0, Point3< T > &isectpoint1) | ||
template<class SCALAR_TYPE > | |||
bool | IsInsideTrianglePoint (const Triangle2< SCALAR_TYPE > &t, const Point2< SCALAR_TYPE > &p) | ||
interseciton between point and triangle | |||
template<typename MATRIX_TYPE , typename POINT_TYPE > | |||
static void | Jacobi (MATRIX_TYPE &w, POINT_TYPE &d, MATRIX_TYPE &v, int &nrot) | ||
template<typename MATRIX_TYPE > | |||
static void | JacobiRotate (MATRIX_TYPE &A, typename MATRIX_TYPE::ScalarType s, typename MATRIX_TYPE::ScalarType tau, int i, int j, int k, int l) | ||
template<class ScalarType > | |||
void | LineLineDistance (const vcg::Line3< ScalarType > &mLine0, const vcg::Line3< ScalarType > &mLine1, bool ¶llel, ScalarType &dist, vcg::Point3< ScalarType > &mClosestPoint0, vcg::Point3< ScalarType > &mClosestPoint1) | ||
template<class SCALAR_TYPE > | |||
bool | LineLineIntersection (const vcg::Line2< SCALAR_TYPE > &l0, const vcg::Line2< SCALAR_TYPE > &l1, Point2< SCALAR_TYPE > &p) | ||
template<class ScalarType > | |||
void | LinePointDistance (const Line3< ScalarType > &l, const Point3< ScalarType > &p, Point3< ScalarType > &closest, ScalarType &dist) | ||
template<class ScalarType > | |||
void | LinePointSquaredDistance (const Line3< ScalarType > &l, const Point3< ScalarType > &p, Point3< ScalarType > &closest, ScalarType &dist) | ||
template<class SCALAR_TYPE > | |||
bool | LineSegmentIntersection (const vcg::Line2< SCALAR_TYPE > &line, const vcg::Segment2< SCALAR_TYPE > &seg, Point2< SCALAR_TYPE > &p_inters) | ||
interseciton between point and triangle | |||
template<typename Derived > | |||
const Eigen::CwiseBinaryOp < Eigen::ei_scalar_max_op < typename Eigen::ei_traits < Derived >::Scalar >, Derived, Eigen::NestByValue< typename Derived::ConstantReturnType > > | LowClampToZero (const Eigen::MatrixBase< Derived > &p) | ||
template<class SCALARTYPE > | |||
Point3< SCALARTYPE > | LowClampToZero (const Point3< SCALARTYPE > &p) | ||
template<class S , class M > | |||
void | MatrixToQuaternion (const M &m, Quaternion< S > &q) | ||
template<typename Scalar > | |||
Scalar | MaxCoeff (Point3< Scalar > const &p) | ||
template<typename Scalar > | |||
int | MaxCoeffId (Point3< Scalar > const &p) | ||
template<class ScalarType , bool NORM> | |||
vcg::Point2< ScalarType > | Mirror (const vcg::Line2< ScalarType, NORM > &l, const vcg::Point2< ScalarType > &p) | ||
template<class T > | |||
bool | NoDivTriTriIsect (const Point3< T > V0, const Point3< T > V1, const Point3< T > V2, const Point3< T > U0, const Point3< T > U1, const Point3< T > U2) | ||
template<typename Derived1 > | |||
Eigen::ei_traits< Derived1 > ::Scalar | Norm (const Eigen::MatrixBase< Derived1 > &p) | ||
template<class T > | |||
T | Norm (Point2< T > const &p) | ||
template<class T > | |||
T | Norm (const Point4< T > &p) | ||
template<class P3ScalarType > | |||
P3ScalarType | Norm (Point3< P3ScalarType > const &p) | ||
template<class CoordType > | |||
CoordType | Normal (std::vector< CoordType > &Pos) | ||
template<class Point3Type > | |||
Point3Type | Normal (Point3Type const &p0, Point3Type const &p1, Point3Type const &p2) | ||
template<class TetraType > | |||
Point3< typename TetraType::ScalarType > | Normal (const TetraType &t, const int &face) | ||
Returns the normal to the face face of the tetrahedron t. | |||
template<class T > | |||
Point2< T > & | Normalize (Point2< T > &p) | ||
template<class P3ScalarType > | |||
Point3< P3ScalarType > & | Normalize (Point3< P3ScalarType > &p) | ||
template<class TriangleType > | |||
TriangleType::CoordType | NormalizedTriangleNormal (const TriangleType &t) | ||
Returns the normal to the plane passing through p0,p1,p2. | |||
template<class SCALAR_TYPE > | |||
Point2< SCALAR_TYPE > | operator* (const Similarity2< SCALAR_TYPE > &m, const Point2< SCALAR_TYPE > &p) | ||
template<class S , class RotationType > | |||
Point3< S > | operator* (const Similarity< S, RotationType > &m, const Point3< S > &p) | ||
template<class T > | |||
Point3< T > | operator* (const Matrix44< T > &m, const Point3< T > &p) | ||
Premultiply. | |||
template<class T > | |||
Point2< T > | operator* (const T s, Point2< T > const &p) | ||
template<class PointType , class T > | |||
void | operator*= (std::vector< PointType > &vert, const Matrix44< T > &m) | ||
template<class T > | |||
Point2< T > | operator- (Point2< T > const &p) | ||
template<class TriangleType > | |||
TriangleType::ScalarType | Perimeter (const TriangleType &t) | ||
template<class TO_PICK_CONT_TYPE > | |||
int | Pick (const int &x, const int &y, TO_PICK_CONT_TYPE &m, std::vector< typename TO_PICK_CONT_TYPE::value_type * > &result, void(draw_func)(typename TO_PICK_CONT_TYPE::value_type &), int width=4, int height=4) | ||
template<class PointType > | |||
bool | Pick (const int &x, const int &y, PointType &pp) | ||
template<class ScalarType > | |||
void | PlanePointSquaredDistance (const vcg::Plane3< ScalarType > &Pl, const Point3< ScalarType > &p, Point3< ScalarType > &closest, ScalarType &dist) | ||
template<class ScalarType > | |||
ScalarType | PlanePointSquaredDistance (const vcg::Plane3< ScalarType > &Pl, const Point3< ScalarType > &p) | ||
template<class ScalarType > | |||
void | PointBoxDistance (const Point3< ScalarType > &p, const Box3< ScalarType > &b, ScalarType &dist) | ||
template<class Scalar > | |||
Scalar | PointFilledBoxDistance (const Point3< Scalar > &p, const Box3< Scalar > &bbox) | ||
template<class ScalarType > | |||
bool | PointInsidePolygon (vcg::Point2< ScalarType > p, const std::vector< vcg::Segment2< ScalarType > > &polygon) | ||
template<class T > | |||
static bool | PointIsInSegment (const Point3< T > &point, const Segment3< T > &seg) | ||
template<class PolygonType > | |||
void | PolyAngleDeviation (const PolygonType &F, typename PolygonType::ScalarType &AvgDev, typename PolygonType::ScalarType &MaxDev) | ||
template<class PolygonType > | |||
PolygonType::ScalarType | PolyArea (const PolygonType &F) | ||
template<class PolygonType > | |||
PolygonType::ScalarType | PolyAspectRatio (const PolygonType &F, bool isotropic=false) | ||
template<class PolygonType > | |||
PolygonType::CoordType | PolyBarycenter (const PolygonType &F) | ||
template<class PolygonType > | |||
vcg::Plane3< typename PolygonType::ScalarType > | PolyFittingPlane (const PolygonType &F) | ||
template<class PolygonType > | |||
PolygonType::ScalarType | PolyFlatness (const PolygonType &F) | ||
template<class PolygonType > | |||
PolygonType::CoordType | PolygonNormal (const PolygonType &F) | ||
template<class PolygonType > | |||
void | PolyNormals (const PolygonType &F, std::vector< typename PolygonType::CoordType > &Norms) | ||
template<class PolygonType > | |||
PolygonType::ScalarType | PolyNormDeviation (const PolygonType &F) | ||
template<class PolygonType > | |||
void | PolyPCA (const PolygonType &F, typename PolygonType::CoordType PCA[]) | ||
template<class PolygonType > | |||
PolygonType::ScalarType | PolyPerimeter (const PolygonType &F) | ||
template<class PolygonType > | |||
void | PolyScaledPCA (const PolygonType &F, typename PolygonType::CoordType PCA[]) | ||
template<class P3ScalarType > | |||
P3ScalarType | PSDist (const Point3< P3ScalarType > &p, const Point3< P3ScalarType > &v1, const Point3< P3ScalarType > &v2, Point3< P3ScalarType > &q) | ||
Point(p) Edge(v1-v2) dist, q is the point in v1-v2 with min dist. | |||
template<typename TYPE > | |||
static TYPE | pythagora (TYPE a, TYPE b) | ||
template<class P3ScalarType > | |||
P3ScalarType | Quality (Point3< P3ScalarType > const &p0, Point3< P3ScalarType > const &p1, Point3< P3ScalarType > const &p2) | ||
template<class TriangleType > | |||
TriangleType::ScalarType | QualityFace (const TriangleType &t) | ||
Return the _q of the face, the return value is in [0,sqrt(3)/2] = [0 - 0.866.. ]. | |||
template<class P3ScalarType > | |||
P3ScalarType | QualityMeanRatio (Point3< P3ScalarType > const &p0, Point3< P3ScalarType > const &p1, Point3< P3ScalarType > const &p2) | ||
template<class P3ScalarType > | |||
P3ScalarType | QualityRadii (Point3< P3ScalarType > const &p0, Point3< P3ScalarType > const &p1, Point3< P3ScalarType > const &p2) | ||
template<class S , class M > | |||
void | QuaternionToMatrix (const Quaternion< S > &q, M &m) | ||
template<class SCALAR_TYPE > | |||
bool | RayBoxIntersection (const vcg::Ray2< SCALAR_TYPE > &r, const vcg::Box2< SCALAR_TYPE > &bbox, Point2< SCALAR_TYPE > &p_inters) | ||
interseciton between point and triangle | |||
template<class SCALAR_TYPE > | |||
bool | RayLineIntersection (const vcg::Line2< SCALAR_TYPE > &l, const vcg::Ray2< SCALAR_TYPE > &r, Point2< SCALAR_TYPE > &p) | ||
template<class SCALAR_TYPE > | |||
bool | RaySegmentIntersection (const vcg::Ray2< SCALAR_TYPE > &r, const vcg::Segment2< SCALAR_TYPE > &seg, Point2< SCALAR_TYPE > &p_inters) | ||
interseciton between point and triangle | |||
template<class S > | |||
void | RotationalPartByPolarDecomposition (const vcg::Matrix33< S > &m, vcg::Matrix33< S > &r) | ||
template<class ScalarType > | |||
ScalarType | Segment2DSegment2DDistance (const vcg::Segment2< ScalarType > &S0, const vcg::Segment2< ScalarType > &S1, vcg::Point2< ScalarType > &p_clos0, vcg::Point2< ScalarType > &p_clos1) | ||
template<class ScalarType > | |||
void | SegmentPointDistance (Segment3< ScalarType > s, const Point3< ScalarType > &p, Point3< ScalarType > &clos, ScalarType &dist) | ||
template<class ScalarType > | |||
void | SegmentPointSquaredDistance (const Segment3< ScalarType > &s, const Point3< ScalarType > &p, Point3< ScalarType > &closest, ScalarType &sqr_dist) | ||
template<class ScalarType > | |||
void | SegmentSegmentDistance (const vcg::Segment3< ScalarType > &s0, const vcg::Segment3< ScalarType > &s1, ScalarType &dist, bool ¶llel, vcg::Point3< ScalarType > &closest0, vcg::Point3< ScalarType > &closest1) | ||
template<class SCALAR_TYPE > | |||
bool | SegmentSegmentIntersection (const vcg::Segment2< SCALAR_TYPE > &seg0, const vcg::Segment2< SCALAR_TYPE > &seg1, Point2< SCALAR_TYPE > &p_inters) | ||
interseciton between two segments | |||
template<typename TYPE > | |||
static TYPE | sign (TYPE a, TYPE b) | ||
template<class T > | |||
T | SignedDistancePlanePoint (const Plane3< T, true > &plane, const Point3< T > &point) | ||
Distance plane - point and vv. (Move these function to somewhere else) | |||
template<class T > | |||
T | SignedDistancePointPlane (const Point3< T > &point, const Plane3< T, true > &plane) | ||
template<typename MATRIX_TYPE > | |||
static void | SingularValueBacksubstitution (const MATRIX_TYPE &U, const typename MATRIX_TYPE::ScalarType *W, const MATRIX_TYPE &V, typename MATRIX_TYPE::ScalarType *x, const typename MATRIX_TYPE::ScalarType *b) | ||
template<typename MATRIX_TYPE > | |||
static bool | SingularValueDecomposition (MATRIX_TYPE &A, typename MATRIX_TYPE::ScalarType *W, MATRIX_TYPE &V, const SortingStrategy sorting=LeaveUnsorted, const int max_iters=30) | ||
template<typename MATRIX_TYPE > | |||
void | Sort (MATRIX_TYPE &U, typename MATRIX_TYPE::ScalarType W[], MATRIX_TYPE &V, const SortingStrategy sorting) | ||
template<typename MATRIX_TYPE , typename POINT_TYPE > | |||
void | SortEigenvaluesAndEigenvectors (POINT_TYPE &eigenvalues, MATRIX_TYPE &eigenvectors, bool absComparison=false) | ||
template<class ScalarType > | |||
void | SpherePointDistance (const Sphere3< ScalarType > &sphere, const Point3< ScalarType > &p, ScalarType &dist) | ||
template<class ScalarType > | |||
void | SphereSphereDistance (const Sphere3< ScalarType > &sphere0, const Sphere3< ScalarType > &sphere1, ScalarType &dist) | ||
template<typename TYPE > | |||
static TYPE | sqr (TYPE a) | ||
template<typename Derived1 , typename Derived2 > | |||
Eigen::ei_traits< Derived1 > ::Scalar | SquaredDistance (const Eigen::MatrixBase< Derived1 > &p1, const Eigen::MatrixBase< Derived2 > &p2) | ||
template<class T > | |||
T | SquaredDistance (Point2< T > const &p1, Point2< T > const &p2) | ||
template<class T > | |||
T | SquaredDistance (const Point4< T > &p1, const Point4< T > &p2) | ||
template<class P3ScalarType > | |||
P3ScalarType | SquaredDistance (Point3< P3ScalarType > const &p1, Point3< P3ScalarType > const &p2) | ||
template<typename Derived1 > | |||
Eigen::ei_traits< Derived1 > ::Scalar | SquaredNorm (const Eigen::MatrixBase< Derived1 > &p) | ||
template<class T > | |||
T | SquaredNorm (Point2< T > const &p) | ||
template<class T > | |||
T | SquaredNorm (const Point4< T > &p) | ||
template<class P3ScalarType > | |||
P3ScalarType | SquaredNorm (Point3< P3ScalarType > const &p) | ||
template<class P3ScalarType > | |||
double | stable_dot (Point3< P3ScalarType > const &p0, Point3< P3ScalarType > const &p1) | ||
template<class T > | |||
double | StableDot (Point4< T > const &p0, Point4< T > const &p1) | ||
slower version of dot product, more stable (double precision only) | |||
template<class POINT_CONTAINER > | |||
void | TessellatePlanarPolygon2 (POINT_CONTAINER &points2, std::vector< int > &output) | ||
template<class POINT_CONTAINER > | |||
void | TessellatePlanarPolygon3 (POINT_CONTAINER &points, std::vector< int > &output) | ||
template<class T > | |||
Matrix44< T > & | Transpose (Matrix44< T > &m) | ||
template<typename Scalar , int Size, int StorageOrder> | |||
EIGEN_DEPRECATED Eigen::Matrix < Scalar, Size, Size, StorageOrder > & | Transpose (const Eigen::Matrix< Scalar, Size, Size, StorageOrder > &m) | ||
template<class T > | |||
bool | tri_tri_intersect_with_isectline (Point3< T > V0, Point3< T > V1, Point3< T > V2, Point3< T > U0, Point3< T > U1, Point3< T > U2, bool &coplanar, Point3< T > &isectpt1, Point3< T > &isectpt2) | ||
template<class TriangleType > | |||
TriangleType::CoordType | TriangleNormal (const TriangleType &t) | ||
Returns the normal to the plane passing through p0,p1,p2. | |||
template<class ScalarType > | |||
void | TrianglePointDistance (const vcg::Triangle3< ScalarType > &t, const typename vcg::Point3< ScalarType > &q, ScalarType &dist, typename vcg::Point3< ScalarType > &closest) | ||
template<class ScalarType > | |||
void | TriangleSegmentDistance (const vcg::Triangle3< ScalarType > &t, const vcg::Segment3< ScalarType > &s, ScalarType &dist) | ||
template<class ScalarType > | |||
void | TriangleTriangleDistance (const vcg::Triangle3< ScalarType > &t0, const vcg::Triangle3< ScalarType > &t1, ScalarType &dist) | ||
template<class ScalarType > | |||
bool | TriangleTriangleIntersect2D (const vcg::Triangle2< ScalarType > &tr0, const vcg::Triangle2< ScalarType > &tr1) | ||
template<class S > | |||
void | WeightedFitPlaneToPointSet (const std::vector< Point3< S > > &pointVec, const std::vector< S > &weightVec, Plane3< S > &plane) | ||
Compute the plane best fitting a set of points. | |||
Matrix33 | |||
Class Matrix33. This is the class for definition of a matrix 3x3.
| |||
typedef Matrix33< short > | Matrix33s | ||
typedef Matrix33< int > | Matrix33i | ||
typedef Matrix33< float > | Matrix33f | ||
typedef Matrix33< double > | Matrix33d | ||
template<class S > | |||
vcg::Matrix33< S > | TransformationMatrix (const vcg::Point3< S > dirX, const vcg::Point3< S > dirY, const vcg::Point3< S > dirZ) | ||
template<class S > | |||
Matrix33< S > | Inverse (const Matrix33< S > &m) | ||
template<class S > | |||
Matrix33< S > | RotationMatrix (vcg::Point3< S > v0, vcg::Point3< S > v1, bool normalized=true) | ||
given 2 vector centered into origin calculate the rotation matrix from first to the second | |||
template<class S > | |||
Matrix33< S > | RotationMatrix (const vcg::Point3< S > &axis, const float &angleRad) | ||
return the rotation matrix along axis | |||
template<class S > | |||
Matrix33< S > | RandomRotation () |
*
implementation of the 4PCS method from the paper: "4-Points Congruent Sets for Robust Pairwise Surface Registration" D.Aiger, N.Mitra D.Cohen-Or, SIGGRAPH 2008 ps: the name of the variables are out of vcg standard but like the one used in the paper pseudocode.
BIT-QUAD creation support: a collection of methods that, starting from a triangular mesh, will create your quad-pure or quad-domainant mesh.
They all require:
[ list of available methods: ]
void MakePureByRefine(Mesh &m)
void MakePureByCatmullClark(MeshType &m)
bool MakePureByFlip(MeshType &m [, int maxdist] )
bool MakeTriEvenBySplit(MeshType& m) bool MakeTriEvenByDelete(MeshType& m)
void MakeDominant(MeshType &m, int level)
void MakeBitTriOnly(MeshType &m)
int SplitNonFlatQuads(MeshType &m, ScalarType toleranceDeg=0){
TESTING METHODS:
bool IsTriOnly(const MeshType &m); // only triangles bool IsQuadOnly(const MeshType &m); // only quads bool IsTriQuadOnly(const MeshType &m); // only quads or triangles
(more info in comments before each method)
This static funtion is used to see if one point is inside a triangular mesh or not... First parameter is a spatial indexing structure (eg. a grid) used to perform research operation, initialized with faces of the triangular mesh of type TriMeshType
class Shot
Shot is made of two elements:
the Instrinsics paramaters, which are stored as a Camera type (see vcg/math/camera) and that determines how a point in the frame of the camera is projected in the 2D projection plane
the Extrinsics parameters, which are stored in the class Shot (type ReferenceFrame) and that describe viewpoint and view direction.
Some important notes about the usage of this class:
The World coordinates system is assumed to be RIGHT-HANDED. The Shot reference frame is assumed to be RIGHT-HANDED. The associated Camera is assumed to point in the negative direction of the Z axis of the Shot coordinates system (reference frame). As a consequence, the Camera coordinates system is LEFT-HANDED. The Extrinsics parameters are kept as a rotation matrix "rot" and a translation vector "tra" The translation matrix "tra" corresponds to the viewpoint of the Shot while the rotation matrix "rot" corresponds to the axis of the reference frame by row, i.e. rot[0][0|1|2] == X axis rot[1][0|1|2] == Y axis rot[2][0|1|2] == Z axis
It follows that the matrix made with the upper left 3x3 equal to rot and the 4th colum equal to tra and (0,0,0,1) in the bottom row transform a point from world coordiantes to the reference frame of the shot.
EVERYTHING YOU ALWAYS WANTED TO KNOW ABOUT COLORS BUT WERE AFRAID TO ASK
UNDERSTANDING ILLUMINANTS -------------------------
ILLUMINANT A - INCANDESCENT
The CIE standard illuminant A was first recommended in 1931 to represent incandescent light sources with an approximate color temperature of 2856 degrees Kelvin.
ILLUMINANT C - SUNLIGHT
CIE standard illuminant C was recommended in 1931 to represent average daylight with a color temperature of 6774 degrees Kelvin.
ILLUMINANT D50 - DAYLIGHT AT 5000K - (DAYLIGHT - RED SHADE)
CIE standard illuminant D50 is correlated color temperature D illuminant which is calculated from the standard illuminant D65. This standard illuminant represents Daylight at 5000 degrees Kelvin and is the ANSI standard illuminant used in the graphic arts industry.
ILLUMINANT D65 - DAYLIGHT AT 6500K (DAYLIGHT - NEUTRAL)
The CIE standard illuminant D65 represents daylight at approximately 6500 degrees Kelvin. This standard and the method for calculating different correlating color temperatures was introduced in 1964.
ILLUMINANT D75 - DAYLIGHT - BLUE SHADE
...
ILLUMINANT F2 - COOL WHITE (COOL WHITE FLUORESCENT)
The CIE standard illuminant F2 represents the typical cool white fluorescent source. The spikes which protrude above the continuous graph in the fluorescent illuminants represent the power measurements at the principle mercury emission lines.
ILLUMINANT F7 - BROAD BAND DAYLIGHT (BROAD BAND WHITE FLUORESCENT)
The CIE standard Illuminant F7 represents a broad band daylight fluorescent source. Examples of this type of source are the GE® and Philips® Daylight fluorescent sources.
ILLUMINANT F11 - NARROW BAND WHITE (TL84 FLUORESCENT)
The CIE standard illuminant F11 represents a narrow band white fluorescent source. Sources similar to this illuminant are the Philips® F40AX41 and TL841, as well as the GE® SPX41.
ILLUMINANT F12 - ULTRALUME 3000 FLUORESCENT
...
References ----------
Danny Pascale, "RGB coordinates of the Macbeth ColorChecker".
X-Rite Incorporated, "Understanding Illuminants", Whitepaper, http://www.xrite.com/documents/apps/public/whitepapers/Ca00002a.pdf
http://www.brucelindbloom.com - a web site with a huge amount of information about color theory.
Returns the closest posistion of a point _p and its distance
_p | a 3d point |
_maxDist | maximum distance not to search beyond. |
_getPointDistance | (templated type) a functor object used to calculate distance from a grid object to the point _p. |
_minDist | the returned closest distance |
_closestPt | the returned closest point |
Cache virtual base class. You are required to implement the pure virtual functions get, drop and size.
Allows to insert tokens, update priorities and generally control the cache.
Base class for Cache and last cache in the GCache system. You should never interact with this class.
Holds the resources to be cached. The Priority template argument can simply be a floating point number or something more complex, (frame and error in pixel); the only requirement is the existence of a < comparison operator
typedef bool vcg::CallBack(const char *str) |
Definition at line 46 of file callback.h.
typedef bool vcg::CallBackPos(const int pos, const char *str) |
Definition at line 47 of file callback.h.
typedef Frustum<double> vcg::Frustumd |
typedef Frustum<float> vcg::Frustumf |
typedef Histogram<double> vcg::Histogramd |
Definition at line 408 of file histogram.h.
typedef Histogram<float> vcg::Histogramf |
Definition at line 409 of file histogram.h.
typedef Matrix33<double> vcg::Matrix33d |
Definition at line 595 of file matrix33.h.
typedef Matrix33<float> vcg::Matrix33f |
Definition at line 594 of file matrix33.h.
typedef Matrix33<int> vcg::Matrix33i |
Definition at line 593 of file matrix33.h.
typedef Matrix33<short> vcg::Matrix33s |
Definition at line 592 of file matrix33.h.
typedef Matrix44<double> vcg::Matrix44d |
Definition at line 236 of file matrix44.h.
typedef Matrix44<float> vcg::Matrix44f |
Definition at line 235 of file matrix44.h.
typedef Matrix44<int> vcg::Matrix44i |
Definition at line 234 of file matrix44.h.
typedef Matrix44<short> vcg::Matrix44s |
Definition at line 233 of file matrix44.h.
typedef Obox3<double> vcg::Obox3d |
typedef Obox3<float> vcg::Obox3f |
typedef Obox3<int> vcg::Obox3i |
typedef Obox3<short> vcg::Obox3s |
typedef Quaternion<double> vcg::Quaterniond |
Definition at line 431 of file quaternion.h.
typedef Quaternion<float> vcg::Quaternionf |
Definition at line 430 of file quaternion.h.
typedef Shot<double> vcg::Shotd |
Definition at line 510 of file vcg/math/shot.h.
typedef Shot<float> vcg::Shotf |
Definition at line 509 of file vcg/math/shot.h.
typedef Similarity2<double> vcg::Similarity2d |
Definition at line 57 of file similarity2.h.
typedef Similarity2<float> vcg::Similarity2f |
Definition at line 56 of file similarity2.h.
typedef void vcg::TaskFunc(int t, void *contest) |
interruptible function
Definition at line 53 of file callback.h.
enum vcg::ModifierType |
TetraEdgeCollapseOp | |
TriEdgeSwapOp | |
TriVertexSplitOp | |
TriEdgeCollapseOp | |
TetraEdgeSpliOpt | |
TetraEdgeSwapOp | |
TriEdgeFlipOp | |
QuadDiagCollapseOp | |
QuadEdgeCollapseOp |
Definition at line 108 of file local_optimization.h.
const Eigen::CwiseUnaryOp<Eigen::ei_scalar_abs_op<typename Eigen::ei_traits<Derived>::Scalar>, Derived> vcg::Abs | ( | const Eigen::MatrixBase< Derived > & | p | ) | [inline] |
Eigen::ei_traits<Derived1>::Scalar vcg::Angle | ( | const Eigen::MatrixBase< Derived1 > & | p1, |
const Eigen::MatrixBase< Derived2 > & | p2 | ||
) |
Eigen::ei_traits<Derived1>::Scalar vcg::AngleN | ( | const Eigen::MatrixBase< Derived1 > & | p1, |
const Eigen::MatrixBase< Derived2 > & | p2 | ||
) |
CoordType::ScalarType vcg::Area | ( | const std::vector< CoordType > & | Pos | ) |
Definition at line 78 of file polygon3.h.
void vcg::BestDim | ( | const Box3< scalar_type > | box, |
const scalar_type | voxel_size, | ||
Point3i & | dim | ||
) |
Definition at line 182 of file grid_util.h.
void vcg::BestDim | ( | const __int64 | elems, |
const Point3< scalar_type > & | size, | ||
Point3i & | dim | ||
) |
Calcolo dimensioni griglia. Calcola la dimensione della griglia in funzione della ratio del bounding box e del numero di elementi
Definition at line 193 of file grid_util.h.
void vcg::BestDim2D | ( | const Box2< scalar_type > | box, |
const scalar_type | voxel_size, | ||
Point2i & | dim | ||
) |
Definition at line 171 of file grid_util2d.h.
void vcg::BestDim2D | ( | const __int64 | elems, |
const Point2< scalar_type > & | size, | ||
Point2i & | dim | ||
) |
Calcolo dimensioni griglia. Calcola la dimensione della griglia in funzione della ratio del bounding box e del numero di elementi
Definition at line 182 of file grid_util2d.h.
void vcg::ComputeCovarianceMatrix | ( | const std::vector< Point3< S > > & | pointVec, |
Point3< S > & | barycenter, | ||
Eigen::Matrix< S, 3, 3 > & | m | ||
) |
compute the covariance matrix of a set of point
It returns also the barycenter of the point set
Definition at line 42 of file fitting3.h.
void vcg::ComputeCrossCovarianceMatrix | ( | const std::vector< Point3< S > > & | spVec, |
Point3< S > & | spBarycenter, | ||
const std::vector< Point3< S > > & | tpVec, | ||
Point3< S > & | tpBarycenter, | ||
Eigen::Matrix3d & | m | ||
) |
Compute cross covariance.
It computes the cross covariance matrix of two set of 3D points P and X; it returns also the barycenters of P and X. Ref:
Besl, McKay A method for registration of 3d Shapes IEEE TPAMI Vol 14, No 2 1992
Definition at line 49 of file point_matching.h.
void vcg::ComputeRigidMatchMatrix | ( | std::vector< Point3< S > > & | Pfix, |
std::vector< Point3< S > > & | Pmov, | ||
Quaternion< S > & | q, | ||
Point3< S > & | tr | ||
) |
Compute the roto-translation that applied to PMov bring them onto Pfix Rotation is computed as a quaternion.
E.g. it find a matrix such that:
Pfix[i] = res * Pmov[i]
Ref: Besl, McKay A method for registration of 3d Shapes IEEE TPAMI Vol 14, No 2 1992
Definition at line 89 of file point_matching.h.
void vcg::ComputeRigidMatchMatrix | ( | std::vector< Point3< S > > & | Pfix, |
std::vector< Point3< S > > & | Pmov, | ||
Matrix44< S > & | res | ||
) |
Compute the roto-translation that applied to PMov bring them onto Pfix Rotation is computed as a quaternion.
E.g. it find a matrix such that:
Pfix[i] = res * Pmov[i]
Ref: Besl, McKay A method for registration of 3d Shapes IEEE TPAMI Vol 14, No 2 1992
Definition at line 147 of file point_matching.h.
void vcg::ComputeSimilarityMatchMatrix | ( | std::vector< Point3< S > > & | Pfix, |
std::vector< Point3< S > > & | Pmov, | ||
Matrix44< S > & | res | ||
) |
Definition at line 170 of file point_matching.h.
void vcg::ComputeWeightedCovarianceMatrix | ( | const std::vector< Point3< S > > & | pointVec, |
const std::vector< S > & | weightVec, | ||
Point3< S > & | bp, | ||
Eigen::Matrix< S, 3, 3 > & | m | ||
) |
compute the weighted covariance matrix of a set of point
It returns also the weighted barycenter of the point set. When computing the covariance matrix the weights are applied to the points transposed to the origin.
Definition at line 91 of file fitting3.h.
bool vcg::Decompose | ( | Matrix44< T > & | M, |
Point3< T > & | ScaleV, | ||
Point3< T > & | ShearV, | ||
Point3< T > & | RotV, | ||
Point3< T > & | TranV | ||
) |
Definition at line 547 of file matrix44.h.
Eigen::ei_traits<Derived1>::Scalar vcg::Distance | ( | const Eigen::MatrixBase< Derived1 > & | p1, |
const Eigen::MatrixBase< Derived2 > & | p2 | ||
) | [inline] |
Scalar vcg::Dot | ( | Point3< Scalar > const & | p1, |
Point3< Scalar > const & | p2 | ||
) | [inline] |
Definition at line 43 of file mlsutils.h.
bool vcg::DummyCallBack | ( | const char * | ) | [inline] |
Definition at line 49 of file callback.h.
bool vcg::DummyCallBackPos | ( | const int | , |
const char * | |||
) | [inline] |
Definition at line 50 of file callback.h.
static void vcg::fghCircleTable | ( | double ** | sint, |
double ** | cost, | ||
const int | n | ||
) | [static] |
void vcg::FitPlaneToPointSet | ( | const std::vector< Point3< S > > & | pointVec, |
Plane3< S > & | plane | ||
) |
Compute the plane best fitting a set of points.
The algorithm used is the classical Covariance matrix eigenvector approach.
Definition at line 65 of file fitting3.h.
void vcg::getBaseTemplatePolygon | ( | int | N, |
std::vector< CoordType > & | TemplatePos | ||
) |
first find positions in the reference frame of the passed matrix
find with trigonometric functions
increment the angle
Definition at line 374 of file polygon3.h.
void vcg::GetNormals | ( | std::vector< CoordType > & | Pos, |
std::vector< CoordType > & | Norms | ||
) |
Definition at line 49 of file polygon3.h.
void vcg::GetPolyTemplatePos | ( | const PolygonType & | F, |
std::vector< typename PolygonType::CoordType > & | TemplatePos, | ||
bool | force_isotropy = false |
||
) |
set the Rotation matrix
then transform the polygon to PCA space
translate
rotate
calculate the Area
check side
initialize
add displacement along Z
add original points
then find the alignment
compute rigid match
then apply transformation
then map back to 3D space
Definition at line 401 of file polygon3.h.
void vcg::glBoxClip | ( | const Box3< T > & | b | ) | [inline] |
Setta i sei clip planes di opengl a far vedere solo l'interno del box.
Definition at line 198 of file deprecated_space.h.
void vcg::glBoxFlat | ( | Box3< T > const & | b | ) | [inline] |
Funzione di utilita' per la visualizzazione in OpenGL (flat shaded)
Definition at line 158 of file deprecated_space.h.
void vcg::glBoxWire | ( | Box3< T > const & | b | ) | [inline] |
Definition at line 123 of file deprecated_space.h.
void vcg::glBoxWire | ( | const Box2< T > & | b | ) | [inline] |
Definition at line 218 of file deprecated_space.h.
void vcg::glClearColor | ( | Color4b const & | c | ) | [inline] |
Definition at line 112 of file deprecated_space.h.
void vcg::glColor | ( | Color4b const & | c | ) | [inline] |
Definition at line 109 of file deprecated_space.h.
void vcg::glGetDirectv | ( | const GLenum | pname, |
Matrix44f & | m | ||
) | [inline] |
Definition at line 104 of file deprecated_math.h.
void vcg::glGetDirecv | ( | const GLenum | pname, |
Matrix44d & | m | ||
) | [inline] |
Definition at line 108 of file deprecated_math.h.
void vcg::glGetv | ( | const GLenum | pname, |
Matrix44f & | m | ||
) | [inline] |
Definition at line 92 of file deprecated_math.h.
void vcg::glLight | ( | GLenum | light, |
GLenum | pname, | ||
Color4b const & | c | ||
) | [inline] |
Definition at line 115 of file deprecated_space.h.
void vcg::glLoadMatrix | ( | const Matrix44d & | matrix | ) | [inline] |
Definition at line 57 of file deprecated_math.h.
void vcg::glMultMatrix | ( | const Matrix44f & | matrix | ) | [inline] |
Definition at line 44 of file deprecated_math.h.
void vcg::glMultMatrix | ( | const Similarityf & | s | ) | [inline] |
Definition at line 73 of file deprecated_math.h.
void vcg::glMultMatrix | ( | const Similarityd & | s | ) | [inline] |
Definition at line 83 of file deprecated_math.h.
void vcg::glMultMatrixDirect | ( | const Matrix44f & | matrix | ) | [inline] |
Definition at line 65 of file deprecated_math.h.
void vcg::glMultMatrixE | ( | const Matrix44f & | matrix | ) | [inline] |
Definition at line 38 of file deprecated_math.h.
void vcg::glNormal | ( | Point3< int > const & | p | ) | [inline] |
Definition at line 96 of file deprecated_space.h.
void vcg::glNormal | ( | Point3< short > const & | p | ) | [inline] |
Definition at line 97 of file deprecated_space.h.
void vcg::glNormal | ( | Point3< float > const & | p | ) | [inline] |
Definition at line 98 of file deprecated_space.h.
void vcg::glNormal | ( | Point3< double > const & | p | ) | [inline] |
Definition at line 99 of file deprecated_space.h.
void vcg::glPlane3 | ( | Plane3< T > | p, |
Point3< T > | c, | ||
T | size | ||
) | [inline] |
Definition at line 233 of file deprecated_space.h.
void vcg::glScale | ( | float const & | p | ) | [inline] |
Definition at line 76 of file deprecated_space.h.
void vcg::glScale | ( | double const & | p | ) | [inline] |
Definition at line 77 of file deprecated_space.h.
void vcg::glScale | ( | Point2< float > const & | p | ) | [inline] |
Definition at line 89 of file deprecated_space.h.
void vcg::glScale | ( | Point2< double > const & | p | ) | [inline] |
Definition at line 90 of file deprecated_space.h.
void vcg::glScale | ( | Point3< float > const & | p | ) | [inline] |
Definition at line 106 of file deprecated_space.h.
void vcg::glScale | ( | Point3< double > const & | p | ) | [inline] |
Definition at line 107 of file deprecated_space.h.
void vcg::glTetra3 | ( | TetraType & | c | ) | [inline] |
Definition at line 278 of file deprecated_space.h.
void vcg::glTexCoord | ( | Point2< int > const & | p | ) | [inline] |
Definition at line 83 of file deprecated_space.h.
void vcg::glTexCoord | ( | Point2< short > const & | p | ) | [inline] |
Definition at line 84 of file deprecated_space.h.
void vcg::glTexCoord | ( | Point2< float > const & | p | ) | [inline] |
Definition at line 85 of file deprecated_space.h.
void vcg::glTexCoord | ( | Point2< double > const & | p | ) | [inline] |
Definition at line 86 of file deprecated_space.h.
void vcg::glTexCoord | ( | Point3< int > const & | p | ) | [inline] |
Definition at line 100 of file deprecated_space.h.
void vcg::glTexCoord | ( | Point3< short > const & | p | ) | [inline] |
Definition at line 101 of file deprecated_space.h.
void vcg::glTexCoord | ( | Point3< float > const & | p | ) | [inline] |
Definition at line 102 of file deprecated_space.h.
void vcg::glTexCoord | ( | Point3< double > const & | p | ) | [inline] |
Definition at line 103 of file deprecated_space.h.
void vcg::glTranslate | ( | Point2< float > const & | p | ) | [inline] |
Definition at line 87 of file deprecated_space.h.
void vcg::glTranslate | ( | Point2< double > const & | p | ) | [inline] |
Definition at line 88 of file deprecated_space.h.
void vcg::glTranslate | ( | Point3< float > const & | p | ) | [inline] |
Definition at line 104 of file deprecated_space.h.
void vcg::glTranslate | ( | Point3< double > const & | p | ) | [inline] |
Definition at line 105 of file deprecated_space.h.
void vcg::glTriangle3 | ( | TriangleType & | c | ) | [inline] |
Definition at line 267 of file deprecated_space.h.
void vcg::glutSolidSphere | ( | GLdouble | radius, |
GLint | slices, | ||
GLint | stacks | ||
) | [inline] |
void vcg::glutWireSphere | ( | GLdouble | radius, |
GLint | slices, | ||
GLint | stacks | ||
) | [inline] |
void vcg::glVertex | ( | Point2< int > const & | p | ) | [inline] |
Definition at line 79 of file deprecated_space.h.
void vcg::glVertex | ( | Point2< short > const & | p | ) | [inline] |
Definition at line 80 of file deprecated_space.h.
void vcg::glVertex | ( | Point2< float > const & | p | ) | [inline] |
Definition at line 81 of file deprecated_space.h.
void vcg::glVertex | ( | Point2< double > const & | p | ) | [inline] |
Definition at line 82 of file deprecated_space.h.
void vcg::glVertex | ( | Point3< int > const & | p | ) | [inline] |
Definition at line 92 of file deprecated_space.h.
void vcg::glVertex | ( | Point3< short > const & | p | ) | [inline] |
Definition at line 93 of file deprecated_space.h.
void vcg::glVertex | ( | Point3< float > const & | p | ) | [inline] |
Definition at line 94 of file deprecated_space.h.
void vcg::glVertex | ( | Point3< double > const & | p | ) | [inline] |
Definition at line 95 of file deprecated_space.h.
int vcg::GreatestCommonDivisor | ( | const int | a, |
const int | b | ||
) |
Definition at line 47 of file perfect_spatial_hashing.h.
SPATIAL_INDEX::ObjPtr vcg::GridClosest | ( | SPATIAL_INDEX & | Si, |
OBJPOINTDISTFUNCTOR | _getPointDistance, | ||
OBJMARKER & | _marker, | ||
const typename OBJPOINTDISTFUNCTOR::QueryType & | _p_obj, | ||
const typename SPATIAL_INDEX::ScalarType & | _maxDist, | ||
typename SPATIAL_INDEX::ScalarType & | _minDist, | ||
typename SPATIAL_INDEX::CoordType & | _closestPt | ||
) |
Definition at line 95 of file grid_closest.h.
SPATIAL_INDEX::ObjPtr vcg::GridClosest2D | ( | SPATIAL_INDEX & | Si, |
OBJPOINTDISTFUNCTOR | _getPointDistance, | ||
OBJMARKER & | _marker, | ||
const typename OBJPOINTDISTFUNCTOR::QueryType & | _p_obj, | ||
const typename SPATIAL_INDEX::ScalarType & | _maxDist, | ||
typename SPATIAL_INDEX::ScalarType & | _minDist, | ||
typename SPATIAL_INDEX::CoordType & | _closestPt | ||
) |
Definition at line 84 of file grid_closest2d.h.
SPATIALINDEXING::ObjPtr vcg::GridDoRay | ( | SPATIALINDEXING & | _Si, |
OBJRAYISECTFUNCTOR & | _rayIntersector, | ||
OBJMARKER & | _marker, | ||
const Ray3< typename SPATIALINDEXING::ScalarType > & | _ray, | ||
const typename SPATIALINDEXING::ScalarType & | _maxDist, | ||
typename SPATIALINDEXING::ScalarType & | _t | ||
) |
Definition at line 219 of file grid_closest.h.
SPATIALINDEXING::ObjPtr vcg::GridDoRay2D | ( | SPATIALINDEXING & | _Si, |
OBJRAYISECTFUNCTOR & | _rayIntersector, | ||
OBJMARKER & | _marker, | ||
const Ray2< typename SPATIALINDEXING::ScalarType > & | _ray, | ||
const typename SPATIALINDEXING::ScalarType & | _maxDist, | ||
typename SPATIALINDEXING::ScalarType & | _t | ||
) |
Definition at line 178 of file grid_closest2d.h.
unsigned int vcg::GridGetInBox | ( | SPATIALINDEXING & | _Si, |
OBJMARKER & | _marker, | ||
const vcg::Box3< typename SPATIALINDEXING::ScalarType > & | _bbox, | ||
OBJPTRCONTAINER & | _objectPtrs | ||
) |
Definition at line 268 of file grid_closest.h.
unsigned int vcg::GridGetInBox2D | ( | SPATIALINDEXING & | _Si, |
OBJMARKER & | _marker, | ||
const vcg::Box2< typename SPATIALINDEXING::ScalarType > & | _bbox, | ||
OBJPTRCONTAINER & | _objectPtrs, | ||
bool | update_global_mark = true |
||
) |
Definition at line 34 of file grid_closest2d.h.
unsigned int vcg::GridGetInSphere | ( | SPATIALINDEXING & | _Si, |
OBJPOINTDISTFUNCTOR & | _getPointDistance, | ||
OBJMARKER & | _marker, | ||
const typename SPATIALINDEXING::CoordType & | _p, | ||
const typename SPATIALINDEXING::ScalarType & | _r, | ||
OBJPTRCONTAINER & | _objectPtrs, | ||
DISTCONTAINER & | _distances, | ||
POINTCONTAINER & | _points | ||
) |
Definition at line 241 of file grid_closest.h.
unsigned int vcg::GridGetKClosest | ( | SPATIALINDEXING & | _Si, |
OBJPOINTDISTFUNCTOR & | _getPointDistance, | ||
OBJMARKER & | _marker, | ||
const unsigned int | _k, | ||
const typename SPATIALINDEXING::CoordType & | _p, | ||
const typename SPATIALINDEXING::ScalarType & | _maxDist, | ||
OBJPTRCONTAINER & | _objectPtrs, | ||
DISTCONTAINER & | _distances, | ||
POINTCONTAINER & | _points | ||
) |
Definition at line 189 of file grid_closest.h.
Transform vcg::interpolate | ( | const Transform & | a, |
const Transform & | b, | ||
float | t | ||
) |
Computes the linear interpolation between 2 transforms.
a | The first transform. |
b | The second transform. |
t | The interpolation value (0: just a, 0.5: middle from a to b, 1: just b). |
Quaternion< S > vcg::Interpolate | ( | Quaternion< S > | a, |
Quaternion< S > | b, | ||
double | t | ||
) |
Definition at line 402 of file quaternion.h.
Similarity<S,RotationType> vcg::Interpolate | ( | const Similarity< S, RotationType > & | a, |
const Similarity< S, RotationType > & | b, | ||
const S | t | ||
) |
Definition at line 234 of file similarity.h.
static bool vcg::IntersectionLineCylinder | ( | const Segment3< T > & | cylSeg, |
T | radius, | ||
const Line3< T > & | line, | ||
Point3< T > & | p0, | ||
Point3< T > & | p1, | ||
T & | t0, | ||
T & | t1 | ||
) | [static] |
Definition at line 48 of file cylinder_clipping.h.
static bool vcg::IntersectionSegmentCylinder | ( | const Segment3< T > & | cylSeg, |
T | radius, | ||
const Segment3< T > & | seg, | ||
Point3< T > & | p0, | ||
Point3< T > & | p1 | ||
) | [static] |
Definition at line 108 of file cylinder_clipping.h.
Similarity< S, RotationType > vcg::Inverse | ( | const Similarity< S, RotationType > & | m | ) |
Definition at line 228 of file similarity.h.
Quaternion< S > vcg::Inverse | ( | const Quaternion< S > & | q | ) |
Definition at line 396 of file quaternion.h.
Matrix44< T > vcg::Inverse | ( | const Matrix44< T > & | m | ) |
Definition at line 653 of file matrix44.h.
Matrix33<S> vcg::Inverse | ( | const Matrix33< S > & | m | ) |
Definition at line 492 of file matrix33.h.
Similarity< S, RotationType > & vcg::Invert | ( | Similarity< S, RotationType > & | m | ) |
Definition at line 221 of file similarity.h.
Quaternion< S > & vcg::Invert | ( | Quaternion< S > & | q | ) |
Definition at line 391 of file quaternion.h.
void vcg::LineLineDistance | ( | const vcg::Line3< ScalarType > & | mLine0, |
const vcg::Line3< ScalarType > & | mLine1, | ||
bool & | parallel, | ||
ScalarType & | dist, | ||
vcg::Point3< ScalarType > & | mClosestPoint0, | ||
vcg::Point3< ScalarType > & | mClosestPoint1 | ||
) |
find the two closest points
Definition at line 202 of file distance3.h.
void vcg::LinePointDistance | ( | const Line3< ScalarType > & | l, |
const Point3< ScalarType > & | p, | ||
Point3< ScalarType > & | closest, | ||
ScalarType & | dist | ||
) |
Definition at line 186 of file distance3.h.
void vcg::LinePointSquaredDistance | ( | const Line3< ScalarType > & | l, |
const Point3< ScalarType > & | p, | ||
Point3< ScalarType > & | closest, | ||
ScalarType & | dist | ||
) |
Definition at line 171 of file distance3.h.
const Eigen::CwiseBinaryOp<Eigen::ei_scalar_max_op<typename Eigen::ei_traits<Derived>::Scalar>, Derived, Eigen::NestByValue<typename Derived::ConstantReturnType> > vcg::LowClampToZero | ( | const Eigen::MatrixBase< Derived > & | p | ) | [inline] |
void vcg::MatrixToQuaternion | ( | const M & | m, |
Quaternion< S > & | q | ||
) |
Definition at line 321 of file quaternion.h.
Scalar vcg::MaxCoeff | ( | Point3< Scalar > const & | p | ) | [inline] |
Definition at line 31 of file mlsutils.h.
int vcg::MaxCoeffId | ( | Point3< Scalar > const & | p | ) | [inline] |
Definition at line 61 of file mlsutils.h.
Eigen::ei_traits<Derived1>::Scalar vcg::Norm | ( | const Eigen::MatrixBase< Derived1 > & | p | ) | [inline] |
CoordType vcg::Normal | ( | std::vector< CoordType > & | Pos | ) |
Definition at line 61 of file polygon3.h.
Point2<SCALAR_TYPE> vcg::operator* | ( | const Similarity2< SCALAR_TYPE > & | m, |
const Point2< SCALAR_TYPE > & | p | ||
) |
Definition at line 47 of file similarity2.h.
Point3< S > vcg::operator* | ( | const Similarity< S, RotationType > & | m, |
const Point3< S > & | p | ||
) |
Definition at line 242 of file similarity.h.
Premultiply.
Definition at line 634 of file matrix44.h.
void vcg::operator*= | ( | std::vector< PointType > & | vert, |
const Matrix44< T > & | m | ||
) |
Definition at line 361 of file matrix44.h.
int vcg::Pick | ( | const int & | x, |
const int & | y, | ||
TO_PICK_CONT_TYPE & | m, | ||
std::vector< typename TO_PICK_CONT_TYPE::value_type * > & | result, | ||
void(draw_func)(typename TO_PICK_CONT_TYPE::value_type &) | , | ||
int | width = 4 , |
||
int | height = 4 |
||
) |
void vcg::PlanePointSquaredDistance | ( | const vcg::Plane3< ScalarType > & | Pl, |
const Point3< ScalarType > & | p, | ||
Point3< ScalarType > & | closest, | ||
ScalarType & | dist | ||
) |
Definition at line 135 of file distance3.h.
ScalarType vcg::PlanePointSquaredDistance | ( | const vcg::Plane3< ScalarType > & | Pl, |
const Point3< ScalarType > & | p | ||
) |
Definition at line 153 of file distance3.h.
void vcg::PointBoxDistance | ( | const Point3< ScalarType > & | p, |
const Box3< ScalarType > & | b, | ||
ScalarType & | dist | ||
) |
if fall inside return distance to a face
Definition at line 66 of file distance3.h.
Scalar vcg::PointFilledBoxDistance | ( | const Point3< Scalar > & | p, |
const Box3< Scalar > & | bbox | ||
) |
Definition at line 42 of file distance3.h.
static bool vcg::PointIsInSegment | ( | const Point3< T > & | point, |
const Segment3< T > & | seg | ||
) | [static] |
Definition at line 128 of file cylinder_clipping.h.
void vcg::PolyAngleDeviation | ( | const PolygonType & | F, |
typename PolygonType::ScalarType & | AvgDev, | ||
typename PolygonType::ScalarType & | MaxDev | ||
) |
Definition at line 200 of file polygon3.h.
PolygonType::ScalarType vcg::PolyArea | ( | const PolygonType & | F | ) |
Definition at line 123 of file polygon3.h.
PolygonType::ScalarType vcg::PolyAspectRatio | ( | const PolygonType & | F, |
bool | isotropic = false |
||
) |
Definition at line 514 of file polygon3.h.
PolygonType::CoordType vcg::PolyBarycenter | ( | const PolygonType & | F | ) |
Definition at line 111 of file polygon3.h.
vcg::Plane3<typename PolygonType::ScalarType> vcg::PolyFittingPlane | ( | const PolygonType & | F | ) |
Definition at line 238 of file polygon3.h.
PolygonType::ScalarType vcg::PolyFlatness | ( | const PolygonType & | F | ) |
Definition at line 254 of file polygon3.h.
PolygonType::CoordType vcg::PolygonNormal | ( | const PolygonType & | F | ) |
Definition at line 143 of file polygon3.h.
void vcg::PolyNormals | ( | const PolygonType & | F, |
std::vector< typename PolygonType::CoordType > & | Norms | ||
) |
Definition at line 100 of file polygon3.h.
PolygonType::ScalarType vcg::PolyNormDeviation | ( | const PolygonType & | F | ) |
Definition at line 171 of file polygon3.h.
void vcg::PolyPCA | ( | const PolygonType & | F, |
typename PolygonType::CoordType | PCA[] | ||
) |
compute the barycenter
get min and max coff .. the minumum is the Normal the other two the anisotropy directions
maximum direction of PCA
minimum direction of PCA
Normal direction
scale the directions
Definition at line 282 of file polygon3.h.
PolygonType::ScalarType vcg::PolyPerimeter | ( | const PolygonType & | F | ) |
Definition at line 155 of file polygon3.h.
void vcg::PolyScaledPCA | ( | const PolygonType & | F, |
typename PolygonType::CoordType | PCA[] | ||
) |
void vcg::QuaternionToMatrix | ( | const Quaternion< S > & | q, |
M & | m | ||
) |
Definition at line 271 of file quaternion.h.
Matrix33<S> vcg::RandomRotation | ( | ) |
return a random rotation matrix, from the paper: Fast Random Rotation Matrices, James Arvo Graphics Gems III pp. 117-120
Definition at line 566 of file matrix33.h.
Matrix33<S> vcg::RotationMatrix | ( | vcg::Point3< S > | v0, |
vcg::Point3< S > | v1, | ||
bool | normalized = true |
||
) |
given 2 vector centered into origin calculate the rotation matrix from first to the second
control if there is no rotation
find the axis of rotation
construct rotation matrix
Definition at line 504 of file matrix33.h.
Matrix33<S> vcg::RotationMatrix | ( | const vcg::Point3< S > & | axis, |
const float & | angleRad | ||
) |
return the rotation matrix along axis
Definition at line 550 of file matrix33.h.
ScalarType vcg::Segment2DSegment2DDistance | ( | const vcg::Segment2< ScalarType > & | S0, |
const vcg::Segment2< ScalarType > & | S1, | ||
vcg::Point2< ScalarType > & | p_clos0, | ||
vcg::Point2< ScalarType > & | p_clos1 | ||
) |
Definition at line 41 of file distance2.h.
void vcg::SegmentPointDistance | ( | Segment3< ScalarType > | s, |
const Point3< ScalarType > & | p, | ||
Point3< ScalarType > & | clos, | ||
ScalarType & | dist | ||
) |
Definition at line 291 of file distance3.h.
void vcg::SegmentPointSquaredDistance | ( | const Segment3< ScalarType > & | s, |
const Point3< ScalarType > & | p, | ||
Point3< ScalarType > & | closest, | ||
ScalarType & | sqr_dist | ||
) |
Definition at line 260 of file distance3.h.
void vcg::SegmentSegmentDistance | ( | const vcg::Segment3< ScalarType > & | s0, |
const vcg::Segment3< ScalarType > & | s1, | ||
ScalarType & | dist, | ||
bool & | parallel, | ||
vcg::Point3< ScalarType > & | closest0, | ||
vcg::Point3< ScalarType > & | closest1 | ||
) |
construct two lines
then find closest point
special case if the two lines are parallel
find the minimum distance between extremes to segments
find combination of distances between all extremes and segments
and find the minimum updating coherently the closest points
then ffind the closest segments points... means that if it is not an extreme then take the closest extreme
then return the distance
Definition at line 310 of file distance3.h.
void vcg::SpherePointDistance | ( | const Sphere3< ScalarType > & | sphere, |
const Point3< ScalarType > & | p, | ||
ScalarType & | dist | ||
) |
Definition at line 102 of file distance3.h.
void vcg::SphereSphereDistance | ( | const Sphere3< ScalarType > & | sphere0, |
const Sphere3< ScalarType > & | sphere1, | ||
ScalarType & | dist | ||
) |
Definition at line 117 of file distance3.h.
Eigen::ei_traits<Derived1>::Scalar vcg::SquaredDistance | ( | const Eigen::MatrixBase< Derived1 > & | p1, |
const Eigen::MatrixBase< Derived2 > & | p2 | ||
) | [inline] |
Eigen::ei_traits<Derived1>::Scalar vcg::SquaredNorm | ( | const Eigen::MatrixBase< Derived1 > & | p | ) | [inline] |
vcg::Matrix33<S> vcg::TransformationMatrix | ( | const vcg::Point3< S > | dirX, |
const vcg::Point3< S > | dirY, | ||
const vcg::Point3< S > | dirZ | ||
) |
return the tranformation matrix to transform to the frame specified by the three vectors
it must have right orientation cause of normal
Definition at line 471 of file matrix33.h.
Matrix44< T > & vcg::Transpose | ( | Matrix44< T > & | m | ) |
Definition at line 645 of file matrix44.h.
EIGEN_DEPRECATED Eigen::Matrix<Scalar,Size,Size,StorageOrder>& vcg::Transpose | ( | const Eigen::Matrix< Scalar, Size, Size, StorageOrder > & | m | ) | [inline] |
void vcg::TrianglePointDistance | ( | const vcg::Triangle3< ScalarType > & | t, |
const typename vcg::Point3< ScalarType > & | q, | ||
ScalarType & | dist, | ||
typename vcg::Point3< ScalarType > & | closest | ||
) |
find distance on the plane
control if inside/outside
find minimum distance
Definition at line 391 of file distance3.h.
void vcg::TriangleSegmentDistance | ( | const vcg::Triangle3< ScalarType > & | t, |
const vcg::Segment3< ScalarType > & | s, | ||
ScalarType & | dist | ||
) |
test the intersection
project endpoints and see if they fall into the triangle
take distances
test if they fall inside the triangle
initialize with the sdistance if only once falls into
then test segment-to segment distance with edges of the triangle
Definition at line 457 of file distance3.h.
void vcg::TriangleTriangleDistance | ( | const vcg::Triangle3< ScalarType > & | t0, |
const vcg::Triangle3< ScalarType > & | t1, | ||
ScalarType & | dist | ||
) |
test each segment of t1 with t0 keeping the minimum distance
then viceversa
Definition at line 516 of file distance3.h.
void vcg::WeightedFitPlaneToPointSet | ( | const std::vector< Point3< S > > & | pointVec, |
const std::vector< S > & | weightVec, | ||
Plane3< S > & | plane | ||
) |
Compute the plane best fitting a set of points.
The algorithm used is the classical Covariance matrix eigenvector approach.
Definition at line 124 of file fitting3.h.