Thea
|
Miscellaneous algorithms. More...
Namespaces | |
ImageFeatures | |
Namespace for classes that compute features on an image. | |
SurfaceFeatures | |
Namespace for classes that compute features of a surface. | |
Classes | |
class | AlwaysBlockFilter |
A filter that allows nothing to pass through. More... | |
class | AlwaysPassFilter |
A filter that allows everything to pass through. More... | |
class | ApproximateConvexPointDecomposition |
Approximate convex decomposition of point clouds. More... | |
class | ArpackEigenSolver |
ARPACK-based eigensystem solver. More... | |
class | ArpackEigenSolverFactory |
Factory for creating ARPACK eigensolvers. More... | |
class | ArpackPlugin |
An ARPACK-based eigensolver plugin. More... | |
class | BagOfWords |
A bag-of-words model for classifying objects described as a set of points, each point having a feature vector. More... | |
class | BestFitBox3 |
Approximate best-fit oriented bounding box. More... | |
class | BestFitEllipsoid3 |
Approximate best-fit ellipsoid. More... | |
class | BestFitSphereN |
Approximate best-fit sphere. More... | |
class | BoundedTraitsN |
Traits class for a bounded object in N-space. More... | |
class | BvhN |
A bounding volume hierarchy (BVH) for a set of bounded objects in N-space. More... | |
class | CentroidN |
Finding the centroid of N-dimensional data. More... | |
class | ConnectedComponents |
Compute connected components of graphs and meshes. More... | |
class | ConvexHull3 |
Convex hull of a set of points in 3-space. More... | |
class | CsparseLinearSolver |
CSPARSE-based solver for sparse systems of linear equations. More... | |
class | CsparseLinearSolverFactory |
Factory for creating CSPARSE linear solvers. More... | |
class | CsparsePlugin |
A CSPARSE-based plugin for solving sparse systems of linear equations. More... | |
class | DiscreteExponentialMap |
Compute the discrete exponential map of a surface around a point. More... | |
class | EigenSolverManager |
Manages available eigensolver factories. More... | |
class | Filter |
Interface for all single-object filters. More... | |
class | FixedPointIterator |
Iterates repeatedly over a single object. More... | |
class | FurthestPointSampling |
Subsample a set of 3D points to pick a subset of points distributed evenly, that is, neighboring points are (roughly) equally spaced. More... | |
class | GeodesicExtrema |
Compute vertices that represent extrema of a graph, in the sense that they are, on average, further away from other vertices in the graph than their neighbors. More... | |
class | GeodesicSphere3 |
Generates a unit geodesic sphere, obtained by recursive subdivision of the faces of an icosahedron. More... | |
class | HasNormalN |
Has boolean member value = true if T has an N-D normal vector, else value = false . More... | |
class | Histogram |
A 1D histogram of real values. More... | |
class | HoughForest |
An implementation of Hough forests. More... | |
class | IAnalyticD1ScalarFunction |
Interface for a function that maps each point in R^n to a real number and has an analytic first derivative (gradient). More... | |
class | IAnalyticD2ScalarFunction |
Interface for a function that maps each point in R^n to a real number and has analytic first (gradient) and second (Hessian) derivatives. More... | |
class | Icp3 |
Align two sets of points in 3D using the Iterative Closest Point (ICP) algorithm. More... | |
class | IEigenSolver |
Eigenvalue solver interface. More... | |
class | IEigenSolverFactory |
Interface for a eigensolver factory. More... | |
class | ILinearSolver |
Interface for solvers of systems of linear equations. More... | |
class | ILinearSolverFactory |
Interface for a linear solver factory. More... | |
class | ImlsSurface |
Use the Implicit Moving Least Squares (IMLS) method to compute a smooth approximation to an input mesh. More... | |
class | ImplicitSurfaceMesher |
Mesh an implicit surface defined as the zero level set of a 3D function. More... | |
class | IntersectionTester |
Intersection queries on objects. More... | |
struct | IntersectionTesterImpl |
Helper class for IntersectionTester. More... | |
class | INumericalOptimizer |
Interface for numerical optimizers, that minimize an objective function f:R^n–>R under given constraints. More... | |
class | INumericalOptimizerFactory |
Interface for a numerical optimizer factory. More... | |
class | IsBoundedN |
Has boolean member value = true if T is a geometrically bounded object in n-D space, else value = false . More... | |
class | IScalarConstraint |
Interface for an optimization constraint of the form f(x) op y , where x is a vector, y is a scalar, f is a function, and op is a comparison operator. More... | |
class | IScalarFunction |
Interface for a function that maps each point in R^n to a real number. More... | |
class | IsNonReferencedBoundedN |
Same as IsBoundedN (no need to specialize it separately), except false for pointer types. More... | |
class | IsNonReferencedPointN |
Same as IsPointN (no need to specialize it separately), except false for pointer types. More... | |
class | IsPointN |
Has boolean member value = true if T can be identified with a single point in N-D space, else value = false . More... | |
class | IsRawBoundedN |
Same as IsBoundedN (no need to specialize it separately), except false for const or pointer types. More... | |
class | IsRawPointN |
Same as IsPointN (no need to specialize it separately), except false for const or pointer types. More... | |
class | JointBoost |
A boosting classifier using shared features. More... | |
class | KMeans |
A k-means model for clustering points described by feature vectors. More... | |
class | LaplaceBeltrami |
Compute the discrete Laplace-Beltrami operator of a mesh. More... | |
class | LinearLeastSquares2 |
Fitting linear models to 2D data by minimizing sum-of-squared-errors. More... | |
class | LinearLeastSquares3 |
Fitting linear models to 3D data by minimizing sum-of-squared-errors. More... | |
class | LinearSolverManager |
Manages available linear solver factories. More... | |
class | LogisticRegression |
Solve logistic regression problems. More... | |
class | Manifold |
Adjust mesh-based surfaces to have manifold topology. More... | |
class | MeshBvh |
A bounding volume hierarchy on mesh triangles. More... | |
class | MeshSampler |
Sample points from a mesh. More... | |
class | MeshTriangles |
A set of triangles obtained by triangulating mesh faces. More... | |
class | MeshVertexTriple |
A set of three vertices of a single face of a mesh. More... | |
class | MeshVertexTriple< MeshT, typename std::enable_if< Graphics::IsDisplayMesh< MeshT >::value >::type > |
A set of three vertices of a single face of a display mesh. More... | |
class | MetricL2 |
Distances and closest pairs of points between various types of objects according to the Euclidean (L2) metric. More... | |
struct | MetricL2Impl |
Helper class for MetricL2. More... | |
class | NormalTraitsN |
Traits for an object which has an N-D normal vector. More... | |
class | NumericalOptimizerManager |
Manages available numerical optimizer factories. More... | |
class | PcaN |
Principal component analysis of N-D data. More... | |
class | PointCollectorN |
Add points from different objects to a collection. More... | |
class | PointPairN |
A pair of points in n-dimensional space. More... | |
class | PointSet3 |
A set of 3D points, with a proximity graph and BVH on the samples. More... | |
class | PointTraitsN |
Traits for an object which can be identified with a single point in N-space. More... | |
class | ProximityQueryStructureN |
Interface for a structure that supports proximity queries in N-space. More... | |
class | PtrIterator |
Converts an iterator dereferencing to T, to an iterator dereferencing to T *. More... | |
class | Pyramid1d |
A 1D pyramid. More... | |
class | Pyramid2d |
A 2D pyramid. More... | |
class | Pyramid3d |
A 3D pyramid. More... | |
class | PyramidMatch |
Compare two 1, 2 or 3-dimensional scalar arrays of the same size using a pyramid-matching technique. More... | |
class | RangeQueryStructure |
Interface for a structure that supports range queries. More... | |
class | RayIntersectionTester |
Ray intersection queries on objects. More... | |
struct | RayIntersectionTesterImpl |
Helper class for RayIntersectionTester. More... | |
class | RayQueryStructureN |
Interface for a structure that supports ray intersection queries in N-space. More... | |
class | RayStructureIntersectionN |
A description of the intersection point of a ray with a structure. More... | |
class | RefIterator |
Converts an iterator dereferencing to a pointer to T, to an iterator dereferencing to T. More... | |
class | SamplePoint3 |
A class used to store 3D sample points with adjacency information. More... | |
class | ShortestPaths |
Compute shortest paths on graphs. More... | |
class | SparsePcaN |
Sparse Principal Component Analysis – biases basis vectors to have more zeros. More... | |
class | StdLinearSolver |
Solve dense and sparse linear systems of the form Ax = b for x. More... | |
class | SurfaceParametrization |
Project 2-manifolds to a 2D (UV) parameter space. More... | |
class | Symmetry3 |
Symmetry detection in 3D. More... | |
class | TransformedObject |
Wraps pointers to an object and an associated transformation. More... | |
class | Transformer |
Apply transformations to objects. More... | |
struct | TransformerImpl |
Helper class for Transformer. More... | |
class | UniversalCompatibility |
A compatibility functor that always returns true for any two objects. More... | |
class | Zernike2 |
Compute Zernike moments of a 2D distribution, represented as a matrix of density values. More... | |
Typedefs | |
typedef BestFitSphereN< 3, Real > | BestFitSphere3 |
Best-fit sphere in 3 dimensions. More... | |
typedef std::pair< double, double > | DoublePair |
A pair of points in 1-space (double-precision) More... | |
typedef std::pair< float, float > | FloatPair |
A pair of points in 1-space (single-precision) More... | |
typedef std::pair< Vector2, Vector2 > | PointPair2 |
A pair of points in 2-space. More... | |
typedef std::pair< Vector3, Vector3 > | PointPair3 |
A pair of points in 3-space. More... | |
typedef std::pair< Vector4, Vector4 > | PointPair4 |
A pair of points in 4-space. More... | |
typedef ProximityQueryStructureN< 2, Real > | ProximityQueryStructure2 |
Interface for a structure that supports proximity queries in 2-space. More... | |
typedef ProximityQueryStructureN< 3, Real > | ProximityQueryStructure3 |
Interface for a structure that supports proximity queries in 3-space. More... | |
typedef RayQueryStructureN< 2, Real > | RayQueryStructure2 |
Interface for a structure that supports ray intersection queries in 2-space. More... | |
typedef RayQueryStructureN< 3, Real > | RayQueryStructure3 |
Interface for a structure that supports ray intersection queries in 3-space. More... | |
typedef RayStructureIntersectionN< 2, Real > | RayStructureIntersection2 |
A description of the intersection point of a ray with a structure in 2-space. More... | |
typedef RayStructureIntersectionN< 3, Real > | RayStructureIntersection3 |
A description of the intersection point of a ray with a structure in 3-space. More... | |
typedef std::pair< Real, Real > | RealPair |
A pair of points in 1-space (default precision) More... | |
Functions | |
template<typename I1 , typename I2 > | |
I2 | fastCopy (I1 first, I1 last, I2 out) |
A version of std::copy that calls memcpy where appropriate (if the class has a trivial assignment operator and the iterators are raw pointers) for speed. More... | |
template<typename I1 , typename I2 > | |
I2 | fastCopyBackward (I1 first, I1 last, I2 out) |
A version of std::copy_backward that calls memmove where appropriate (if the class has a trivial assignment operator) for speed. More... | |
template<typename IteratorT > | |
PtrIterator< IteratorT > | makePtrIterator (IteratorT const &ii) |
Utility function to create a specialization of PtrIterator of the correct type wrapping a given iterator. More... | |
template<typename IteratorT > | |
RefIterator< IteratorT > | makeRefIterator (IteratorT const &ii) |
Utility function to create a specialization of RefIterator of the correct type wrapping a given iterator. More... | |
template<typename ObjectT , typename TransformT > | |
TransformedObject< ObjectT, TransformT > | makeTransformedObject (ObjectT const *obj, TransformT const *trans) |
Utility function to wrap an object-transformation pair. More... | |
Miscellaneous algorithms.
typedef BestFitSphereN<3, Real> BestFitSphere3 |
Best-fit sphere in 3 dimensions.
Definition at line 24 of file BestFitSphere3.hpp.
typedef std::pair<double, double> DoublePair |
A pair of points in 1-space (double-precision)
Definition at line 29 of file PointPairs.hpp.
typedef std::pair<float, float> FloatPair |
A pair of points in 1-space (single-precision)
Definition at line 26 of file PointPairs.hpp.
typedef std::pair<Vector2, Vector2> PointPair2 |
A pair of points in 2-space.
Definition at line 35 of file PointPairs.hpp.
typedef std::pair<Vector3, Vector3> PointPair3 |
A pair of points in 3-space.
Definition at line 38 of file PointPairs.hpp.
typedef std::pair<Vector4, Vector4> PointPair4 |
A pair of points in 4-space.
Definition at line 41 of file PointPairs.hpp.
typedef ProximityQueryStructureN<2, Real> ProximityQueryStructure2 |
Interface for a structure that supports proximity queries in 2-space.
Definition at line 237 of file ProximityQueryStructureN.hpp.
typedef ProximityQueryStructureN<3, Real> ProximityQueryStructure3 |
Interface for a structure that supports proximity queries in 3-space.
Definition at line 240 of file ProximityQueryStructureN.hpp.
typedef RayQueryStructureN<2, Real> RayQueryStructure2 |
Interface for a structure that supports ray intersection queries in 2-space.
Definition at line 94 of file RayQueryStructureN.hpp.
typedef RayQueryStructureN<3, Real> RayQueryStructure3 |
Interface for a structure that supports ray intersection queries in 3-space.
Definition at line 103 of file RayQueryStructureN.hpp.
typedef RayStructureIntersectionN<2, Real> RayStructureIntersection2 |
A description of the intersection point of a ray with a structure in 2-space.
Specifies the hit time, the normal at the intersection point, and the index of the intersected element.
Definition at line 91 of file RayQueryStructureN.hpp.
typedef RayStructureIntersectionN<3, Real> RayStructureIntersection3 |
A description of the intersection point of a ray with a structure in 3-space.
Specifies the hit time, the normal at the intersection point, and the index of the intersected element.
Definition at line 100 of file RayQueryStructureN.hpp.
typedef std::pair<Real, Real> RealPair |
A pair of points in 1-space (default precision)
Definition at line 32 of file PointPairs.hpp.
I2 Thea::Algorithms::fastCopy | ( | I1 | first, |
I1 | last, | ||
I2 | out | ||
) |
A version of std::copy
that calls memcpy
where appropriate (if the class has a trivial assignment operator and the iterators are raw pointers) for speed.
To take advantage of fast copying, specialize std::is_trivially_copyable
to return true for the value type.
Definition at line 76 of file FastCopy.hpp.
I2 Thea::Algorithms::fastCopyBackward | ( | I1 | first, |
I1 | last, | ||
I2 | out | ||
) |
A version of std::copy_backward
that calls memmove
where appropriate (if the class has a trivial assignment operator) for speed.
To take advantage of fast copying, specialize std::is_trivially_copyable
to return true for the value type.
Definition at line 95 of file FastCopy.hpp.
PtrIterator<IteratorT> Thea::Algorithms::makePtrIterator | ( | IteratorT const & | ii | ) |
Utility function to create a specialization of PtrIterator of the correct type wrapping a given iterator.
Definition at line 317 of file Iterators.hpp.
RefIterator<IteratorT> Thea::Algorithms::makeRefIterator | ( | IteratorT const & | ii | ) |
Utility function to create a specialization of RefIterator of the correct type wrapping a given iterator.
Definition at line 309 of file Iterators.hpp.
TransformedObject<ObjectT, TransformT> Thea::Algorithms::makeTransformedObject | ( | ObjectT const * | obj, |
TransformT const * | trans | ||
) |
Utility function to wrap an object-transformation pair.
Allows the compiler to automatically infer template parameters.
Definition at line 62 of file TransformedObject.hpp.