Namespaces | Classes | Typedefs | Enumerations | Functions
vcg Namespace Reference

* 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< ScalarTypeBarycenter (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 > &center, 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< ScalarTypeClosestPoint (Segment2< ScalarType > s, const Point2< ScalarType > &p)
template<class ScalarType , bool NORM>
Point2< ScalarTypeClosestPoint (Line2< ScalarType, NORM > l, const Point2< ScalarType > &p)
 returns closest point
template<class ScalarType , bool NORM>
Point2< ScalarTypeClosestPoint (Ray2< ScalarType, NORM > r, const Point2< ScalarType > &p)
 returns closest point
template<class ScalarType , bool NORM>
Point3< ScalarTypeClosestPoint (Ray3< ScalarType, NORM > r, const Point3< ScalarType > &p)
 returns closest point
template<class ScalarType , bool NORM>
Point3< ScalarTypeClosestPoint (Line3< ScalarType, NORM > l, const Point3< ScalarType > &p)
 returns closest point
template<class ScalarType >
Point2< ScalarTypeClosestPoint2Box2 (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< TInverse (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 &parallel, 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< ScalarTypeMirror (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< Toperator* (const Matrix44< T > &m, const Point3< T > &p)
 Premultiply.
template<class T >
Point2< Toperator* (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< Toperator- (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 &parallel, 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.

Parameters:
S(Template Parameter) Specifies the ScalarType field.
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 ()

Detailed Description

*

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

Parameters:
_pa 3d point
_maxDistmaximum distance not to search beyond.
_getPointDistance(templated type) a functor object used to calculate distance from a grid object to the point _p.
_minDistthe returned closest distance
_closestPtthe returned closest point
Returns:
The closest element

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 Documentation

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

Definition at line 87 of file frustum.h.

typedef Frustum<float> vcg::Frustumf

Definition at line 86 of file frustum.h.

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

Definition at line 68 of file obox3.h.

typedef Obox3<float> vcg::Obox3f

Definition at line 67 of file obox3.h.

typedef Obox3<int> vcg::Obox3i

Definition at line 66 of file obox3.h.

typedef Obox3<short> vcg::Obox3s

Definition at line 65 of file obox3.h.

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.

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.


Enumeration Type Documentation

Enumerator:
TetraEdgeCollapseOp 
TriEdgeSwapOp 
TriVertexSplitOp 
TriEdgeCollapseOp 
TetraEdgeSpliOpt 
TetraEdgeSwapOp 
TriEdgeFlipOp 
QuadDiagCollapseOp 
QuadEdgeCollapseOp 

Definition at line 108 of file local_optimization.h.


Function Documentation

template<typename Derived >
const Eigen::CwiseUnaryOp<Eigen::ei_scalar_abs_op<typename Eigen::ei_traits<Derived>::Scalar>, Derived> vcg::Abs ( const Eigen::MatrixBase< Derived > &  p) [inline]

Definition at line 303 of file eigen.h.

template<typename Derived1 , typename Derived2 >
Eigen::ei_traits<Derived1>::Scalar vcg::Angle ( const Eigen::MatrixBase< Derived1 > &  p1,
const Eigen::MatrixBase< Derived2 > &  p2 
)

Definition at line 249 of file eigen.h.

template<typename Derived1 , typename Derived2 >
Eigen::ei_traits<Derived1>::Scalar vcg::AngleN ( const Eigen::MatrixBase< Derived1 > &  p1,
const Eigen::MatrixBase< Derived2 > &  p2 
)

Definition at line 268 of file eigen.h.

template<class CoordType >
CoordType::ScalarType vcg::Area ( const std::vector< CoordType > &  Pos)

Definition at line 78 of file polygon3.h.

template<class scalar_type >
void vcg::BestDim ( const Box3< scalar_type >  box,
const scalar_type  voxel_size,
Point3i &  dim 
)

Definition at line 182 of file grid_util.h.

template<class scalar_type >
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.

template<class scalar_type >
void vcg::BestDim2D ( const Box2< scalar_type >  box,
const scalar_type  voxel_size,
Point2i &  dim 
)

Definition at line 171 of file grid_util2d.h.

template<class scalar_type >
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.

template<class S >
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.

template<class S >
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.

template<class S >
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.

template<class S >
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.

template<class S >
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.

template<class S >
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.

template<class T >
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.

template<typename Derived1 , typename Derived2 >
Eigen::ei_traits<Derived1>::Scalar vcg::Distance ( const Eigen::MatrixBase< Derived1 > &  p1,
const Eigen::MatrixBase< Derived2 > &  p2 
) [inline]

Definition at line 293 of file eigen.h.

template<typename Scalar >
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]

Definition at line 25 of file addons.h.

template<class S >
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.

template<class CoordType >
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.

template<class CoordType >
void vcg::GetNormals ( std::vector< CoordType > &  Pos,
std::vector< CoordType > &  Norms 
)

Definition at line 49 of file polygon3.h.

template<class PolygonType >
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.

template<class T >
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.

template<class T >
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.

template<class T >
void vcg::glBoxWire ( Box3< T > const &  b) [inline]

Definition at line 123 of file deprecated_space.h.

template<class T >
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.

template<class T >
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.

template<class TetraType >
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.

template<class TriangleType >
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]

Definition at line 71 of file addons.h.

void vcg::glutWireSphere ( GLdouble  radius,
GLint  slices,
GLint  stacks 
) [inline]

Definition at line 159 of file addons.h.

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.

template<class SPATIAL_INDEX , class OBJPOINTDISTFUNCTOR , class OBJMARKER >
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.

template<class SPATIAL_INDEX , class OBJPOINTDISTFUNCTOR , class OBJMARKER >
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.

template<class SPATIALINDEXING , class OBJRAYISECTFUNCTOR , class OBJMARKER >
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.

template<class SPATIALINDEXING , class OBJRAYISECTFUNCTOR , class OBJMARKER >
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.

template<class SPATIALINDEXING , class OBJMARKER , class OBJPTRCONTAINER >
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.

template<class SPATIALINDEXING , class OBJMARKER , class OBJPTRCONTAINER >
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.

template<class SPATIALINDEXING , class OBJPOINTDISTFUNCTOR , class OBJMARKER , class OBJPTRCONTAINER , class DISTCONTAINER , class POINTCONTAINER >
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.

template<class SPATIALINDEXING , class OBJPOINTDISTFUNCTOR , class OBJMARKER , class OBJPTRCONTAINER , class DISTCONTAINER , class POINTCONTAINER >
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.

Parameters:
aThe first transform.
bThe second transform.
tThe interpolation value (0: just a, 0.5: middle from a to b, 1: just b).
Returns:
The linear interpolation.
template<class S >
Quaternion< S > vcg::Interpolate ( Quaternion< S >  a,
Quaternion< S >  b,
double  t 
)

Definition at line 402 of file quaternion.h.

template<class S , class RotationType >
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.

template<class T >
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.

template<class T >
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.

template<class S , class RotationType >
Similarity< S, RotationType > vcg::Inverse ( const Similarity< S, RotationType > &  m)

Definition at line 228 of file similarity.h.

template<class S >
Quaternion< S > vcg::Inverse ( const Quaternion< S > &  q)

Definition at line 396 of file quaternion.h.

template<class T >
Matrix44< T > vcg::Inverse ( const Matrix44< T > &  m)

Definition at line 653 of file matrix44.h.

template<class S >
Matrix33<S> vcg::Inverse ( const Matrix33< S > &  m)

Definition at line 492 of file matrix33.h.

template<class S , class RotationType >
Similarity< S, RotationType > & vcg::Invert ( Similarity< S, RotationType > &  m)

Definition at line 221 of file similarity.h.

template<class S >
Quaternion< S > & vcg::Invert ( Quaternion< S > &  q)

Definition at line 391 of file quaternion.h.

template<class ScalarType >
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.

template<class ScalarType >
void vcg::LinePointDistance ( const Line3< ScalarType > &  l,
const Point3< ScalarType > &  p,
Point3< ScalarType > &  closest,
ScalarType dist 
)

Definition at line 186 of file distance3.h.

template<class ScalarType >
void vcg::LinePointSquaredDistance ( const Line3< ScalarType > &  l,
const Point3< ScalarType > &  p,
Point3< ScalarType > &  closest,
ScalarType dist 
)

Definition at line 171 of file distance3.h.

template<typename Derived >
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]

Definition at line 316 of file eigen.h.

template<class S , class M >
void vcg::MatrixToQuaternion ( const M m,
Quaternion< S > &  q 
)

Definition at line 321 of file quaternion.h.

template<typename Scalar >
Scalar vcg::MaxCoeff ( Point3< Scalar > const &  p) [inline]

Definition at line 31 of file mlsutils.h.

template<typename Scalar >
int vcg::MaxCoeffId ( Point3< Scalar > const &  p) [inline]

Definition at line 61 of file mlsutils.h.

template<typename Derived1 >
Eigen::ei_traits<Derived1>::Scalar vcg::Norm ( const Eigen::MatrixBase< Derived1 > &  p) [inline]

Definition at line 284 of file eigen.h.

template<class CoordType >
CoordType vcg::Normal ( std::vector< CoordType > &  Pos)

Definition at line 61 of file polygon3.h.

template<class SCALAR_TYPE >
Point2<SCALAR_TYPE> vcg::operator* ( const Similarity2< SCALAR_TYPE > &  m,
const Point2< SCALAR_TYPE > &  p 
)

Definition at line 47 of file similarity2.h.

template<class S , class RotationType >
Point3< S > vcg::operator* ( const Similarity< S, RotationType > &  m,
const Point3< S > &  p 
)

Definition at line 242 of file similarity.h.

template<class T >
Point3< T > vcg::operator* ( const Matrix44< T > &  m,
const Point3< T > &  p 
)

Premultiply.

Definition at line 634 of file matrix44.h.

template<class PointType , class T >
void vcg::operator*= ( std::vector< PointType > &  vert,
const Matrix44< T > &  m 
)

Definition at line 361 of file matrix44.h.

template<class TO_PICK_CONT_TYPE >
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 
)

Definition at line 69 of file picking.h.

template<class PointType >
bool vcg::Pick ( const int &  x,
const int &  y,
PointType pp 
)

Definition at line 139 of file picking.h.

template<class ScalarType >
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.

template<class ScalarType >
ScalarType vcg::PlanePointSquaredDistance ( const vcg::Plane3< ScalarType > &  Pl,
const Point3< ScalarType > &  p 
)

Definition at line 153 of file distance3.h.

template<class ScalarType >
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.

template<class Scalar >
Scalar vcg::PointFilledBoxDistance ( const Point3< Scalar > &  p,
const Box3< Scalar > &  bbox 
)

Definition at line 42 of file distance3.h.

template<class T >
static bool vcg::PointIsInSegment ( const Point3< T > &  point,
const Segment3< T > &  seg 
) [static]

Definition at line 128 of file cylinder_clipping.h.

template<class PolygonType >
void vcg::PolyAngleDeviation ( const PolygonType &  F,
typename PolygonType::ScalarType AvgDev,
typename PolygonType::ScalarType MaxDev 
)

Definition at line 200 of file polygon3.h.

template<class PolygonType >
PolygonType::ScalarType vcg::PolyArea ( const PolygonType &  F)

Definition at line 123 of file polygon3.h.

template<class PolygonType >
PolygonType::ScalarType vcg::PolyAspectRatio ( const PolygonType &  F,
bool  isotropic = false 
)

Definition at line 514 of file polygon3.h.

template<class PolygonType >
PolygonType::CoordType vcg::PolyBarycenter ( const PolygonType &  F)

Definition at line 111 of file polygon3.h.

template<class PolygonType >
vcg::Plane3<typename PolygonType::ScalarType> vcg::PolyFittingPlane ( const PolygonType &  F)

Definition at line 238 of file polygon3.h.

template<class PolygonType >
PolygonType::ScalarType vcg::PolyFlatness ( const PolygonType &  F)

Definition at line 254 of file polygon3.h.

template<class PolygonType >
PolygonType::CoordType vcg::PolygonNormal ( const PolygonType &  F)

Definition at line 143 of file polygon3.h.

template<class PolygonType >
void vcg::PolyNormals ( const PolygonType &  F,
std::vector< typename PolygonType::CoordType > &  Norms 
)

Definition at line 100 of file polygon3.h.

template<class PolygonType >
PolygonType::ScalarType vcg::PolyNormDeviation ( const PolygonType &  F)

Definition at line 171 of file polygon3.h.

template<class PolygonType >
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.

template<class PolygonType >
PolygonType::ScalarType vcg::PolyPerimeter ( const PolygonType &  F)

Definition at line 155 of file polygon3.h.

template<class PolygonType >
void vcg::PolyScaledPCA ( const PolygonType &  F,
typename PolygonType::CoordType  PCA[] 
)

compute the barycenter

compute the Area

Definition at line 349 of file polygon3.h.

template<class S , class M >
void vcg::QuaternionToMatrix ( const Quaternion< S > &  q,
M m 
)

Definition at line 271 of file quaternion.h.

template<class S >
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.

template<class S >
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.

template<class S >
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.

template<class ScalarType >
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.

template<class ScalarType >
void vcg::SegmentPointDistance ( Segment3< ScalarType s,
const Point3< ScalarType > &  p,
Point3< ScalarType > &  clos,
ScalarType dist 
)

Definition at line 291 of file distance3.h.

template<class ScalarType >
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.

template<class ScalarType >
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.

template<class ScalarType >
void vcg::SpherePointDistance ( const Sphere3< ScalarType > &  sphere,
const Point3< ScalarType > &  p,
ScalarType dist 
)

Definition at line 102 of file distance3.h.

template<class ScalarType >
void vcg::SphereSphereDistance ( const Sphere3< ScalarType > &  sphere0,
const Sphere3< ScalarType > &  sphere1,
ScalarType dist 
)

Definition at line 117 of file distance3.h.

template<typename Derived1 , typename Derived2 >
Eigen::ei_traits<Derived1>::Scalar vcg::SquaredDistance ( const Eigen::MatrixBase< Derived1 > &  p1,
const Eigen::MatrixBase< Derived2 > &  p2 
) [inline]

Definition at line 298 of file eigen.h.

template<typename Derived1 >
Eigen::ei_traits<Derived1>::Scalar vcg::SquaredNorm ( const Eigen::MatrixBase< Derived1 > &  p) [inline]

Definition at line 288 of file eigen.h.

template<class S >
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.

template<class T >
Matrix44< T > & vcg::Transpose ( Matrix44< T > &  m)

Definition at line 645 of file matrix44.h.

template<typename Scalar , int Size, int StorageOrder>
EIGEN_DEPRECATED Eigen::Matrix<Scalar,Size,Size,StorageOrder>& vcg::Transpose ( const Eigen::Matrix< Scalar, Size, Size, StorageOrder > &  m) [inline]
Deprecated:
use transposeInPlace() or transpose()

Definition at line 309 of file eigen.h.

template<class ScalarType >
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.

template<class ScalarType >
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.

template<class ScalarType >
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.

template<class S >
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.



shape_reconstruction
Author(s): Roberto Martín-Martín
autogenerated on Sat Jun 8 2019 18:41:09