vcg Namespace Reference

* More...

Namespaces

namespace  edg
namespace  edge
namespace  edgemesh
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
namespace  vrt

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  AttributeBase
class  AxisMode
 The one-directional manipulator. More...
class  BasicGrid
class  Bmt
class  BmtBuilder
class  Boundary
class  Box
class  Box2
class  Box3
class  Camera
class  CAT
class  CATBase
struct  CATBaseBase
class  CATEntry
struct  CenterPoint
class  ClosestIterator
class  Color4
class  ColorConverter
class  ColorSpace
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  EDGE_TYPE
class  EdgeArityMax
class  EdgeBase
class  EdgeLen
class  EdgeSplPlane
class  EdgeSplSphere
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  GLPickTetra
class  GLPickTri
struct  GlPos
class  GlTrimesh
class  glu_tesselator
struct  GlVfIterator
class  GLW
class  GridStaticObj
class  GridStaticPtr
struct  HashFunctor
class  HEdge
class  HEdgeArityMax
class  HEdgeBase
class  HEdgeTypeHolder
class  Histogram
class  InactiveMode
 An inactive manipulator. More...
class  Line2
class  Line3
class  Linear
class  LinearSolve
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  Matrix33Diag
class  Matrix44
class  Matrix44Diag
struct  MidPoint
struct  MidPointArc
struct  MidPointArcNaive
struct  MidPointButterfly
struct  MidPointButterfly2
struct  MidPointPlane
struct  MidPointSphere
class  MovableCoordinateFrame
 The MovableCoordinateFrame class. More...
class  MT
class  NavigatorWasdMode
class  NormalExtrapolation
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  PointMatching
class  PolarMode
class  Quaternion
class  RawVolumeImporter
class  Ray2
class  Ray3
class  RayIterator
class  RayTriangleIntersectionFunctor
class  ReferenceType
class  ReferenceType< T * >
class  RefinedFaceData
class  Rubberband
 The Rubberband class. More...
class  Sampling
struct  SamplingFlags
class  ScaleMode
 The scale manipulator. More...
class  Segment2
class  Segment3
class  Shot
class  Shotd
class  Shotf
class  Similarity
class  Similarityd
class  Similarityf
class  SimplePic
class  SimpleTempData
class  SimpleTempDataBase
class  SimpleVolume
class  SimpleVoxel
struct  SmallestEnclosing
class  Space
class  SpatialHashTable
class  SpatialIndex
class  Sphere3
class  SphereMode
 The classic arcball manipulator. More...
class  Split
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
class  TexCoord2Simple
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  Unify
struct  Use
class  UsedTypes
class  vector_occ
struct  VectorNBW
class  VectorNBW< bool >
class  Vertex
class  VertexArityMax
class  Vertexd
class  Vertexf
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 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  { PERSPECTIVE = 0, ORTHO = 1, ISOMETRIC = 2, CAVALIERI = 3 }
enum  ModifierType {
  TetraEdgeCollapseOp, TriEdgeSwapOp, TriVertexSplitOp, TriEdgeCollapseOp,
  TetraEdgeSpliOpt, TetraEdgeSwapOp, TriEdgeFlipOp
}
enum  SortingStrategy { LeaveUnsorted = 0, SortAscending = 1, SortDescending = 2 }

Functions

