|
| 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.
|
| |