| CAmbientOcclusion | Traditional Screen Space Ambient Occlusion (SSAO) technique |
| ►CGraph::BaseHandle | Base class for all topology types (internally it is basically an index) |
| CGraph::Edge | This type represents an edge (internally it is basically an index) |
| CGraph::Vertex | This type represents a vertex (internally it is basically an index) |
| ►CPointCloud::BaseHandle | Base class for topology types (internally it is basically an index) |
| CPointCloud::Vertex | This type represents a vertex (internally it is basically an index) |
| ►CPolyMesh::BaseHandle | Base class for all topology types (internally it is basically an index) |
| CPolyMesh::Cell | |
| CPolyMesh::Edge | |
| CPolyMesh::Face | |
| CPolyMesh::HalfFace | |
| CPolyMesh::Vertex | |
| ►CSurfaceMesh::BaseHandle | Base class for all topology types (internally it is basically an index) |
| CSurfaceMesh::Edge | |
| CSurfaceMesh::Face | |
| CSurfaceMesh::Halfedge | This type represents a halfedge (internally it is basically an index) |
| CSurfaceMesh::Vertex | This type represents a vertex (internally it is basically an index) |
| ►CBasePropertyArray | Base class for a property array |
| Creference< T > | |
| Cconst_reference< T > | |
| CPropertyArray< easy3d::Graph::VertexConnectivity > | |
| CPropertyArray< easy3d::Graph::EdgeConnectivity > | |
| CPropertyArray< bool > | |
| CPropertyArray< easy3d::Vec< 3, float > > | |
| CPropertyArray< easy3d::PolyMesh::VertexConnectivity > | |
| CPropertyArray< easy3d::PolyMesh::EdgeConnectivity > | |
| CPropertyArray< easy3d::PolyMesh::HalfFaceConnectivity > | |
| CPropertyArray< easy3d::PolyMesh::CellConnectivity > | |
| CPropertyArray< easy3d::SurfaceMesh::VertexConnectivity > | |
| CPropertyArray< easy3d::SurfaceMesh::HalfedgeConnectivity > | |
| CPropertyArray< easy3d::SurfaceMesh::FaceConnectivity > | |
| CPropertyArray< easy3d::SurfaceMesh::Vertex > | |
| CPropertyArray< float > | |
| CPropertyArray< double > | |
| CPropertyArray< int > | |
| CPropertyArray< easy3d::SurfaceMesh::Halfedge > | |
| CPropertyArray< Quadric > | |
| CPropertyArray< NormalCone > | |
| CPropertyArray< Points > | |
| CPropertyArray< T > | Implementation of a generic property array |
| CCamera | A perspective or orthographic camera |
| CPolyMesh::CellConnectivity | |
| CPolyMesh::CellContainer | This helper class is a container for iterating through all cells using C++11 range-based for-loops |
| CPolyMesh::CellIterator | Cell iterator for PolyMesh. This class iterates linearly over all cells |
| CClippingPlane | An implementation of a manipulable clipping plane for visualization of model interiors and cross sections |
| CCollider | Efficient collision detection |
| ►CConstraint | An interface class for Frame constraints |
| ►CAxisPlaneConstraint | An abstract class for Frame Constraints defined by an axis or a plane |
| CCameraConstraint | An AxisPlaneConstraint defined in the camera coordinate system |
| CLocalConstraint | An AxisPlaneConstraint defined in the Frame local coordinate system |
| CWorldConstraint | An AxisPlaneConstraint defined in the world coordinate system |
| ►CCurve< Point, N, T > | Abstract base class for curve fitting/interpolation |
| CBSpline< Point, N, T > | Class for BSpline curve fitting |
| CBezier< Point, N, T > | Class for Bezier curve fitting |
| CCatmullRom< Point, N, T > | Class for CatmullRom curve interpolation |
| CPrimitivesRansac::CylinderPrim | Information about a cylinder primitive |
| ►CDelaunay | Base class for Delaunay triangulation |
| CDelaunay2 | 2D Delaunay triangulation, using Jonathan Richard Shewchuk's "triangle" implementation |
| CDelaunay3 | 3D Delaunay triangulation, using Hang Si's tetgen |
| CGraph::EdgeAroundVertexCirculator | This class circulates through all edges connected with a vertex. It also acts as a container-concept for C++11 range-based for loops |
| CGraph::EdgeConnectivity | This type stores the edge connectivity |
| CPolyMesh::EdgeConnectivity | |
| CGraph::EdgeContainer | This helper class is a container for iterating through all edges using C++11 range-based for-loops |
| CPolyMesh::EdgeContainer | This helper class is a container for iterating through all edges using C++11 range-based for-loops |
| CSurfaceMesh::EdgeContainer | This helper class is a container for iterating through all edges using C++11 range-based for-loops |
| CGraph::EdgeIterator | This class iterates linearly over all edges |
| CPolyMesh::EdgeIterator | Edge iterator for PolyMesh. This class iterates linearly over all edges |
| CSurfaceMesh::EdgeIterator | This class iterates linearly over all edges |
| CEigenSolver< MAT, T > | An easy-to-use eigen solver |
| CElement | Model element (e.g., faces, vertices, edges) with optional properties |
| CEyeDomeLighting | An implementation of the Eye Dome Lighting (EDL) technique |
| CSurfaceMesh::FaceAroundVertexCirculator | |
| CSurfaceMesh::FaceConnectivity | This type stores the face connectivity |
| CPolyMesh::FaceContainer | This helper class is a container for iterating through all faces using C++11 range-based for-loops |
| CSurfaceMesh::FaceContainer | This helper class is a container for iterating through all faces using C++11 range-based for-loops |
| CPolyMesh::FaceIterator | Face iterator for PolyMesh. This class iterates linearly over all faces |
| CSurfaceMesh::FaceIterator | This class iterates linearly over all faces |
| ►CFrame | Coordinate system, defined by a position and an orientation |
| ►CManipulatedFrame | A Frame that can be rotated and translated using the mouse |
| CManipulatedCameraFrame | A manipulated frame with camera-specific mouse bindings |
| CFramebufferObject | An implementation of framebuffer object (FBO) |
| CFrustum | A Frustum description for perspective projection |
| CGaussianNoise | Add Gaussian noise to 3D models |
| CGenericBox< DIM, FT > | GenericBox represents the bounding box of shapes |
| CGenericLine< DIM, FT > | A generic line representation, which supports both 2D and 3D lines |
| CGenericOrientedLine< FT > | OrientedLine implements plucker coordinates, which enables oriented lines to be compared |
| CGenericPlane< FT > | A 3D Plane of equation a*x + b*y + c*z + d = 0 |
| CGenericRect< FT > | 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 |
| CGenericSegment< DIM, FT > | A generic segmentation representation, which supports both 2D and 3D line segments |
| CGraphIO | Implementation of file input/output operations for Graph (Currently only PLY format is supported) |
| CSurfaceMesh::HalfedgeAroundFaceCirculator | |
| CSurfaceMesh::HalfedgeAroundVertexCirculator | |
| CSurfaceMesh::HalfedgeConnectivity | This type stores the halfedge connectivity |
| CSurfaceMesh::HalfedgeContainer | This helper class is a container for iterating through all halfedges using C++11 range-based for-loops |
| CSurfaceMesh::HalfedgeIterator | This class iterates linearly over all halfedges |
| CPolyMesh::HalfFaceConnectivity | |
| CPolyMesh::HalffaceContainer | This helper class is a container for iterating through all halffaces using C++11 range-based for-loops |
| CPolyMesh::HalfFaceIterator | HalfFace iterator for PolyMesh. This class iterates linearly over all halffaces |
| CGraph::BaseHandle::Hash | Helper structure to be able to use std::unordered_map |
| CPointCloud::BaseHandle::Hash | Helper structure to be able to use std::unordered_map |
| CPolyMesh::BaseHandle::Hash | Helper structure to be able to use std::unordered_map |
| CSurfaceMesh::BaseHandle::Hash | Helper structure to be able to use std::unordered_map |
| CImageIO | Implementation of file input/output operations for images |
| ►CKdTreeSearch | Base class for nearest neighbor search using KdTree |
| CKdTreeSearch_ANN | KdTree implementation based on ANN |
| CKdTreeSearch_ETH | KdTree implementation based on Richard Keiser's KdTree code |
| CKdTreeSearch_FLANN | KdTree implementation based on FLANN |
| CKdTreeSearch_NanoFLANN | KdTree implementation based on NanoFLANN |
| CKeyFrameInterpolator | A keyframe interpolator for animation generation |
| CLineInputStream | Input stream class to operate on ASCII files |
| CLogger | |
| CManipulator | A manipulator is for manipulation of an object |
| ►CMat< N, M, T > | Base class for matrix types |
| CMat2< float > | |
| CMat2< double > | |
| CMat3< float > | |
| CMat3< double > | |
| CMat4< float > | |
| CMat4< double > | |
| ►CMat< 2, 2, T > | |
| CMat2< T > | 2 by 2 matrix. Extends Mat with 2D-specific functionality and constructors |
| ►CMat< 3, 3, T > | |
| CMat3< T > | 3 by 3 matrix. Extends Mat with 3D-specific functionality and constructors |
| ►CMat< 4, 4, T > | |
| CMat4< T > | 4 by 4 matrix. Extends Mat with 4D-specific functionality and constructors |
| CState::Material | |
| CMatrix< FT > | A matrix representation, which supports dynamic sizes |
| ►CModel | The base class of renderable 3D models |
| CGraph | A Graph data structure with easy property management |
| CPointCloud | A data structure for point clouds |
| CPolyMesh | Data structure representing a polyhedral mesh |
| CSurfaceMesh | A halfedge data structure for polygonal meshes of 2-manifold |
| CTriangleMeshKdTree::NearestNeighbor | Nearest neighbor information |
| COpenGLTimer | Accurate timing of GPU operations |
| COpenglUtil | Utilities for OpenGL initialization and states query |
| COverlappingFaces | Detects/Removes duplicate and folding faces for a triangle mesh |
| ►CPicker | Base class for picking mechanism |
| CModelPicker | Implementation of picking mechanism for set of models |
| CPointCloudPicker | Implementation of picking points from a point cloud |
| CSurfaceMeshPicker | Implementation of picking elements (i.e, vertices, faces, edges) from a surface mesh |
| CPrimitivesRansac::PlanePrim | Information about a plane primitive |
| CPlyReader | A general purpose PLY file reader |
| CPlyWriter | A general purpose PLY file writer |
| CPointCloudIO | Implementation of file input/output operations for PointCloud |
| CPointCloudIO_ptx | Implementation of file input/output operations for ASCII Cyclone point cloud export format (PTX) |
| CPointCloudIO_vg | Implementation of file input/output operations for vertex group (VG) format PointCloud |
| CPointCloudNormals | Estimates and reorients point cloud normals |
| CPointCloudSimplification | PointCloudSimplification provides various point cloud simplification algorithms |
| CPoissonReconstruction | Poisson surface reconstruction |
| CPolygonPartition | Convex partition of polygons |
| CPolyMeshIO | Implementation of file input/output operations for PolyMesh |
| CPrimitivesRansac | Extract primitives from point clouds using RANSAC.Usage example: |
| CPrincipalAxes< DIM, FT > | Computes the principal axes for a set of 2D or 3D points |
| CProgressClient | The base class of GUI element reporting the progress |
| CProgressLogger | An implementation of progress logging mechanism |
| ►CProperty< T > | Implementation of a generic property |
| CGraph::EdgeProperty< T > | Edge property of type T |
| CGraph::ModelProperty< T > | Graph property of type T |
| CGraph::VertexProperty< T > | Vertex property of type T |
| CPointCloud::ModelProperty< T > | Cloud property of type T |
| CPointCloud::VertexProperty< T > | Vertex property of type T |
| CPolyMesh::CellProperty< T > | Cell property of type T |
| CPolyMesh::EdgeProperty< T > | Edge property of type T |
| CPolyMesh::FaceProperty< T > | Face property of type T |
| CPolyMesh::HalfFaceProperty< T > | HalfFace property of type T |
| CPolyMesh::ModelProperty< T > | Model property of type T |
| CPolyMesh::VertexProperty< T > | Vertex property of type T |
| CSurfaceMesh::EdgeProperty< T > | Edge property of type T |
| CSurfaceMesh::FaceProperty< T > | Face property of type T |
| CSurfaceMesh::HalfedgeProperty< T > | Halfedge property of type T |
| CSurfaceMesh::ModelProperty< T > | Mesh property of type T |
| CSurfaceMesh::VertexProperty< T > | Vertex property of type T |
| ►CProperty< bool > | |
| CGraph::EdgeProperty< bool > | |
| CGraph::VertexProperty< bool > | |
| CPointCloud::VertexProperty< bool > | |
| CSurfaceMesh::EdgeProperty< bool > | |
| CSurfaceMesh::FaceProperty< bool > | |
| CSurfaceMesh::VertexProperty< bool > | |
| ►CProperty< double > | |
| CSurfaceMesh::EdgeProperty< double > | |
| CSurfaceMesh::VertexProperty< double > | |
| ►CProperty< easy3d::Graph::EdgeConnectivity > | |
| CGraph::EdgeProperty< easy3d::Graph::EdgeConnectivity > | |
| ►CProperty< easy3d::Graph::VertexConnectivity > | |
| CGraph::VertexProperty< easy3d::Graph::VertexConnectivity > | |
| ►CProperty< easy3d::PolyMesh::CellConnectivity > | |
| CPolyMesh::CellProperty< easy3d::PolyMesh::CellConnectivity > | |
| ►CProperty< easy3d::PolyMesh::EdgeConnectivity > | |
| CPolyMesh::EdgeProperty< easy3d::PolyMesh::EdgeConnectivity > | |
| ►CProperty< easy3d::PolyMesh::HalfFaceConnectivity > | |
| CPolyMesh::HalfFaceProperty< easy3d::PolyMesh::HalfFaceConnectivity > | |
| ►CProperty< easy3d::PolyMesh::VertexConnectivity > | |
| CPolyMesh::VertexProperty< easy3d::PolyMesh::VertexConnectivity > | |
| ►CProperty< easy3d::SurfaceMesh::FaceConnectivity > | |
| CSurfaceMesh::FaceProperty< easy3d::SurfaceMesh::FaceConnectivity > | |
| ►CProperty< easy3d::SurfaceMesh::Halfedge > | |
| CSurfaceMesh::VertexProperty< easy3d::SurfaceMesh::Halfedge > | |
| ►CProperty< easy3d::SurfaceMesh::HalfedgeConnectivity > | |
| CSurfaceMesh::HalfedgeProperty< easy3d::SurfaceMesh::HalfedgeConnectivity > | |
| ►CProperty< easy3d::SurfaceMesh::Vertex > | |
| CSurfaceMesh::VertexProperty< easy3d::SurfaceMesh::Vertex > | |
| ►CProperty< easy3d::SurfaceMesh::VertexConnectivity > | |
| CSurfaceMesh::VertexProperty< easy3d::SurfaceMesh::VertexConnectivity > | |
| ►CProperty< easy3d::Vec< 3, float > > | |
| CGraph::VertexProperty< easy3d::Vec< 3, float > > | |
| CPointCloud::VertexProperty< easy3d::Vec< 3, float > > | |
| CPolyMesh::VertexProperty< easy3d::Vec< 3, float > > | |
| CSurfaceMesh::FaceProperty< easy3d::Vec< 3, float > > | |
| CSurfaceMesh::VertexProperty< easy3d::Vec< 3, float > > | |
| ►CProperty< float > | |
| CSurfaceMesh::VertexProperty< float > | |
| ►CProperty< int > | |
| CSurfaceMesh::FaceProperty< int > | |
| CSurfaceMesh::VertexProperty< int > | |
| ►CProperty< NormalCone > | |
| CSurfaceMesh::FaceProperty< NormalCone > | |
| ►CProperty< Points > | |
| CSurfaceMesh::FaceProperty< Points > | |
| ►CProperty< Quadric > | |
| CSurfaceMesh::VertexProperty< Quadric > | |
| CPropertyContainer | Implementation of a generic property container |
| CQuat< FT > | The Quaternion class represents 3D rotations and orientations |
| CRenderer | A Renderer manages the drawables (and thus the rendering) of a model |
| CSelfIntersection | Detects and resolves self-intersection for surface mesh |
| CShaderManager | Management of shader programs |
| CShaderProgram | OpenGL Shader Compilation |
| ►CShadow | Shadow implements the standard shadow map (hard shadow) algorithm |
| CSoftShadow | An implementation of the Percentage-Closer Soft Shadows |
| CSignal< Args > | A light-weight implementation of the simple signal-slot mechanism |
| CSplineCurveFitting< Point, N, T > | Spline curve fitting for arbitrary dimensions |
| CSplineCurveInterpolation< Point, N, T > | Cubic spline curve interpolation for arbitrary dimensions |
| CSplineInterpolation< FT > | Cubic spline interpolation |
| ►CState | Class representing the rendering state of a drawable |
| ►CDrawable | The base class for drawable objects. A drawable represent a set of points, line segments, or triangles |
| CLinesDrawable | The drawable for rendering a set of line segments, e.g., edges of a mesh, vector fields |
| CLinesDrawable2D | The drawable for rendering a set of line segments in the screen space |
| CPointsDrawable | The drawable for rendering a set of points, e.g., point clouds, vertices of a mesh |
| CTrianglesDrawable | The drawable for rendering a set of triangles, e.g., the surface of a triangular mesh |
| CStopWatch | A high resolution stop watch/timer |
| CSurfaceMeshBuilder | A helper class for constructing manifold surface mesh models |
| CSurfaceMeshComponent | A connected component of a SurfaceMesh |
| CSurfaceMeshCurvature | Compute per-vertex curvatures, i.e., principle (min, max), mean, Gaussian |
| CSurfaceMeshEnumerator | Enumerates connected components for a surface mesh |
| CSurfaceMeshFactory | Factory class to generate different types of basic shapes |
| CSurfaceMeshFairing | A class for implicitly fairing a surface mesh |
| CSurfaceMeshFeatures | Detect and mark feature edges based on boundary or dihedral angle |
| CSurfaceMeshGeodesic | This class computes geodesic distance from a set of seed vertices |
| CSurfaceMeshHoleFilling | This class closes simple holes in a surface mesh |
| CSurfaceMeshIO | Implementation of file input/output operations for SurfaceMesh |
| CSurfaceMeshParameterization | A class for surface parameterization |
| CSurfaceMeshPolygonization | Merge connected coplanar faces into a general polygon face |
| CSurfaceMeshRemeshing | A class for uniform and adaptive surface remeshing |
| CSurfaceMeshSampler | Sample a surface mesh (near uniformly) into a point cloud |
| CSurfaceMeshSimplification | Surface mesh simplification based on approximation error and fairness criteria |
| CSurfaceMeshSmoothing | A class for Laplacian smoothing |
| CSurfaceMeshStitching | Stitch coincident border edges of a surface mesh |
| CSurfaceMeshSubdivision | SurfaceMeshSubdivision implement several well-known subdivision algorithms |
| CSurfaceMeshTetrehedralization | Generate quality tetrahedralization from closed shells |
| CSurfaceMeshTopology | Compute various topological characteristics of a surface mesh component |
| CSurfaceMeshTriangulation | Triangulate a polygonal mesh into a pure triangle mesh |
| CSurfacer | A collection of mesh (and polygon soup) processing functions |
| CTessellator | Tessellator subdivides concave planar polygons, polygons with holes, or polygons with intersecting edges into triangles or simple contours |
| CTextMesher | Generate a 3D surface mesh from a text string |
| CTextRenderer | TextRenderer enables quick and easy string rendering in OpenGL applications |
| CTexture | OpenGL texture |
| CTextureManager | Management of OpenGL textures |
| CTimer< Args > | A light-weight implementation of the timer mechanism |
| CTokenizer | A utility class for splitting strings into tokens based on delimiters |
| CTranslator | Manages the translation of all the models during the file IO |
| ►CTransparency | Base class for rendering with transparency |
| CAverageColorBlending | Transparency effect using average color blending |
| CDualDepthPeeling | Transparency effect using dual depth peeling |
| CTriangleMeshKdTree | A k-d tree for triangular surface meshes |
| CVec< N, T > | Base class for vector types. It provides generic functionality for N dimensional vectors |
| ►Cvector | |
| CGenericPolygon< float > | |
| CHeap< SurfaceMesh::Vertex, HeapInterface > | |
| CGenericProperty< vec3 > | |
| CGenericProperty< vec2 > | |
| CGenericProperty< float > | |
| CGenericProperty< int > | |
| CGenericProperty< std::vector< float > > | |
| CGenericProperty< std::vector< int > > | |
| CGenericProperty< std::vector< double > > | |
| CGenericProperty< double > | |
| CGenericPolygon< FT > | A 2D polygon representation |
| CHeap< HeapEntry, HeapInterface > | A class implementing a heap |
| CTessellator::Vertex | A vertex carries both xyz coordinates and its attributes (e.g., color, texcoord) |
| CGenericProperty< VT > | Generic property |
| CSurfaceMesh::VertexAroundFaceCirculator | |
| CGraph::VertexAroundVertexCirculator | This class circulates through all one-ring neighbors of a vertex. It also acts as a container-concept for C++11 range-based for loops |
| CSurfaceMesh::VertexAroundVertexCirculator | |
| CVertexArrayObject | A thin wrapper around an OpenGL Vertex Array Object (VAO) |
| CGraph::VertexConnectivity | This type stores the vertex connectivity |
| CPolyMesh::VertexConnectivity | |
| CSurfaceMesh::VertexConnectivity | This type stores the vertex connectivity |
| CGraph::VertexContainer | This helper class is a container for iterating through all vertices using C++11 range-based for-loops |
| CPointCloud::VertexContainer | This helper class is a container for iterating through all vertices using C++11 range-based for-loops |
| CPolyMesh::VertexContainer | This helper class is a container for iterating through all vertices using C++11 range-based for-loops |
| CSurfaceMesh::VertexContainer | This helper class is a container for iterating through all vertices using C++11 range-based for-loops |
| CVertexCurvature | Discrete curvature information for a vertex |
| CGraph::VertexIterator | This class iterates linearly over all vertices |
| CPointCloud::VertexIterator | This class iterates linearly over all vertices |
| CPolyMesh::VertexIterator | Vertex iterator for PolyMesh. This class iterates linearly over all vertices |
| CSurfaceMesh::VertexIterator | This class iterates linearly over all vertices |
| CVideoEncoder | A class that encodes video frames (e.g., images) into a video file |
| ►CViewer | The built-in Easy3D viewer |
| CMultiViewer | A viewer that supports multiple views (arranged in a grid layout) |
| COffScreen | Offscreen rendering |
| CVoronoiCell3d | A data structure for 3D Voronoi cells |