template<class SCALARTYPE >
Point3< SCALARTYPE > Abs (const Point3< SCALARTYPE > &p)
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 T >
Angle (const Point4< T > &p1, const Point4< T > &p2)
template<class P3ScalarType >
P3ScalarType Angle (Point3< P3ScalarType > const &p1, Point3< P3ScalarType > const &p2)
template<class T >
Angle (Point2< T > const &p0, Point2< T > const &p1)
template<typename Derived1 , typename Derived2 >
Eigen::ei_traits< Derived1 >
::Scalar 
Angle (const Eigen::MatrixBase< Derived1 > &p1, const Eigen::MatrixBase< Derived2 > &p2)
template<class P3ScalarType >
P3ScalarType AngleN (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 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 __int64 elems, const Point3< scalar_type > &size, Point3i &dim)
template<class scalar_type >
void BestDim (const Box3< scalar_type > box, const scalar_type voxel_size, Point3i &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 >
Point3< ScalarTypeClosestPoint (Segment3< ScalarType > s, const Point3< ScalarType > &p)
template<class ScalarType >
Point2< ScalarTypeClosestPoint (Segment2< ScalarType > s, const Point2< ScalarType > &p)
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 (Ray2< 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 , bool NORM>
Point2< ScalarTypeClosestPoint (Line2< ScalarType, NORM > l, const Point2< 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 TetraType >
TetraType::ScalarType ComputeVolume (const TetraType &t)
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 MESH_TYPE >
void Crease (MESH_TYPE &m, typename MESH_TYPE::scalar_type angleRad)
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 T >
Distance (const Sphere3< T > &sphere, const Sphere3< T > &s)
template<class T >
Distance (const Sphere3< T > &sphere, const Point3< T > &point)
template<class T >
Distance (const Point3< T > &point, const Plane3< T > &plane)
template<class T >
Distance (const Plane3< T > &plane, const Point3< T > &point)
 Distance plane - point and vv. (Move these function to somewhere else).
template<class ScalarType , bool NORM>
ScalarType Distance (const Line3< ScalarType, NORM > &l, const Point3< ScalarType > &p)
template<class ScalarType , bool NORM>
ScalarType Distance (const Line2< ScalarType, NORM > &l, const Point2< ScalarType > &p)
template<class 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 T >
Distance (Point2< T > const &p1, Point2< T > const &p2)
template<typename Derived1 , typename Derived2 >
Eigen::ei_traits< Derived1 >
::Scalar 
Distance (const Eigen::MatrixBase< Derived1 > &p1, const Eigen::MatrixBase< Derived2 > &p2)
template<class ScalarType >
ScalarType DistancePoint2Box2 (const Point2< ScalarType > &test, const Box2< ScalarType > &bbox)
template<class ScalarType >
ScalarType DistancePoint3Box3 (const Point3< ScalarType > &p, const Box3< ScalarType > &b)
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 >
double FIT_VExp (const Point3< S > &x, const int i)
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 (const Box2< T > &b)
template<class T >
void glBoxWire (Box3< T > const &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 glMultMatrix (const Similarityd &s)
void glMultMatrix (const Similarityf &s)
void glMultMatrix (const Matrix44f &matrix)
void glMultMatrixDirect (const Matrix44f &matrix)
void glMultMatrixE (const Matrix44f &matrix)
void glNormal (Point3< double > const &p)
void glNormal (Point3< float > const &p)
void glNormal (Point3< short > const &p)
void glNormal (Point3< int > const &p)
template<class T >
void glPlane3 (Plane3< T > p, Point3< T > c, T size)
void glScale (Point3< double > const &p)
void glScale (Point3< float > const &p)
void glScale (Point2< double > const &p)
void glScale (Point2< float > const &p)
void glScale (double const &p)
void glScale (float const &p)
template<class TetraType >
void glTetra3 (TetraType &c)
void glTexCoord (Point3< double > const &p)
void glTexCoord (Point3< float > const &p)
void glTexCoord (Point3< short > const &p)
void glTexCoord (Point3< int > const &p)
void glTexCoord (Point2< double > const &p)
void glTexCoord (Point2< float > const &p)
void glTexCoord (Point2< short > const &p)
void glTexCoord (Point2< int > const &p)
void glTranslate (Point3< double > const &p)
void glTranslate (Point3< float > const &p)
void glTranslate (Point2< double > const &p)
void glTranslate (Point2< float > const &p)
template<class TriangleType >
void glTriangle3 (TriangleType &c)
static void glutSolidSphere (GLdouble radius, GLint slices, GLint stacks)
static void glutWireSphere (GLdouble radius, GLint slices, GLint stacks)
void glVertex (Point3< double > const &p)
void glVertex (Point3< float > const &p)
void glVertex (Point3< short > const &p)
void glVertex (Point3< int > const &p)
void glVertex (Point2< double > const &p)
void glVertex (Point2< float > const &p)
void glVertex (Point2< short > const &p)
void glVertex (Point2< int > 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 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 OBJMARKER , class OBJPTRCONTAINER >
unsigned int GridGetInBox (SPATIALINDEXING &_Si, OBJMARKER &_marker, const vcg::Box3< typename SPATIALINDEXING::ScalarType > &_bbox, OBJPTRCONTAINER &_objectPtrs)
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 , class RotationType >
Similarity< S, RotationType > Interpolate (const Similarity< S, RotationType > &a, const Similarity< S, RotationType > &b, const S t)
template<class S >
Quaternion< S > Interpolate (Quaternion< S > a, Quaternion< S > b, double t)
template<class TriangleType , class ScalarType >
bool InterpolationParameters (const TriangleType t, const Point3< ScalarType > &N, const Point3< ScalarType > &bq, ScalarType &a, ScalarType &b, ScalarType &c)
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 int Axis, const Point3< ScalarType > &P, Point3< ScalarType > &L)
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 (int cur, int v2, std::vector< int > &next, std::vector< Point2< S > > &points2)
template<typename GridType , typename ScalarType >
bool Intersect (GridType &grid, Plane3< ScalarType > plane, std::vector< typename GridType::Cell * > &cells)
template<typename TriMeshType , class ScalarType , class IndexingType >
bool Intersection (Plane3< ScalarType > pl, IndexingType *grid, typename std::vector< typename TriMeshType::FaceType * > &v)
template<typename TriMeshType , typename EdgeMeshType , class ScalarType >
bool Intersection (TriMeshType &m, Plane3< ScalarType > pl, EdgeMeshType &em)
template<typename TriMeshType , typename EdgeMeshType , class ScalarType , class IndexingType >
bool Intersection (Plane3< ScalarType > pl, EdgeMeshType &em, double &ave_length, IndexingType *grid, typename std::vector< typename IndexingType::Cell * > &cells)
template<typename TriMeshType , class ScalarType , class IndexingType >
void IntersectionBallMesh (IndexingType *grid, TriMeshType &m, const vcg::Sphere3< ScalarType > &ball, TriMeshType &res, float tol=0)
template<typename TriMeshType , class ScalarType >
void IntersectionBallMesh (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 >
bool IntersectionLinePlane (const Plane3< T > &pl, const Line3< T > &li, 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<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<class ScalarType >
bool IntersectionPlaneSphere (const Plane3< ScalarType > &pl, const Sphere3< ScalarType > &sphere, Point3< ScalarType > &center, ScalarType &radius)
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, ScalarType &bar1, ScalarType &bar2, ScalarType &bar3, typename TriMeshType::FacePointer fp)
template<typename TriMeshType , class ScalarType >
bool IntersectionRayMesh (TriMeshType *m, const Line3< ScalarType > &ray, Point3< ScalarType > &hitPoint)
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 >
int IntersectionSegmentBox (const Box3< ScalarType > &box, const Segment3< ScalarType > &s, Point3< ScalarType > &coord0, Point3< ScalarType > &coord1)
template<class ScalarType >
bool IntersectionSegmentBox (const Box3< ScalarType > &box, const Segment3< ScalarType > &s, Point3< ScalarType > &coord)
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 TriangleType >
bool IntersectionSegmentTriangle (const vcg::Segment3< typename TriangleType::ScalarType > &seg, const TriangleType &t, typename TriangleType::ScalarType &a, typename TriangleType::ScalarType &b, typename TriangleType::ScalarType &dist)
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, ScalarType &dist)
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<class T >
bool IntersectionTriangleTriangle (Point3< T > V0, Point3< T > V1, Point3< T > V2, Point3< T > U0, Point3< T > U1, Point3< T > U2)
template<typename TRIANGLETYPE >
bool IntersectionTriangleTriangle (const TRIANGLETYPE &t0, const TRIANGLETYPE &t1)
 intersection between two triangles
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 >
Matrix44< T > & Invert (Matrix44< T > &m)
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 SCALAR_TYPE >
bool LineLineIntersection (const vcg::Line2< SCALAR_TYPE > &l0, const vcg::Line2< SCALAR_TYPE > &l1, Point2< SCALAR_TYPE > &p)
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<class SCALARTYPE >
Point3< SCALARTYPE > LowClampToZero (const Point3< SCALARTYPE > &p)
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 S , class M >
void MatrixToQuaternion (const M &m, Quaternion< S > &q)
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<class T >
Norm (const Point4< T > &p)
template<class P3ScalarType >
P3ScalarType Norm (Point3< P3ScalarType > const &p)
template<class T >
Norm (Point2< T > const &p)
template<typename Derived1 >
Eigen::ei_traits< Derived1 >
::Scalar 
Norm (const Eigen::MatrixBase< Derived1 > &p)
template<class Point3Type >
Point3Type Normal (Point3Type const &p0, Point3Type const &p1, Point3Type const &p2)
template<class TriangleType >
Point3< typename
TriangleType::ScalarType
Normal (const TriangleType &t)
 Returns the normal to the plane passing through p0,p1,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 P3ScalarType >
Point3< P3ScalarType > & Normalize (Point3< P3ScalarType > &p)
template<class T >
Point2< T > & Normalize (Point2< T > &p)
template<class Point3Type >
Point3Type NormalizedNormal (Point3Type const &p0, Point3Type const &p1, Point3Type const &p2)
template<class TriangleType >
Point3< typename
TriangleType::ScalarType
NormalizedNormal (const TriangleType &t)
 Like the above, it returns the normal to the plane passing through p0,p1,p2, but normalized.
template<class T >
Point2< T > operator* (const T s, Point2< T > const &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 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 PointType >
bool Pick (const int &x, const int &y, PointType &pp)
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 S >
Point3< S > PlaneFittingPoints (const std::vector< Point3< S > > &samples, Plane3< S > &p)
template<class S >
Point3< S > PlaneFittingPoints (const std::vector< Point3< S > > &samples, Plane3< S > &p, Point4< S > &eval, Matrix44< S > &evec)
template<class S >
bool PlaneFittingPointsOld (std::vector< Point3< S > > &samples, Plane3< S > &p)
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)
 Returns the normal to the plane passing through p0,p1,p2.
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 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 MESH_TYPE , class MIDPOINT >
bool Refine (MESH_TYPE &m, MIDPOINT mid, typename MESH_TYPE::ScalarType thr=0, bool RefineSelected=false, CallBackPos *cb=0)
template<class MESH_TYPE , class MIDPOINT , class EDGEPRED >
bool RefineE (MESH_TYPE &m, MIDPOINT mid, EDGEPRED ep, bool RefineSelected=false, CallBackPos *cb=0)
template<class S >
void RotationalPartByPolarDecomposition (const vcg::Matrix33< S > &m, vcg::Matrix33< S > &r)
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 point and triangle
template<typename TYPE >
static TYPE sign (TYPE a, TYPE b)
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<typename TYPE >
static TYPE sqr (TYPE a)
template<class ScalarType >
ScalarType SquaredDistance (Segment3< ScalarType > &segment, Point3< ScalarType > &p)
template<class T >
SquaredDistance (const Point3< T > &point, const Plane3< T > &plane)
template<class T >
SquaredDistance (const Plane3< T > &plane, const Point3< T > &point)
template<class T >
SquaredDistance (const Point4< T > &p1, const Point4< T > &p2)
template<class P3ScalarType >
P3ScalarType SquaredDistance (Point3< P3ScalarType > const &p1, Point3< P3ScalarType > const &p2)
template<class T >
SquaredDistance (Point2< T > const &p1, Point2< T > const &p2)
template<typename Derived1 , typename Derived2 >
Eigen::ei_traits< Derived1 >
::Scalar 
SquaredDistance (const Eigen::MatrixBase< Derived1 > &p1, const Eigen::MatrixBase< Derived2 > &p2)
template<class T >
SquaredNorm (const Point4< T > &p)
template<class P3ScalarType >
P3ScalarType SquaredNorm (Point3< P3ScalarType > const &p)
template<class T >
SquaredNorm (Point2< T > const &p)
template<typename Derived1 >
Eigen::ei_traits< Derived1 >
::Scalar 
SquaredNorm (const Eigen::MatrixBase< Derived1 > &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<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 >
Matrix44< T > & Transpose (Matrix44< T > &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 >
void TrianglePointDistance (const TriangleType &t, const typename TriangleType::CoordType &q, typename TriangleType::ScalarType &dist, typename TriangleType::CoordType &closest)
 Computes the distance between a triangle and a point.
template<class TRIMESH_TYPE , class CenterPoint >
void TriSplit (typename TRIMESH_TYPE::FacePointer f, typename TRIMESH_TYPE::FacePointer f1, typename TRIMESH_TYPE::FacePointer f2, typename TRIMESH_TYPE::VertexPointer vB, CenterPoint Center)

Variables

const Split SplitTab [8]

Matrix33

Class Matrix33. This is the class for definition of a matrix 3x3.

Parameters:
S (Templete Parameter) Specifies the ScalarType field.


typedef Matrix33< double > Matrix33d
typedef Matrix33< float > Matrix33f
typedef Matrix33< int > Matrix33i
typedef Matrix33< short > Matrix33s
template<class S >
Matrix33< S > Inverse (const Matrix33< S > &m)
template<class S >
void Invert (Matrix33< S > &m)
template<class S >
Matrix33< S > RandomRotation ()
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 > 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

Detailed Description

*

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)

(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 The shot is made of two things: the Instrinsics paramaters, which are stored as a Camera type (check 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 (che the type ReferenceFrame) and that tell viewpoint and view direction.

The Extrinsics parameters are kept as a rotation matrix "rot" and a translation vector "tra" NOTE: the translation matrix "tra" corresponds to -viewpoint 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:
_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
Returns:
The closest element

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 453 of file histogram.h.

typedef Histogram<float> vcg::Histogramf

Definition at line 454 of file histogram.h.

typedef Matrix33<double> vcg::Matrix33d

Definition at line 742 of file deprecated_matrix33.h.

typedef Matrix33<float> vcg::Matrix33f

Definition at line 741 of file deprecated_matrix33.h.

typedef Matrix33<int> vcg::Matrix33i

Definition at line 740 of file deprecated_matrix33.h.

typedef Matrix33<short> vcg::Matrix33s

Definition at line 739 of file deprecated_matrix33.h.

typedef Matrix44<double> vcg::Matrix44d

Definition at line 341 of file deprecated_matrix44.h.

typedef Matrix44<float> vcg::Matrix44f

Definition at line 340 of file deprecated_matrix44.h.

typedef Matrix44<int> vcg::Matrix44i

Definition at line 339 of file deprecated_matrix44.h.

typedef Matrix44<short> vcg::Matrix44s

Definition at line 338 of file deprecated_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 void vcg::TaskFunc(int t, void *contest)

interruptible function

Definition at line 53 of file callback.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
PERSPECTIVE 
ORTHO 
ISOMETRIC 
CAVALIERI 

Definition at line 139 of file vcg/math/camera.h.

Enumerator:
TetraEdgeCollapseOp 
TriEdgeSwapOp 
TriVertexSplitOp 
TriEdgeCollapseOp 
TetraEdgeSpliOpt 
TetraEdgeSwapOp 
TriEdgeFlipOp 

Definition at line 105 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 
) [inline]

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 
) [inline]

Definition at line 268 of file eigen.h.

template<class scalar_type >
void vcg::BestDim ( const __int64  elems,
const Point3< scalar_type > &  size,
Point3i &  dim 
) [inline]

Calcolo dimensioni griglia. Calcola la dimensione della griglia in funzione della ratio del bounding box e del numero di elementi

Definition at line 226 of file grid_util.h.

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

Definition at line 215 of file grid_util.h.

template<class MESH_TYPE >
void vcg::Crease ( MESH_TYPE &  m,
typename MESH_TYPE::scalar_type  angleRad 
) [inline]

Definition at line 959 of file trimesh.h.

template<class T >
bool vcg::Decompose ( Matrix44< T > &  M,
Point3< T > &  ScaleV,
Point3< T > &  ShearV,
Point3< T > &  RotV,
Point3< T > &  TranV 
) [inline]

Definition at line 708 of file deprecated_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.

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 >
double vcg::FIT_VExp ( const Point3< S > &  x,
const int  i 
) [inline]

Definition at line 107 of file fitting3.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 ( const Box2< T > &  b  )  [inline]

Definition at line 218 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.

void vcg::glClearColor ( Color4b const &  c  )  [inline]

Definition at line 114 of file deprecated_space.h.

void vcg::glColor ( Color4b const &  c  )  [inline]

Definition at line 111 of file deprecated_space.h.

void vcg::glGetDirectv ( const GLenum  pname,
Matrix44f &  m 
) [inline]

Definition at line 134 of file deprecated_math.h.

void vcg::glGetDirecv ( const GLenum  pname,
Matrix44d &  m 
) [inline]

Definition at line 138 of file deprecated_math.h.

void vcg::glGetv ( const GLenum  pname,
Matrix44f &  m 
) [inline]

Definition at line 128 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::glMultMatrix ( const Similarityd &  s  )  [inline]

Definition at line 113 of file deprecated_math.h.

void vcg::glMultMatrix ( const Similarityf &  s  )  [inline]

Definition at line 103 of file deprecated_math.h.

void vcg::glMultMatrix ( const Matrix44f &  matrix  )  [inline]

Definition at line 91 of file deprecated_math.h.

void vcg::glMultMatrixDirect ( const Matrix44f &  matrix  )  [inline]

Definition at line 99 of file deprecated_math.h.

void vcg::glMultMatrixE ( const Matrix44f &  matrix  )  [inline]

Definition at line 85 of file deprecated_math.h.

void vcg::glNormal ( Point3< double > const &  p  )  [inline]

Definition at line 99 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< short > const &  p  )  [inline]

Definition at line 97 of file deprecated_space.h.

void vcg::glNormal ( Point3< int > const &  p  )  [inline]

Definition at line 96 of file deprecated_space.h.

template<class T >
void vcg::glPlane3 ( Plane3< T >  p,
Point3< T >  c,
size 
) [inline]

Definition at line 233 of file deprecated_space.h.

void vcg::glScale ( Point3< double > const &  p  )  [inline]

Definition at line 107 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 ( Point2< double > const &  p  )  [inline]

Definition at line 90 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 ( double const &  p  )  [inline]

Definition at line 77 of file deprecated_space.h.

void vcg::glScale ( float const &  p  )  [inline]

Definition at line 76 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 ( Point3< double > const &  p  )  [inline]

Definition at line 103 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< short > const &  p  )  [inline]

Definition at line 101 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 ( Point2< double > const &  p  )  [inline]

Definition at line 86 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< short > const &  p  )  [inline]

Definition at line 84 of file deprecated_space.h.

void vcg::glTexCoord ( Point2< int > const &  p  )  [inline]

Definition at line 83 of file deprecated_space.h.

void vcg::glTranslate ( Point3< double > const &  p  )  [inline]

Definition at line 105 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 ( Point2< double > const &  p  )  [inline]

Definition at line 88 of file deprecated_space.h.

void vcg::glTranslate ( Point2< float > const &  p  )  [inline]

Definition at line 87 of file deprecated_space.h.

template<class TriangleType >
void vcg::glTriangle3 ( TriangleType &  c  )  [inline]

Definition at line 267 of file deprecated_space.h.

static void vcg::glutSolidSphere ( GLdouble  radius,
GLint  slices,
GLint  stacks 
) [static]

Definition at line 71 of file addons.h.

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

Definition at line 159 of file addons.h.

void vcg::glVertex ( Point3< double > const &  p  )  [inline]

Definition at line 95 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< short > const &  p  )  [inline]

Definition at line 93 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 ( Point2< double > const &  p  )  [inline]

Definition at line 82 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< short > const &  p  )  [inline]

