|
class | AmbientOcclusion |
| Traditional Screen Space Ambient Occlusion (SSAO) technique. More...
|
|
class | AverageColorBlending |
| Transparency effect using average color blending. More...
|
|
class | AxisPlaneConstraint |
| An abstract class for Frame Constraints defined by an axis or a plane. More...
|
|
class | BasePropertyArray |
| Base class for a property array. More...
|
|
class | Bezier |
| Class for Bezier curve fitting. More...
|
|
class | BSpline |
| Class for BSpline curve fitting. More...
|
|
class | Camera |
| A perspective or orthographic camera. More...
|
|
class | CameraConstraint |
| An AxisPlaneConstraint defined in the camera coordinate system. More...
|
|
class | CatmullRom |
| Class for CatmullRom curve interpolation. More...
|
|
class | ClippingPlane |
| An implementation of a manipulable clipping plane for visualization of model interiors and cross sections. More...
|
|
class | Collider |
| Efficient collision detection. More...
|
|
class | Constraint |
| An interface class for Frame constraints. More...
|
|
class | Curve |
| Abstract base class for curve fitting/interpolation. More...
|
|
class | Delaunay |
| Base class for Delaunay triangulation. More...
|
|
class | Delaunay2 |
| 2D Delaunay triangulation, using Jonathan Richard Shewchuk's "triangle" implementation. More...
|
|
class | Delaunay3 |
| 3D Delaunay triangulation, using Hang Si's tetgen. More...
|
|
class | Drawable |
| The base class for drawable objects. A drawable represent a set of points, line segments, or triangles. More...
|
|
class | DualDepthPeeling |
| Transparency effect using dual depth peeling. More...
|
|
class | EigenSolver |
| An easy-to-use eigen solver. More...
|
|
class | EyeDomeLighting |
| An implementation of the Eye Dome Lighting (EDL) technique. More...
|
|
class | Frame |
| The Frame class represents a coordinate system, defined by a position and an orientation. More...
|
|
class | FramebufferObject |
| An implementation of framebuffer object (FBO). More...
|
|
class | Frustum |
| A Frustum description for perspective projection. More...
|
|
class | GaussianNoise |
| Add Gaussian noise to 3D models. More...
|
|
class | GenericBox |
| GenericBox represents the bounding box of shapes. More...
|
|
class | GenericLine |
| A generic line representation, which supports both 2D and 3D lines. More...
|
|
class | GenericOrientedLine |
| OrientedLine implements plucker coordinates, which enables oriented lines to be compared. More...
|
|
class | GenericPlane |
| A 3D Plane of equation a*x + b*y + c*z + d = 0. More...
|
|
class | GenericPolygon |
| A 2D polygon representation. More...
|
|
class | GenericRect |
| The GenericRect class defines a rectangle in the 2D space, where the origin of the coordinate system is located in the top-left corner of the screen. More...
|
|
class | GenericSegment |
| A generic segmentation representation, which supports both 2D and 3D line segments. More...
|
|
class | Graph |
| A Graph data structure with easy property management. More...
|
|
class | GraphIO |
| Implementation of file input/output operations for Graph (Currently only PLY format is supported). More...
|
|
class | Heap |
| A class implementing a heap. More...
|
|
class | ImageIO |
| Implementation of file input/output operations for images. More...
|
|
class | KdTreeSearch |
| Base class for nearest neighbor search using KdTree. More...
|
|
class | KdTreeSearch_ANN |
| KdTree implementation based on ANN. More...
|
|
class | KdTreeSearch_ETH |
| KdTree implementation based on Richard Keiser's KdTree code. More...
|
|
class | KdTreeSearch_FLANN |
| KdTree implementation based on FLANN. More...
|
|
class | KdTreeSearch_NanoFLANN |
| KdTree implementation based on NanoFLANN. More...
|
|
class | KeyFrameInterpolator |
| A keyframe interpolator for animation generation. More...
|
|
class | LinesDrawable |
| The drawable for rendering a set of line segments, e.g., edges of a mesh, vector fields. More...
|
|
class | LinesDrawable2D |
| The drawable for rendering a set of line segments in the screen space. More...
|
|
class | LocalConstraint |
| An AxisPlaneConstraint defined in the Frame local coordinate system. More...
|
|
class | ManipulatedCameraFrame |
| A manipulated frame with camera-specific mouse bindings. More...
|
|
class | ManipulatedFrame |
| A Frame that can be rotated and translated using the mouse. More...
|
|
class | Manipulator |
| A manipulator is for manipulation of an object. More...
|
|
class | Mat |
| Base class for matrix types. More...
|
|
class | Mat2 |
| 2 by 2 matrix. Extends Mat with 2D-specific functionality and constructors. More...
|
|
class | Mat3 |
| 3 by 3 matrix. Extends Mat with 3D-specific functionality and constructors. More...
|
|
class | Mat4 |
| 4 by 4 matrix. Extends Mat with 4D-specific functionality and constructors. More...
|
|
class | Matrix |
| A matrix representation, which supports dynamic sizes. More...
|
|
class | Model |
| The base class of renderable 3D models. More...
|
|
class | ModelPicker |
| Implementation of picking mechanism for set of models. More...
|
|
class | MultiViewer |
| A viewer that supports multiple views (arranged in a grid layout). More...
|
|
class | OffScreen |
| Offscreen rendering. More...
|
|
class | OpenGLTimer |
| Accurate timing of GPU operations. More...
|
|
class | OpenglUtil |
| Utilities for OpenGL initialization and states query. More...
|
|
class | OverlappingFaces |
| Detects/Removes duplicate and folding faces for a triangle mesh. More...
|
|
class | Picker |
| Base class for picking mechanism. More...
|
|
class | PointCloud |
| A data structure for point clouds. More...
|
|
class | PointCloudIO |
| Implementation of file input/output operations for PointCloud. More...
|
|
class | PointCloudNormals |
| Estimates and reorients point cloud normals. More...
|
|
class | PointCloudPicker |
| Implementation of picking points from a point cloud. More...
|
|
class | PointCloudSimplification |
| PointCloudSimplification provides various point cloud simplification algorithms. More...
|
|
class | PointsDrawable |
| The drawable for rendering a set of points, e.g., point clouds, vertices of a mesh. More...
|
|
class | PoissonReconstruction |
| Poisson surface reconstruction. More...
|
|
class | PolygonPartition |
| Convex partition of polygons. More...
|
|
class | PolyMesh |
| Data structure representing a polyhedral mesh. More...
|
|
class | PolyMeshIO |
| Implementation of file input/output operations for PolyMesh. More...
|
|
class | PrimitivesRansac |
| Extract primitives from point clouds using RANSAC.Usage example: More...
|
|
class | PrincipalAxes |
| Computes the principal axes for a set of 2D or 3D points. More...
|
|
class | ProgressClient |
| The base class of GUI element reporting the progress. More...
|
|
class | ProgressLogger |
| An implementation of progress logging mechanism. More...
|
|
class | Property |
| Implementation of a generic property. More...
|
|
class | PropertyArray |
| Implementation of a generic property array. More...
|
|
class | PropertyContainer |
| Implementation of a generic property container. More...
|
|
class | Quat |
| The Quaternion class represents 3D rotations and orientations. More...
|
|
class | Renderer |
| A Renderer manages the drawables (and thus the rendering) of a model. More...
|
|
class | SelfIntersection |
| Detects and resolves self-intersection for surface mesh. More...
|
|
class | ShaderManager |
| Management of shader programs. More...
|
|
class | ShaderProgram |
| OpenGL Shader Compilation. More...
|
|
class | Shadow |
| Shadow implements the standard shadow map (hard shadow) algorithm. More...
|
|
class | Signal |
| A light-weight implementation of the simple signal-slot mechanism. More...
|
|
class | SoftShadow |
| An implementation of the Percentage-Closer Soft Shadows. More...
|
|
class | SplineCurveFitting |
| Spline curve fitting for arbitrary dimensions. More...
|
|
class | SplineCurveInterpolation |
| Cubic spline curve interpolation for arbitrary dimensions. More...
|
|
class | SplineInterpolation |
| Cubic spline interpolation. More...
|
|
class | State |
| Class representing the rendering state of a drawable. More...
|
|
class | StopWatch |
| A high resolution stop watch/timer. More...
|
|
class | SurfaceMesh |
| A halfedge data structure for polygonal meshes of 2-manifold. More...
|
|
class | SurfaceMeshBuilder |
| A helper class for constructing manifold surface mesh models. More...
|
|
class | SurfaceMeshComponent |
| A connected component of a SurfaceMesh. More...
|
|
class | SurfaceMeshCurvature |
| Compute per-vertex curvatures, i.e., principle (min, max), mean, Gaussian. More...
|
|
class | SurfaceMeshEnumerator |
| Enumerates connected components for a surface mesh. More...
|
|
class | SurfaceMeshFactory |
| Factory class to generate different types of basic shapes. More...
|
|
class | SurfaceMeshFairing |
| A class for implicitly fairing a surface mesh. More...
|
|
class | SurfaceMeshFeatures |
| Detect and mark feature edges based on boundary or dihedral angle. More...
|
|
class | SurfaceMeshGeodesic |
| This class computes geodesic distance from a set of seed vertices. More...
|
|
class | SurfaceMeshHoleFilling |
| This class closes simple holes in a surface mesh. More...
|
|
class | SurfaceMeshIO |
| Implementation of file input/output operations for SurfaceMesh. More...
|
|
class | SurfaceMeshParameterization |
| A class for surface parameterization. More...
|
|
class | SurfaceMeshPicker |
| Implementation of picking elements (i.e, vertices, faces, edges) from a surface mesh. More...
|
|
class | SurfaceMeshPolygonization |
| Merge connected coplanar faces into a general polygon face. More...
|
|
class | SurfaceMeshRemeshing |
| A class for uniform and adaptive surface remeshing. More...
|
|
class | SurfaceMeshSampler |
| Sample a surface mesh (near uniformly) into a point cloud. More...
|
|
class | SurfaceMeshSimplification |
| Surface mesh simplification based on approximation error and fairness criteria. More...
|
|
class | SurfaceMeshSmoothing |
| A class for Laplacian smoothing. More...
|
|
class | SurfaceMeshStitching |
| Stitch coincident border edges of a surface mesh. More...
|
|
class | SurfaceMeshSubdivision |
| SurfaceMeshSubdivision implement several well-known subdivision algorithms. More...
|
|
class | SurfaceMeshTetrehedralization |
| Generate quality tetrahedralization from closed shells. More...
|
|
class | SurfaceMeshTopology |
| Compute various topological characteristics of a surface mesh component. More...
|
|
class | SurfaceMeshTriangulation |
| Triangulate a polygonal mesh into a pure triangle mesh. More...
|
|
class | Surfacer |
| A collection of mesh (and polygon soup) processing functions. More...
|
|
class | Tessellator |
| Tessellator subdivides concave planar polygons, polygons with holes, or polygons with intersecting edges into triangles or simple contours. More...
|
|
class | TextMesher |
| Generate a 3D surface mesh from a text string. More...
|
|
class | TextRenderer |
| TextRenderer enables quick and easy string rendering in OpenGL applications. More...
|
|
class | Texture |
| OpenGL texture. More...
|
|
class | TextureManager |
| Management of OpenGL textures. More...
|
|
class | Timer |
| A light-weight implementation of the timer mechanism. More...
|
|
class | Tokenizer |
| A utility class for splitting strings into tokens based on delimiters. More...
|
|
class | Translator |
| Manages the translation of all the models during the file IO. More...
|
|
class | Transparency |
| Base class for rendering with transparency. More...
|
|
class | TriangleMeshKdTree |
| A k-d tree for triangular surface meshes. More...
|
|
class | TrianglesDrawable |
| The drawable for rendering a set of triangles, e.g., the surface of a triangular mesh. More...
|
|
class | Vec |
| Base class for vector types. It provides generic functionality for N dimensional vectors. More...
|
|
class | Vec< 2, T > |
| Specialization of Vec for 2D vectors (used for representing 2D points or vectors).
|
|
class | Vec< 3, T > |
| Specialization of Vec for 3D vectors (used for representing 3D points or vectors, or RGB colors).
|
|
class | Vec< 4, T > |
| Specialization of Vec for 4D vectors (used for representing 4D points or vectors in homogeneous coordinates, or RGBA colors).
|
|
class | VertexArrayObject |
| A thin wrapper around an OpenGL Vertex Array Object (VAO). More...
|
|
class | VideoEncoder |
| A class that encodes video frames (e.g., images) into a video file. More...
|
|
class | Viewer |
| The built-in Easy3D viewer. More...
|
|
class | VoronoiCell3d |
| A data structure for 3D Voronoi cells. More...
|
|
class | WorldConstraint |
| An AxisPlaneConstraint defined in the world coordinate system. More...
|
|
|
bool | extrude (SurfaceMesh *mesh, const std::vector< Polygon2 > &contours, float height) |
| Extrudes a 3D surface mesh from a set of simple contours.
|
|
SurfaceMesh * | extrude (const std::vector< Polygon2 > &contours, float height) |
| Extrudes a 3D surface mesh from a set of simple contours.
|
|
template<int DIM, typename FT> |
bool | has_nan (const GenericBox< DIM, FT > &box) |
| Check if the representation of a box has NaN.
|
|
template<typename FT> |
FT | min () |
| Function returning minimum representable value for a given type.
|
|
template<typename FT> |
FT | max () |
| Function returning maximum representable value for a given type.
|
|
template<> |
int | min< int > () |
| Function returning min for int type numbers.
|
|
template<> |
int | max< int > () |
| Function returning max for int type numbers.
|
|
template<> |
float | min< float > () |
| Function returning min for float type numbers.
|
|
template<> |
float | max< float > () |
| Function returning max for float type numbers.
|
|
template<> |
double | min< double > () |
| Function returning min for double type numbers.
|
|
template<> |
double | max< double > () |
| Function returning max for double type numbers.
|
|
template<typename FT> |
FT | epsilon () |
| Function returning the epsilon value for a given type.
|
|
template<typename FT> |
FT | epsilon_sqr () |
| Function returning the squared epsilon value for a given type.
|
|
template<> |
float | epsilon< float > () |
| Function returning epsilon for float type numbers.
|
|
template<> |
float | epsilon_sqr< float > () |
| Function returning squared epsilon for float type numbers.
|
|
template<> |
double | epsilon< double > () |
| Function returning epsilon for double type numbers.
|
|
template<> |
double | epsilon_sqr< double > () |
| Function returning squared epsilon for double type numbers.
|
|
template<typename FT> |
bool | epsilon_equal (FT const &x, FT const &y, FT const &eps) |
| Tests if two values are Epsilon equal.
|
|
template<typename FT> |
bool | epsilon_not_equal (FT const &x, FT const &y, FT const &eps) |
| Tests if two values are not Epsilon equal.
|
|
std::ostream & | operator<< (std::ostream &os, Graph::Vertex v) |
| Output stream support for Graph::Vertex.
|
|
std::ostream & | operator<< (std::ostream &os, Graph::Edge e) |
| Output stream support for Graph::Edge.
|
|
template<typename T> |
void | hash_combine (uint64_t &seed, T const &value) |
| Combines a hash value with a seed value.
|
|
template<typename FT> |
uint64_t | hash (const Vec< 2, FT > &value) |
| Computes the hash value of a 2D vector.
|
|
template<typename FT> |
uint64_t | hash (const Vec< 3, FT > &value) |
| Computes the hash value of a 3D vector.
|
|
template<int DIM, typename FT> |
uint64_t | hash (const Vec< DIM, FT > &value) |
| Computes the hash value of a vector with a given dimension.
|
|
template<typename Iterator> |
uint64_t | hash (Iterator first, Iterator last) |
| Computes the hash value of a 1D array.
|
|
template<typename Iterator> |
void | hash (uint64_t &seed, Iterator first, Iterator last) |
| Computes the hash value of a 1D array with a given seed value.
|
|
template<int DIM, typename FT> |
std::ostream & | operator<< (std::ostream &os, const GenericLine< DIM, FT > &line) |
| Output stream support for GenericLine.
|
|
template<int DIM, typename FT> |
std::istream & | operator>> (std::istream &is, GenericLine< DIM, FT > &line) |
| Input stream support for GenericLine.
|
|
template<size_t N, size_t M, typename T> |
Mat< N, M, T > | operator* (T lhs, const Mat< N, M, T > &rhs) |
| Multiplies a scalar by a matrix.
|
|
template<typename T> |
Mat2< T > | operator* (const Mat2< T > &lhs, const Mat2< T > &rhs) |
| Specialized matrix-matrix multiplication for 2x2 matrices.
|
|
template<typename T> |
Mat3< T > | operator* (const Mat3< T > &lhs, const Mat3< T > &rhs) |
| Specialized matrix-matrix multiplication for 3x3 matrices.
|
|
template<typename T> |
Mat4< T > | operator* (const Mat4< T > &lhs, const Mat4< T > &rhs) |
| Specialized matrix-matrix multiplication for 4x4 matrices.
|
|
template<typename T> |
Vec< 3, T > | operator* (const Mat4< T > &lhs, const Vec< 3, T > &rhs) |
| Specialized matrix-vector multiplication for 4x4 matrices and 3D vectors.
|
|
template<typename T> |
Vec< 2, T > | operator* (const Mat3< T > &lhs, const Vec< 2, T > &rhs) |
| Specialized matrix-vector multiplication for 3x3 matrices and 2D vectors.
|
|
template<typename T> |
Vec< 2, T > | operator* (const Mat2< T > &lhs, const Vec< 2, T > &rhs) |
| Non-homogeneous, specialized matrix-vector multiplication for 2x2 matrices and 2D vectors.
|
|
template<typename T> |
Vec< 3, T > | operator* (const Mat3< T > &lhs, const Vec< 3, T > &rhs) |
| Non-homogeneous, specialized matrix-vector multiplication for 3x3 matrices and 3D vectors.
|
|
template<typename T> |
Vec< 4, T > | operator* (const Mat4< T > &lhs, const Vec< 4, T > &rhs) |
| Non-homogeneous, specialized matrix-vector multiplication for 4x4 matrices and 4D vectors.
|
|
template<size_t N, typename T> |
T | trace (const Mat< N, N, T > &m) |
| Returns the trace (sum of elements on the main diagonal) of an N x N (square) matrix.
|
|
template<size_t N, typename T> |
T | determinant (const Mat< N, N, T > &m) |
| Computes the determinant of a square matrix.
|
|
template<size_t N, size_t M, typename T> |
Mat< M, N, T > | transpose (const Mat< N, M, T > &m) |
| Transposes a matrix.
|
|
template<size_t N, typename T> |
Mat< N, N, T > | inverse (const Mat< N, N, T > &m) |
| Returns the inverse of an N x N (square) matrix.
|
|
template<size_t M, size_t N, typename T> |
Mat< N, M, T > | tensor (const Vec< M, T > &u, const Vec< N, T > &v) |
| Returns the tensor product (outer product) of vectors u and v , where u is treated as a column vector and v is treated as a row vector.
|
|
template<size_t N, size_t M, typename T> |
bool | gauss_jordan_elimination (const Mat< N, N, T > &a, const Mat< N, M, T > &b, Mat< N, N, T > *ainv, Mat< N, M, T > *x) |
| Perform Gauss-Jordan elimination to solve a set of linear equations and additionally compute the inverse of the input coefficient matrix.
|
|
template<size_t N, typename T> |
bool | lu_decomposition (const Mat< N, N, T > &a, Mat< N, N, T > *alu, Vec< N, T > *rowp, T *d) |
| Perform LU decomposition of a square matrix.
|
|
template<size_t N, typename T> |
void | lu_back_substitution (const Mat< N, N, T > &alu, const Vec< N, T > &rowp, const Vec< N, T > &b, Vec< N, T > *x) |
| Solve a set of linear equations using outputs from lu_decomposition() as inputs.
|
|
template<size_t N, typename FT> |
bool | cholesky_decompose (const Mat< N, N, FT > &A, Mat< N, N, FT > &L) |
| Perform Cholesky decomposition of a symmetric, positive-definite matrix.
|
|
template<size_t N, typename FT> |
void | cholesky_solve (const Mat< N, N, FT > &L, const Vec< N, FT > &b, Vec< N, FT > &x) |
| Solve a set of linear equations using outputs from cholesky_decompose() as inputs.
|
|
template<size_t N, size_t M, typename T> |
void | cholesky_solve (const Mat< N, N, T > &L, const Mat< N, M, T > &B, Mat< N, M, T > &X) |
| Solve a set of linear equations using outputs from cholesky_decompose() as inputs.
|
|
template<size_t N, size_t M, typename T> |
std::ostream & | operator<< (std::ostream &output, const Mat< N, M, T > &m) |
| Output stream support for Mat.
|
|
template<size_t N, size_t M, typename T> |
std::istream & | operator>> (std::istream &input, Mat< N, M, T > &m) |
| Input stream support for Mat.
|
|
template<size_t D, typename T> |
T | trace (const Mat< D, D, T > &m) |
|
template<typename T> |
T | determinant (const Mat2< T > &m) |
|
template<typename T> |
T | determinant (const Mat3< T > &m) |
|
template<typename T> |
T | determinant (const Mat4< T > &m) |
|
template<typename T> |
Mat2< T > | inverse (const Mat2< T > &m) |
|
template<typename T> |
Mat3< T > | inverse (const Mat3< T > &m) |
|
template<typename T> |
Mat4< T > | inverse (const Mat4< T > &m) |
|
template<size_t N, typename FT> |
Mat< N, 1, FT > | to_matrix (const Vec< N, FT > &v) |
| Convert a N-dimensional vector into a N by 1 matrix.
|
|
template<size_t N, typename FT> |
Mat< 1, N, FT > | transpose (const Vec< N, FT > &v) |
| Construct a 1 by N matrix from a N-dimensional vector.
|
|
template<size_t N, size_t M, typename T> |
bool | has_nan (const Mat< N, M, T > &m) |
| Test if a matrix has NaN entry.
|
|
template<typename FT> |
std::ostream & | operator<< (std::ostream &, const Matrix< FT > &) |
| input and output
|
|
template<typename FT> |
std::istream & | operator>> (std::istream &, Matrix< FT > &) |
|
template<typename FT> |
Matrix< FT > | operator- (const Matrix< FT > &) |
| arithmetic operators
|
|
template<typename FT> |
Matrix< FT > | operator+ (const Matrix< FT > &, const FT &) |
|
template<typename FT> |
Matrix< FT > | operator+ (const FT &, const Matrix< FT > &) |
|
template<typename FT> |
Matrix< FT > | operator+ (const Matrix< FT > &, const Matrix< FT > &) |
|
template<typename FT> |
Matrix< FT > | operator- (const Matrix< FT > &, const FT &) |
|
template<typename FT> |
Matrix< FT > | operator- (const FT &, const Matrix< FT > &) |
|
template<typename FT> |
Matrix< FT > | operator- (const Matrix< FT > &, const Matrix< FT > &) |
|
template<typename FT> |
Matrix< FT > | operator* (const Matrix< FT > &, const Matrix< FT > &) |
|
template<typename FT> |
std::vector< FT > | operator* (const Matrix< FT > &, const std::vector< FT > &) |
|
template<typename FT1, typename FT2> |
Matrix< FT1 > | operator* (const Matrix< FT1 > &A, const FT2 &s) |
| matrix-scalar multiplication
|
|
template<typename FT1, typename FT2> |
Matrix< FT1 > | operator* (const FT2 &s, const Matrix< FT1 > &A) |
| scalar-matrix multiplication
|
|
template<typename FT1, typename FT2> |
Matrix< FT1 > | operator/ (const Matrix< FT1 > &A, const FT2 &s) |
| matrix-scalar division
|
|
template<typename FT1, typename FT2> |
Matrix< FT1 > | operator/ (const FT2 &s, const Matrix< FT1 > &A) |
| scalar-matrix division
|
|
template<typename FT> |
void | mult (const Matrix< FT > &, const Matrix< FT > &, Matrix< FT > &) |
| multiplication
|
|
template<typename FT> |
void | mult (const Matrix< FT > &, const std::vector< FT > &, std::vector< FT > &) |
|
template<typename FT> |
Matrix< FT > | mult (const Matrix< FT > &, const Matrix< FT > &) |
|
template<typename FT> |
std::vector< FT > | mult (const Matrix< FT > &, const std::vector< FT > &) |
|
template<typename FT> |
Matrix< FT > | elem_mult (const Matrix< FT > &, const Matrix< FT > &) |
| element-wise multiplication / division
|
|
template<typename FT> |
Matrix< FT > | elem_divd (const Matrix< FT > &, const Matrix< FT > &) |
|
template<typename FT> |
Matrix< FT > & | elem_mult_eq (Matrix< FT > &, const Matrix< FT > &) |
|
template<typename FT> |
Matrix< FT > & | elem_divd_eq (Matrix< FT > &, const Matrix< FT > &) |
|
template<typename FT> |
Matrix< FT > | transpose (const Matrix< FT > &) |
| transpose and conjugate transpose
|
|
template<typename FT> |
Matrix< FT > | conjugate_transpose (const Matrix< FT > &) |
|
template<typename FT> |
Matrix< FT > | transpose_mult (const Matrix< FT > &, const Matrix< FT > &) |
| transpose multiplication
|
|
template<typename FT> |
std::vector< FT > | transpose_mult (const Matrix< FT > &, const std::vector< FT > &) |
|
template<typename FT> |
Matrix< FT > | mult_transpose (const Matrix< FT > &, const Matrix< FT > &) |
|
template<typename FT> |
Matrix< FT > | mult_transpose (const std::vector< FT > &, const std::vector< FT > &) |
|
template<typename FT> |
Matrix< FT > | random (int row, int col) |
| Generate a matrix with all its elements randomly initialized in the range [0.0, 1.0].
|
|
template<typename FT> |
Matrix< FT > | identity (int N, const FT &v=FT(1)) |
|
template<typename FT> |
Matrix< FT > | diagonal (const std::vector< FT > &) |
| diagonal matrix
|
|
template<typename FT> |
std::vector< FT > | diagonal (const Matrix< FT > &) |
|
template<typename FT> |
FT | trace (const Matrix< FT > &) |
|
template<typename FT> |
FT | norm (const Matrix< FT > &) |
| utilities
|
|
template<typename FT> |
void | swap (Matrix< FT > &, Matrix< FT > &) |
|
template<typename FT> |
std::vector< FT > | sum (const Matrix< FT > &) |
|
template<typename FT> |
std::vector< FT > | min (const Matrix< FT > &) |
|
template<typename FT> |
std::vector< FT > | max (const Matrix< FT > &) |
|
template<typename FT> |
std::vector< FT > | mean (const Matrix< FT > &) |
|
template<typename FT> |
Matrix< FT > | abs (const Matrix< std::complex< FT > > &A) |
| Get magnitude of a std::complex matrix.
|
|
template<typename FT> |
Matrix< FT > | arg (const Matrix< std::complex< FT > > &A) |
| Get angle of a std::complex matrix.
|
|
template<typename FT> |
Matrix< FT > | real (const Matrix< std::complex< FT > > &A) |
| Get real part of a std::complex matrix.
|
|
template<typename FT> |
Matrix< FT > | imag (const Matrix< std::complex< FT > > &A) |
| Get imaginary part of a std::complex matrix.
|
|
template<typename FT> |
Matrix< std::complex< FT > > | complex_matrix (const Matrix< FT > &) |
| Convert real matrix to complex matrix.
|
|
template<typename FT> |
Matrix< std::complex< FT > > | complex_matrix (const Matrix< FT > &mR, const Matrix< FT > &mI) |
| Convert real matrix to std::complex matrix (A for real, B for imaginary)
|
|
template<typename FT> |
std::ostream & | operator<< (std::ostream &, const std::vector< FT > &) |
| input and output
|
|
template<typename FT> |
std::istream & | operator>> (std::istream &in, std::vector< FT > &A) |
| Input stream support for std::vector<FT>.
|
|
template<typename FT> |
std::vector< FT > | operator- (const std::vector< FT > &) |
| arithmetic operators
|
|
template<typename FT> |
std::vector< FT > | operator+ (const std::vector< FT > &A, const std::vector< FT > &B) |
| vector-vector addition
|
|
template<typename FT> |
std::vector< FT > | operator+ (const std::vector< FT > &A, const FT &s) |
| vector-scalar addition.
|
|
template<typename FT> |
std::vector< FT > | operator+ (const FT &s, const std::vector< FT > &A) |
| scalar-vector addition.
|
|
template<typename FT> |
std::vector< FT > | operator- (const std::vector< FT > &A, const std::vector< FT > &B) |
| vector-vector subtraction
|
|
template<typename FT> |
std::vector< FT > | operator- (const std::vector< FT > &A, const FT &s) |
| vector-scalar subtraction.
|
|
template<typename FT> |
std::vector< FT > | operator- (const FT &s, const std::vector< FT > &A) |
| scalar-vector subtraction.
|
|
template<typename FT1, typename FT2> |
std::vector< FT1 > | operator* (const std::vector< FT1 > &A, const FT2 &s) |
| vector-scalar multiplication
|
|
template<typename FT1, typename FT2> |
std::vector< FT1 > | operator* (const FT2 &s, const std::vector< FT1 > &A) |
| vector-scalar multiplication
|
|
template<typename FT1, typename FT2> |
std::vector< FT1 > | operator/ (const std::vector< FT1 > &A, const FT2 &s) |
| vector-scalar division
|
|
template<typename FT1, typename FT2> |
std::vector< FT1 > | operator/ (const FT2 &s, const std::vector< FT1 > &A) |
| vector-scalar division
|
|
template<typename FT> |
std::vector< FT > | elem_mult (const std::vector< FT > &, const std::vector< FT > &) |
| element-wise multiplication / division
|
|
template<typename FT> |
std::vector< FT > | elem_divd (const std::vector< FT > &v1, const std::vector< FT > &v2) |
| vector-vector element-wise division
|
|
template<typename FT> |
std::vector< FT > & | elem_mult_eq (std::vector< FT > &v1, const std::vector< FT > &v2) |
| vector-vector element-wise multiplication: v1 *= v2.
|
|
template<typename FT> |
std::vector< FT > & | elem_divd_eq (std::vector< FT > &v1, const std::vector< FT > &v2) |
| vector-vector element-wise division: v1 /= v2.
|
|
template<typename FT> |
FT | operator* (const std::vector< FT > &, const std::vector< FT > &) |
| dot product
|
|
template<typename FT> |
FT | dot (const std::vector< FT > &v1, const std::vector< FT > &v2) |
| Inner product for vectors.
|
|
template<typename FT> |
std::vector< FT > | random (int size) |
| Generate a vector with all its elements randomly initialized in the range [0.0, 1.0].
|
|
template<typename FT> |
FT | norm (const std::vector< FT > &) |
| utilities
|
|
template<typename FT> |
FT | norm (const std::vector< std::complex< FT > > &) |
| Euclidean norm.
|
|
template<typename FT> |
void | swap (std::vector< FT > &, std::vector< FT > &) |
| Euclidean norm.
|
|
template<typename FT> |
std::vector< FT > | linspace (FT, FT, int) |
| Swap two vectors.
|
|
template<typename FT> |
FT | sum (const std::vector< FT > &) |
| Generates a vector of n points linearly spaced between and including a and b.
|
|
template<typename FT> |
FT | min (const std::vector< FT > &) |
| vector sum.
|
|
template<typename FT> |
FT | max (const std::vector< FT > &) |
| Minimum value of vector.
|
|
template<typename FT> |
FT | mean (const std::vector< FT > &) |
| Maximum value of vector.
|
|
template<typename FT> |
std::vector< FT > | abs (const std::vector< std::complex< FT > > &) |
| Mean value of vector.
|
|
template<typename FT> |
std::vector< FT > | arg (const std::vector< std::complex< FT > > &) |
| Get magnitude of a complex vector.
|
|
template<typename FT> |
std::vector< FT > | real (const std::vector< std::complex< FT > > &) |
| Get angle of a complex vector.
|
|
template<typename FT> |
std::vector< FT > | imag (const std::vector< std::complex< FT > > &) |
| Get real part of a complex vector.
|
|
template<typename FT> |
std::vector< std::complex< FT > > | complex_vector (const std::vector< FT > &) |
| Get imaginary part of a complex vector.
|
|
template<typename FT> |
std::vector< std::complex< FT > > | complex_vector (const std::vector< FT > &vR, const std::vector< FT > &vI) |
| Convert real vector to complex vector (A for real, B for imaginary)
|
|
double | determinant (const MATRIX &A) |
|
bool | inverse (const MATRIX &A, MATRIX &invA) |
|
MATRIX | inverse (const MATRIX &A) |
|
void | svd_decompose (const MATRIX &A, MATRIX &U, MATRIX &S, MATRIX &V) |
|
bool | solve_least_squares (const MATRIX &A, const std::vector< double > &b, std::vector< double > &x) |
|
template<class T> |
Sign | sign (T x) |
| returns the sign of a value.
|
|
template<typename FT> |
std::ostream & | operator<< (std::ostream &os, const GenericPlane< FT > &plane) |
| Output stream support for GenericPlane.
|
|
template<typename FT> |
std::istream & | operator>> (std::istream &is, GenericPlane< FT > &plane) |
| Input stream support for GenericPlane.
|
|
std::ostream & | operator<< (std::ostream &os, PointCloud::Vertex v) |
| Output stream support for PointCloud::Vertex.
|
|
std::ostream & | operator<< (std::ostream &os, PolyMesh::Vertex v) |
| Output stream support for PolyMesh::Vertex.
|
|
std::ostream & | operator<< (std::ostream &os, PolyMesh::Edge e) |
| Output stream support for PolyMesh::Edge.
|
|
std::ostream & | operator<< (std::ostream &os, PolyMesh::HalfFace h) |
| Output stream support for PolyMesh::HalfFace.
|
|
std::ostream & | operator<< (std::ostream &os, PolyMesh::Face f) |
| Output stream support for PolyMesh::Face.
|
|
std::ostream & | operator<< (std::ostream &os, PolyMesh::Cell c) |
| Output stream support for PolyMesh::Cell.
|
|
template<typename FT> |
std::ostream & | operator<< (std::ostream &os, const Quat< FT > &Q) |
| Output stream support for Quat.
|
|
template<typename FT> |
std::istream & | operator>> (std::istream &is, Quat< FT > &Q) |
| Input stream support for Quat.
|
|
template<class FT> |
bool | has_nan (const Quat< FT > &Q) |
| Do the coordinates of the quaternion have NaN?
|
|
float | random_float () |
| Random real in [0, 1].
|
|
float | random_float (float min, float max) |
| Random real number in the range [min, max].
|
|
vec3 | random_color (bool allow_dark=false) |
| Generates a random color. The parameter allow_dark controls if too dark colors are allowed.
|
|
std::ostream & | operator<< (std::ostream &os, SurfaceMesh::Vertex v) |
| Output stream support for SurfaceMesh::Vertex.
|
|
std::ostream & | operator<< (std::ostream &os, SurfaceMesh::Halfedge h) |
| Output stream support for SurfaceMesh::Halfedge.
|
|
std::ostream & | operator<< (std::ostream &os, SurfaceMesh::Edge e) |
| Output stream support for SurfaceMesh::Edge.
|
|
std::ostream & | operator<< (std::ostream &os, SurfaceMesh::Face f) |
| Output stream support for SurfaceMesh::Face.
|
|
template<typename FT> |
bool | is_nan (FT v) |
| Is this NaN?
|
|
template<class T> |
T | clamp (T x, T lower, T upper) |
| Clamps a num to be within a given range.
|
|
int | next_pow2 (int a) |
| Calculates the next larger power of 2. If the input is already a power of 2, it will return itself.
|
|
template<class FT> |
FT | truncate_digits (const FT &v, int num) |
| Rounds the given floating point number v to have num digits.
|
|
template<size_t N, class T> |
T | dot (const Vec< N, T > &v1, const Vec< N, T > &v2) |
| Computes the dot product of two vectors.
|
|
template<size_t N, class T> |
Vec< N, T > | operator- (const Vec< N, T > &v1) |
| Computes the 'negative' vector.
|
|
template<class T2, size_t N, class T> |
Vec< N, T > | operator* (T2 s, const Vec< N, T > &v) |
| Computes the scalar-vector product.
|
|
template<size_t N, class T> |
Vec< N, T > | operator+ (const Vec< N, T > &v1, const Vec< N, T > &v2) |
| Computes the addition of two vectors.
|
|
template<size_t N, class T> |
Vec< N, T > | operator- (const Vec< N, T > &v1, const Vec< N, T > &v2) |
| Computes the subtraction of two vectors.
|
|
template<size_t N, class T> |
T | length (const Vec< N, T > &v) |
| Computes the length/magnitude of a vector.
|
|
template<size_t N, class T> |
T | norm (const Vec< N, T > &v) |
| Computes the length/magnitude of a vector.
|
|
template<size_t N, class T> |
T | length2 (const Vec< N, T > &v) |
| Computes the squared length/magnitude of a vector.
|
|
template<size_t N, class T> |
T | distance (const Vec< N, T > &v1, const Vec< N, T > &v2) |
| Computes the distance between two vectors/points.
|
|
template<size_t N, class T> |
T | distance2 (const Vec< N, T > &v1, const Vec< N, T > &v2) |
| Computes the squared distance between two vectors/points.
|
|
template<size_t N, class T> |
Vec< N, T > | normalize (const Vec< N, T > &v) |
| Computes and returns the normalized vector (Note: the input vector is not modified).
|
|
template<size_t N, class T> |
Vec< N, T > | mix (const Vec< N, T > &v1, const Vec< N, T > &v2, T w) |
|
template<class T> |
T | dot (const Vec< 2, T > &v1, const Vec< 2, T > &v2) |
| Compute the dot product of two 2D vectors.
|
|
template<class T> |
T | det (const Vec< 2, T > &v1, const Vec< 2, T > &v2) |
| Compute the determinant of the 2x2 matrix formed by the two 2D vectors as the two rows.
|
|
template<class T> |
Vec< 2, T > | operator- (const Vec< 2, T > &v1) |
| The negative vector.
|
|
template<class T2, class T> |
Vec< 2, T > | operator* (T2 s, const Vec< 2, T > &v) |
| Scalar-vector multiplication.
|
|
template<class T> |
Vec< 2, T > | operator+ (const Vec< 2, T > &v1, const Vec< 2, T > &v2) |
| Vector-vector addition.
|
|
template<class T> |
Vec< 2, T > | operator- (const Vec< 2, T > &v1, const Vec< 2, T > &v2) |
| Vector-vector subtraction.
|
|
template<class T> |
T | dot (const Vec< 3, T > &v1, const Vec< 3, T > &v2) |
| Compute the dot product of two 3D vectors.
|
|
template<class T> |
Vec< 3, T > | cross (const Vec< 3, T > &v1, const Vec< 3, T > &v2) |
| Compute the cross product of two 3D vectors.
|
|
template<class T> |
Vec< 3, T > | operator- (const Vec< 3, T > &v1) |
| The negative vector.
|
|
template<class T2, class T> |
Vec< 3, T > | operator* (T2 s, const Vec< 3, T > &v) |
| Scalar-vector multiplication.
|
|
template<class T> |
Vec< 3, T > | operator+ (const Vec< 3, T > &v1, const Vec< 3, T > &v2) |
| Vector-vector addition.
|
|
template<class T> |
Vec< 3, T > | operator- (const Vec< 3, T > &v1, const Vec< 3, T > &v2) |
| Vector-vector subtraction.
|
|
template<class T> |
Vec< 3, T > | orthogonal (const Vec< 3, T > &v) |
| Compute a vector that is orthogonal to the given vector.
|
|
template<class T> |
T | dot (const Vec< 4, T > &v1, const Vec< 4, T > &v2) |
| Compute the dot product of two 4D vectors.
|
|
template<class T> |
Vec< 4, T > | operator- (const Vec< 4, T > &v1) |
| The negative vector.
|
|
template<class T2, class T> |
Vec< 4, T > | operator* (T2 s, const Vec< 4, T > &v) |
| Scalar-vector multiplication.
|
|
template<class T> |
Vec< 4, T > | operator+ (const Vec< 4, T > &v1, const Vec< 4, T > &v2) |
| Vector-vector addition.
|
|
template<class T> |
Vec< 4, T > | operator- (const Vec< 4, T > &v1, const Vec< 4, T > &v2) |
| Vector-vector subtraction.
|
|
template<size_t N, class T> |
std::ostream & | operator<< (std::ostream &out, const Vec< N, T > &v) |
| Output stream support for Vec.
|
|
template<size_t N, class T> |
std::istream & | operator>> (std::istream &in, Vec< N, T > &v) |
| Input stream support for Vec.
|
|
template<class T> |
std::ostream & | operator<< (std::ostream &out, const Vec< 2, T > &v) |
| Output stream support specialized for 2D vectors.
|
|
template<class T> |
std::istream & | operator>> (std::istream &in, Vec< 2, T > &v) |
| Input stream support specialized for 2D vectors.
|
|
template<class T> |
std::ostream & | operator<< (std::ostream &out, const Vec< 3, T > &v) |
| Output stream support specialized for 3D vectors.
|
|
template<class T> |
std::istream & | operator>> (std::istream &in, Vec< 3, T > &v) |
| Input stream support specialized for 3D vectors.
|
|
template<class T> |
std::ostream & | operator<< (std::ostream &out, const Vec< 4, T > &v) |
| Output stream support specialized for 4D vectors.
|
|
template<class T> |
std::istream & | operator>> (std::istream &in, Vec< 4, T > &v) |
| Input stream support specialized for 4D vectors.
|
|
template<size_t N, class T> |
bool | has_nan (const Vec< N, T > &v) |
| Do the coordinates of a vector have NaN?
|
|
template<size_t N, class T> |
bool | operator== (const Vec< N, T > &a, const Vec< N, T > &b) |
| Test if two vectors are strictly identical.
|
|
template<size_t N, class T> |
bool | operator!= (const Vec< N, T > &a, const Vec< N, T > &b) |
| Test if two vectors are strictly not identical.
|
|
template<size_t N, class T> |
bool | operator< (const Vec< N, T > &a, const Vec< N, T > &b) |
| Lexicographic comparison of two vectors.
|
|
template<size_t N, class T> |
Vec< N, T > | comp_product (const Vec< N, T > &v1, const Vec< N, T > &v2) |
| Component-wise product of two vectors.
|
|
template<size_t N, class T> |
Vec< N, T > | comp_min (const Vec< N, T > &v1, const Vec< N, T > &v2) |
| Component-wise minimum vector.
|
|
template<size_t N, class T> |
Vec< N, T > | comp_max (const Vec< N, T > &v1, const Vec< N, T > &v2) |
| Component-wise maximum vector.
|
|
template<size_t N, class T> |
T | min_coord (const Vec< N, T > &a) |
| The minimum coordinate of elements in a vector.
|
|
template<size_t N, class T> |
T | max_coord (const Vec< N, T > &a) |
| The maximum coordinate of elements in a vector.
|
|
template<size_t N, class T> |
Vec< N, T > | clamp (const Vec< N, T > &a, const Vec< N, T > &lower, const Vec< N, T > &upper) |
| Component-wise clamp.
|
|
void | discretize_image (std::vector< unsigned char > &data, int width, int height, int channels, int num_stripes) |
| Discretize a gradually varying-color (from left to right) image into a set of uniform colored vertical stripes.
|
|
void | initialize (bool info_to_stdout=false, bool use_log_file=true, bool use_setting_file=false, const std::string &resource_dir=Easy3D_RESOURCE_DIR) |
| Initialization of Easy3D.
|
|
void | print_progress (float percentage) |
| A simple progress indicator for console applications.
|
|
int | version_major () |
| returns the major version number of Easy3D.
|
|
int | version_minor () |
| returns the major version number of Easy3D.
|
|
int | version_patch () |
| returns the minor version number of Easy3D.
|
|
std::string | version_string () |
| returns the version string of Easy3D, in the format [MAJOR].[MINOR].[PATCH], e.g., “2.5.3”.
|
|
std::size_t | version_number () |
| returns the version number of Easy3D, in the format 10[MAJOR]0[MINOR]0[PATCH], e.g., 1020503.
|
|
std::size_t | release_date () |
| returns the release date of Easy3D, in the format YYYYMMDD, e.g., 20240305.
|
|
|
template<typename SIGNAL, typename FUNCTION> |
int | connect (SIGNAL *signal, FUNCTION const &slot) |
| Connects a function to the signal.
|
|
template<typename SIGNAL, typename CLASS, typename FUNCTION> |
int | connect (SIGNAL *signal, CLASS *inst, FUNCTION const &slot) |
| Connects a member function of an object to this Signal.
|
|
template<typename... Args> |
int | connect (Signal< Args... > *sender, Signal< Args... > *receiver) |
| Connects this signal to another signal.
|
|
template<typename SIGNAL> |
void | disconnect (SIGNAL *signal, int id) |
| Disconnects a previously connected function.
|
|
template<typename SIGNAL> |
void | disconnect_all (SIGNAL *signal) |
| Disconnects all previously connected functions.
|
|
|
template<typename... Args> |
constexpr auto | overload (void(*func)(Args...)) -> void(*)(Args...) |
| Helper function for resolving overloaded non-member functions.
|
|
template<typename C, typename... Args> |
constexpr auto | overload (void(C::*func)(Args...)) -> void(C::*)(Args...) |
| Helper function for resolving overloaded member functions.
|
|