Definition at line 80 of file deprecated_space.h.

void vcg::glVertex ( Point2< int > const &  p  )  [inline]

Definition at line 79 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 
) [inline]

Definition at line 95 of file grid_closest.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 
) [inline]

Definition at line 219 of file grid_closest.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 
) [inline]

Definition at line 268 of file grid_closest.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 
) [inline]

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 
) [inline]

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:
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).
Returns:
The linear interpolation.
template<class S , class RotationType >
Similarity<S,RotationType> vcg::Interpolate ( const Similarity< S, RotationType > &  a,
const Similarity< S, RotationType > &  b,
const S  t 
) [inline]

Definition at line 232 of file similarity.h.

template<class S >
Quaternion< S > vcg::Interpolate ( Quaternion< S >  a,
Quaternion< S >  b,
double  t 
) [inline]

Definition at line 402 of file quaternion.h.

template<typename TriMeshType , typename EdgeMeshType , class ScalarType , class IndexingType >
bool vcg::Intersection ( Plane3< ScalarType pl,
EdgeMeshType &  em,
double &  ave_length,
IndexingType *  grid,
typename std::vector< typename IndexingType::Cell * > &  cells 
) [inline]

Basic Function computing the intersection between a trimesh and a plane, provided a pointer to an space indexing data structure (e.g. a grid, an oct-tree..)

Definition at line 124 of file intersection.h.

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

Definition at line 226 of file similarity.h.

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

Definition at line 396 of file quaternion.h.

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

Definition at line 849 of file deprecated_matrix44.h.

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

Definition at line 639 of file deprecated_matrix33.h.

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

Definition at line 219 of file similarity.h.

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

Definition at line 391 of file quaternion.h.

template<class T >
Matrix44< T > & vcg::Invert ( Matrix44< T > &  m  )  [inline]

Definition at line 836 of file deprecated_matrix44.h.

template<class S >
void vcg::Invert ( Matrix33< S > &  m  )  [inline]

Definition at line 628 of file deprecated_matrix33.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 
) [inline]

Definition at line 321 of file quaternion.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 S , class RotationType >
Point3< S > vcg::operator* ( const Similarity< S, RotationType > &  m,
const Point3< S > &  p 
) [inline]

Definition at line 240 of file similarity.h.

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

Premultiply.

Definition at line 795 of file deprecated_matrix44.h.

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

Definition at line 485 of file deprecated_matrix44.h.

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

Definition at line 127 of file picking.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 
) [inline]

Definition at line 57 of file picking.h.

template<class S >
Point3<S> vcg::PlaneFittingPoints ( const std::vector< Point3< S > > &  samples,
Plane3< S > &  p 
) [inline]

Definition at line 99 of file fitting3.h.

template<class S >
Point3<S> vcg::PlaneFittingPoints ( const std::vector< Point3< S > > &  samples,
Plane3< S > &  p,
Point4< S > &  eval,
Matrix44< S > &  evec 
) [inline]

Definition at line 49 of file fitting3.h.

template<class S >
bool vcg::PlaneFittingPointsOld ( std::vector< Point3< S > > &  samples,
Plane3< S > &  p 
) [inline]

Fitting di piani: trova il piano che meglio approssima l'insieme di punti dato

Definition at line 119 of file fitting3.h.

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

Definition at line 271 of file quaternion.h.

template<class S >
Matrix33<S> vcg::RandomRotation (  )  [inline]

return a random rotation matrix, from the paper: Fast Random Rotation Matrices, James Arvo Graphics Gems III pp. 117-120

Definition at line 713 of file deprecated_matrix33.h.

template<class MESH_TYPE , class MIDPOINT >
bool vcg::Refine ( MESH_TYPE &  m,
MIDPOINT  mid,
typename MESH_TYPE::ScalarType  thr = 0,
bool  RefineSelected = false,
CallBackPos *  cb = 0 
) [inline]

Definition at line 508 of file refine.h.

template<class MESH_TYPE , class MIDPOINT , class EDGEPRED >
bool vcg::RefineE ( MESH_TYPE &  m,
MIDPOINT  mid,
EDGEPRED  ep,
bool  RefineSelected = false,
CallBackPos *  cb = 0 
) [inline]

Definition at line 306 of file refine.h.

template<class S >
Matrix33<S> vcg::RotationMatrix ( const vcg::Point3< S > &  axis,
const float &  angleRad 
) [inline]

return the rotation matrix along axis

Definition at line 697 of file deprecated_matrix33.h.

template<class S >
Matrix33<S> vcg::RotationMatrix ( vcg::Point3< S >  v0,
vcg::Point3< S >  v1,
bool  normalized = true 
) [inline]

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 651 of file deprecated_matrix33.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<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 T >
Matrix44< T > & vcg::Transpose ( Matrix44< T > &  m  )  [inline]

Definition at line 817 of file deprecated_matrix44.h.

template<class TRIMESH_TYPE , class CenterPoint >
void vcg::TriSplit ( typename TRIMESH_TYPE::FacePointer  f,
typename TRIMESH_TYPE::FacePointer  f1,
typename TRIMESH_TYPE::FacePointer  f2,
typename TRIMESH_TYPE::VertexPointer  vB,
CenterPoint  Center 
) [inline]

Definition at line 849 of file refine.h.


Variable Documentation

const Split vcg::SplitTab[8]
Initial value:
{

        {1, {{0,1,2},{0,0,0},{0,0,0},{0,0,0}}, {{0,0},{0,0}},  {{0,1,2},{0,0,0},{0,0,0},{0,0,0}} },
        {2, {{0,3,2},{3,1,2},{0,0,0},{0,0,0}}, {{0,0},{0,0}},  {{0,3,2},{0,1,3},{0,0,0},{0,0,0}} },
        {2, {{0,1,4},{0,4,2},{0,0,0},{0,0,0}}, {{0,0},{0,0}},  {{0,1,3},{3,1,2},{0,0,0},{0,0,0}} },
        {3, {{3,1,4},{0,3,2},{4,2,3},{0,0,0}}, {{0,4},{3,2}},  {{0,1,3},{0,3,2},{1,3,3},{0,0,0}} },
        {2, {{0,1,5},{5,1,2},{0,0,0},{0,0,0}}, {{0,0},{0,0}},  {{0,3,2},{3,1,2},{0,0,0},{0,0,0}} },
        {3, {{0,3,5},{3,1,5},{2,5,1},{0,0,0}}, {{3,2},{5,1}},  {{0,3,2},{0,3,3},{2,3,1},{0,0,0}} },
        {3, {{2,5,4},{0,1,5},{4,5,1},{0,0,0}}, {{0,4},{5,1}},  {{2,3,1},{0,3,2},{3,3,1},{0,0,0}} },
        
        {4, {{3,4,5},{0,3,5},{3,1,4},{5,4,2}}, {{0,0},{0,0}},  {{3,3,3},{0,3,2},{0,1,3},{3,1,2}} },
}

Definition at line 100 of file refine.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


vcglib
Author(s): Christian Bersch
autogenerated on Fri Jan 11 09:22:44 2013