|
Graphite Version 3
An experimental 3D geometry processing program
|
| ▼ geogram | |
| ► api | |
| defs.h | Basic definitions for the Geogram C API |
| ► basic | |
| algorithm.h | Wrappers around parallel implementation of STL |
| android_utils.h | Functions for Android |
| android_wrapper.h | This file should be included first in Android applications |
| argused.h | A function to suppress unused parameters compilation warnings |
| assert.h | Assertion checking mechanism |
| attributes.h | Generic mechanism for attributes |
| b_stream.h | Provides classes for reading and writing binary data |
| boolean_expression.h | Class for parsing and evaluating boolean expressions |
| command_line.h | Functions to parse and store command line arguments |
| command_line_args.h | Definitions of standard command line arguments |
| common.h | Common include file, providing basic definitions. Should be included before anything else by all header files in Vorpaline |
| counted.h | Base class of reference-counted objects, to be used with smart pointers |
| debug_stream.h | |
| determinant.h | Determinants for small sizes |
| environment.h | Provides a mechanism to store global variables, retrieve them by their names and attach observers to them |
| factory.h | Generic factory mechanism |
| file_system.h | Functions and times for filesystem manipulation |
| geofile.h | Functions to read and write structured files |
| geometry.h | Geometric functions in 2d and 3d |
| geometry_nd.h | Geometric functions in arbitrary dimension |
| line_stream.h | Utility class to read a file line per line and parsing fields from each line |
| logger.h | |
| matrix.h | Generic matrix type |
| memory.h | Types and functions for memory manipulation |
| numeric.h | Types and functions for numbers manipulation |
| packed_arrays.h | Efficient storage for array of arrays |
| permutation.h | Functions to manipulate permutations |
| process.h | Function and classes for process manipulation |
| process_private.h | Internal functions for process manipulation |
| progress.h | Functions and classes for displaying progress bars |
| psm.h | Some replacement functions for Geogram classes exposed in Pluggable Software Modules |
| quaternion.h | Class that represents quaternions (eases manipulation of 3D rotations) |
| range.h | C++-20 like helpers for manipulating ranges of integers |
| rationalg.h | Generic implementation of rational type |
| smart_pointer.h | Pointers with automatic reference counting |
| stopwatch.h | Classes for measuring time |
| string.h | Functions for string manipulation |
| thread_sync.h | Functions and classes for process manipulation |
| vecg.h | Generic implementation of geometric vectors |
| vechg.h | Generic implementation of geometric vectors in homogeneous coordinates |
| ► bibliography | |
| bibliography.h | |
| ► delaunay | |
| cavity.h | |
| CDT_2d.h | Constained Delaunay triangulation in 2D |
| delaunay.h | Abstract interface for Delaunay |
| delaunay_2d.h | Implementation of Delaunay in 2d |
| delaunay_3d.h | Implementation of Delaunay in 3d |
| delaunay_nn.h | Implementation of Delaunay using nearest neighbors |
| delaunay_sync.h | Synchronization primitives for parallel Delaunay |
| delaunay_tetgen.h | Implementation of Delaunay in 3D using the tetgen library by Hang Si |
| delaunay_triangle.h | Implementation of Delaunay in 2D using the triangle library by Jonathan Shewchuk |
| LFS.h | A class for computing local feature size |
| parallel_delaunay_3d.h | |
| periodic.h | Manipulation of indices for 3D periodic space |
| periodic_delaunay_3d.h | |
| ► image | |
| color.h | Color types |
| colormap.h | Colormap type |
| image.h | |
| image_library.h | Management of image serializers and named images |
| image_rasterizer.h | |
| image_serializer.h | Class to draw triangles in an image |
| image_serializer_pgm.h | |
| image_serializer_stb.h | Implementation of image serializer using stb_image.h and stb_image_write.h |
| image_serializer_xpm.h | |
| morpho_math.h | Classes for morphological operations on images |
| ► lua | |
| lua_io.h | LUA bindings for geogram IO and filesystem functions |
| lua_wrap.h | Utilities to write lua bindings |
| ► mesh | |
| index.h | Classes for managing tuples of indices |
| mesh.h | The class that represents a mesh |
| mesh_AABB.h | Axis Aligned Bounding Box trees for accelerating geometric queries that operate on a Mesh |
| mesh_baking.h | Functions to bake attributes from meshes to images |
| mesh_compare.h | Functions for comparing two meshes for exact equality |
| mesh_CSG.h | Functions and classes for Constructive Solid Geometry with meshes |
| mesh_decimate.h | Functions for decimating a mesh |
| mesh_degree3_vertices.h | Functions for removing degree 3 vertices in a mesh |
| mesh_distance.h | Distance computations between meshes |
| mesh_fill_holes.h | Functions for filling the holes in a mesh |
| mesh_frame_field.h | |
| mesh_geometry.h | Functions for accessing the geometry in a mesh |
| mesh_halfedges.h | Classes and function for virtually seeing a mesh as a set of halfedges |
| mesh_intersection.h | Functions for computing surfacic (and soon volumetric) mesh intersections |
| mesh_io.h | Functions to load and save meshes |
| mesh_local_operations.h | Functions to modify a mesh locally |
| mesh_manifold_harmonics.h | |
| mesh_partition.h | Functions to split a mesh into multiple parts |
| mesh_preprocessing.h | Functions to pre-process a mesh |
| mesh_remesh.h | Functions for remeshing |
| mesh_reorder.h | Reorders the elements in a mesh to improve data locality |
| mesh_repair.h | |
| mesh_sampling.h | Functions to generate random samples on surfacic and in volumetric meshes |
| mesh_smoothing.h | |
| mesh_subdivision.h | |
| mesh_surface_intersection.h | Functions for computing intersections between surfacic meshes and for boolean operations |
| mesh_surface_intersection_internal.h | Classes used by MeshSurfaceIntersection |
| mesh_tetrahedralize.h | Functions for filling a surface mesh with tetrahedra |
| mesh_topology.h | Functions to query and compare mesh topology |
| triangle_intersection.h | Symbolic computation of triangle-triangle intersection |
| ► NL | |
| nl.h | The public API of the OpenNL linear solver library. Click the "More..." link below for simple example programs |
| nl_64.h | |
| nl_amgcl.h | |
| nl_arpack.h | Internal OpenNL functions that interfaces ARPACK |
| nl_blas.h | Abstract interface to the basic linear algebra routines used by OpenNL internally |
| nl_cholmod.h | Internal OpenNL functions that interface Cholmod |
| nl_context.h | Internal OpenNL functions to manipulate contexts |
| nl_cuda.h | Internal OpenNL functions that interface with CUDA |
| nl_ext.h | Some optional extensions of the OpenNL linear solver library |
| nl_iterative_solvers.h | Internal OpenNL functions that implement iterative solvers |
| nl_linkage.h | Specify linkage for OpenNL integrated into Geogram |
| nl_matrix.h | Internal OpenNL functions to manipulate sparse matrices |
| nl_mkl.h | Internal OpenNL functions that interface MKL |
| nl_preconditioners.h | Internal OpenNL functions that implement preconditioners |
| nl_private.h | Some macros and functions used internally by OpenNL |
| nl_superlu.h | Internal OpenNL functions that interfaces SuperLU |
| ► numerics | |
| ► predicates | |
| aligned3d.h | |
| det3d.h | |
| det4d.h | |
| det_compare_4d.h | |
| dot3d.h | |
| dot_compare_3d.h | |
| orient2d.h | |
| orient3d.h | |
| orient4d.h | |
| side1.h | |
| side2.h | |
| side3.h | |
| side3_2dlifted.h | |
| side3h.h | |
| side4.h | |
| side4h.h | |
| exact_geometry.h | Exact predicates and constructs |
| expansion_nt.h | High-level interface to multi-precision arithmetics |
| interval_nt.h | |
| lbfgs_optimizers.h | |
| matrix_util.h | Some utilities for matrix manipulation |
| multi_precision.h | Implementation of multi-precision arithmetics |
| optimizer.h | Abstract base class for numerical optimizers, used to minimize a multivariate function |
| PCK.h | Utilities to write geometric predicates (Predicate Construction Kit) |
| predicates.h | Filtered exact predicates for restricted Voronoi diagrams |
| ► parameterization | |
| mesh_ABF.h | |
| mesh_atlas_maker.h | |
| mesh_global_param.h | Basic functions used by global surface parameterization algorithms (PGP, QuadCover) |
| mesh_LSCM.h | |
| mesh_param_packer.h | |
| mesh_param_validator.h | |
| mesh_PGP_2d.h | |
| mesh_segmentation.h | |
| ► points | |
| co3ne.h | Implementation of the Simple and Scalable Surface Reconstruction algorithm (Concurrent Co-Cones) |
| colocate.h | Functions to merge points with identical or similar locations |
| kd_tree.h | An implementation of NearestNeighborSearch with a kd-tree |
| nn_search.h | Abstract interface for nearest neighbor searching |
| principal_axes.h | A class to compute the principal axes of a point cloud |
| ► voronoi | |
| convex_cell.h | Class to compute the intersection of a set of half-spaces in 3D |
| CVT.h | Main class for computing centroidal Voronoi tesselations |
| generic_RVD.h | Generic implementation of restricted Voronoi diagrams |
| generic_RVD_cell.h | Internal representation of polyhedra for GEO::GenericVoronoiDiagram |
| generic_RVD_polygon.h | Internal representation of polygons for GenericVoronoiDiagram |
| generic_RVD_utils.h | Some utilities for implementing surfacic and volumetric restricted Voronoi diagrams |
| generic_RVD_vertex.h | Types and utilities for manipulating vertices in geometric and symbolic forms in restricted Voronoi diagrams |
| integration_simplex.h | Base classes for computing integrals over the cells of a restricted Voronoi diagram |
| RVD.h | Class and functions to compute restricted Voronoi diagrams and extract information from them |
| RVD_callback.h | Declaration of base types for implementing user-defined code that queries the cells of a restricted Voronoi diagram |
| RVD_mesh_builder.h | Utilities to build meshes derived from restricted Voronoi diagrams |
| ▼ geogram_gfx | |
| ► api | |
| defs.h | Basic definitions for the Geogram C API |
| ► basic | |
| common.h | Common include file, providing basic definitions. Should be included before anything else by all header files in geogram_gfx |
| frame_buffer_object.h | Helper class for manipulating OpenGL frame buffer objects |
| GL.h | Some utility functions for OpenGL graphics |
| GLSL.h | Utilities for manipulating GLSL shaders |
| ► full_screen_effects | |
| ambient_occlusion.h | Implementation of AmbientOcclusion full screen effect |
| full_screen_effect.h | Low-level base class for full screen effects |
| unsharp_masking.h | Implementation of UnsharpMasking full screen effect |
| ► GLUP | |
| ► shaders | |
| ► fullscreen | |
| ambient_occlusion_fragment_shader.h | |
| blur_fragment_shader.h | |
| depth_dependent_blur_fragment_shader.h | |
| unsharp_masking_fragment_shader.h | |
| vertex_shader.h | |
| ► GLUP | |
| constants.h | |
| defs.h | |
| fragment_ray_tracing.h | |
| fragment_shader_utils.h | |
| portable_fragment_shader.h | |
| ShaderToy.h | |
| stdglup.h | |
| ► GLUPES | |
| fragment_shader.h | |
| fragment_shader_state.h | |
| fragment_shader_utils.h | |
| lines_fragment_shader.h | |
| points_fragment_shader.h | |
| points_vertex_shader.h | |
| spheres_fragment_shader.h | |
| spheres_vertex_shader.h | |
| thick_lines_fragment_shader.h | |
| thick_lines_vertex_shader.h | |
| vertex_shader.h | |
| vertex_shader_state.h | |
| ► GLUPGLSL | |
| fragment_shader.h | |
| gather_vertex_shader.h | |
| geometry_shader_preamble.h | |
| lines_fragment_shader.h | |
| marching_cells.h | |
| points_fragment_shader.h | |
| points_vertex_shader.h | |
| spheres_fragment_shader.h | |
| spheres_vertex_shader.h | |
| state.h | |
| tess_evaluation_shader.h | |
| thick_lines_fragment_shader.h | |
| thick_lines_geometry_shader.h | |
| thick_lines_vertex_shader.h | |
| vertex_shader.h | |
| embedded_shaders.h | |
| GLUP.h | GLUP: GL Useful Primitives |
| GLUP_context.h | Internal implementation of GLUP context |
| GLUP_context_ES.h | Internal implementation of GLUP using OpenGL ES or GLSL 1.5 with no geometry shader and no uniform buffer |
| GLUP_context_GLSL.h | Internal implementation of GLUP using modern OpenGL and GLSL shaders |
| GLUP_marching_cells.h | Implementation of the marching cells algorithms |
| GLUP_private.h | Slightly faster GLUP functions, not part of the API (do not use in client code) |
| ► gui | |
| application.h | Base class for all applications |
| arc_ball.h | Controls a 3d rotation from user mouse input |
| command.h | A simple system to interface C++ functions with a ImGui interface. Used mainly by geobox |
| console.h | A console |
| events.h | |
| gui_state.h | |
| gui_state_h.h | |
| gui_state_v.h | |
| simple_application.h | |
| simple_mesh_application.h | |
| status_bar.h | Implementation of the status bar |
| text_editor.h | A simple text editor |
| user_callback_android.h | Functions to handle user input in the rendering area of a geogram application |
| ► imgui_ext | |
| icon_font.h | |
| imgui_ext.h | |
| imgui_impl_android_ext.h | |
| ► lua | |
| lua_glup.h | |
| lua_imgui.h | LUA bindings for ImGUI |
| lua_simple_application.h | LUA bindings for SimpleApplication |
| ► mesh | |
| mesh_gfx.h | A class to display a mesh using OpenGL/GLUP |
| ▼ OGF | |
| ► basic | |
| ► common | |
| common.h | Definitions common to all include files in the basic library |
| ► math | |
| geometry.h | Simple geometric objects and manipulations |
| ► modules | |
| modmgr.h | Management of dynamically loadable modules (plugins) |
| module.h | Class to represent information about a Graphite/// module (i.e. a plugin) |
| ► os | |
| file_manager.h | Management of graphite path and files |
| stdio_compat.h | Functions to facilitate porting old C code, that provide an stdio-like API acting on C++ streams |
| text_utils.h | Utilities to manipulate text files |
| ► types | |
| basic_factory.h | Base classes for factories |
| ► devel | |
| ► commands | |
| scene_graph_devel_commands.h | Graphite developpers commands |
| ► common | |
| common.h | Definitions common to all include files in the devel library |
| ► types | |
| module_maker.h | Class to generate plugins from skeleton files |
| properties.h | |
| ► gom | |
| ► codegen | |
| codegen.h | Code generator for GOM meta information |
| ► common | |
| common.h | Definitions common to all include files in the gom library |
| ► interpreter | |
| interpreter.h | The abstract base class for the GOM interpreter |
| ► lua | |
| interop.h | Functions to exchange objects between Lua and Graphite |
| lua_callable.h | Wrapper around a lua callable that can be called from GOM |
| lua_graphite_object.h | |
| lua_interpreter.h | The main class that interfaces the Python interpreter with Graphite |
| vec_mat_interop.h | Functions to exchange vec2,vec3,vec4 and mat4 objects between Lua and Graphite |
| ► reflection | |
| dynamic_object.h | Dynamic creation of classes and objects in Lua |
| meta.h | The meta-information used by the reflection API |
| meta_arg.h | Meta-information attached to arguments |
| meta_builtin.h | MetaType for builting types |
| meta_class.h | MetaType for classes |
| meta_constructor.h | Meta-information attached to constructors |
| meta_enum.h | MetaType for enums |
| meta_member.h | Meta-information attached to class members |
| meta_method.h | Meta-information attached to class methods |
| meta_property.h | Representation of properties in the Meta system |
| meta_signal.h | Meta-information attached to signals |
| meta_slot.h | Meta-information attached to slots |
| meta_type.h | Base class for meta informations |
| ► services | |
| factory.h | Classes to create objects from type name and argument list |
| life_cycle.h | |
| serializer.h | Implementation of generic object lifecycle service |
| ► types | |
| any.h | A class to hold a value of arbitrary type |
| arg_list.h | Generic arguments and argument lists |
| callable.h | |
| connection.h | Implementation of the signal-slot connection mechanism |
| gom.h | Includes the files needed to implement GOM objects |
| gom_defs.h | |
| gom_implementation.h | Functions to declare GOM meta-types |
| node.h | The base class for all composite objects in the GOM system |
| object.h | The base class for all objects in the GOM system |
| ► gom_gom | |
| ► common | |
| common.h | Definitions common to all include files in the gom_gom library |
| ► luagrob | |
| ► commands | |
| lua_grob_commands.h | Base class for Commands related with a LuaGrob object |
| ► common | |
| common.h | Definitions common to all include files in the luagrob library |
| ► grob | |
| lua_grob.h | LuaGrob class |
| ► shaders | |
| lua_grob_shader.h | |
| ► mesh | |
| ► commands | |
| filter.h | Filter class |
| mesh_grob_attributes_commands.h | Commands that manipulate mesh attributes |
| mesh_grob_commands.h | Base class for Commands related with a MeshGrob object |
| mesh_grob_filters_commands.h | |
| mesh_grob_mesh_commands.h | Commands that manipulate the mesh in a MeshGrob |
| mesh_grob_points_commands.h | Commands that manipulate point sets |
| mesh_grob_selections_commands.h | Commands that manipulate mesh selections |
| mesh_grob_shapes_commands.h | Commands that create simple shapes |
| mesh_grob_spectral_commands.h | Commands for spectral mesh processing |
| mesh_grob_surface_commands.h | Commands that manipulate surface meshes |
| mesh_grob_volume_commands.h | Commands that manipulate volume meshes |
| ► common | |
| common.h | Definitions common to all include files in the mesh library |
| ► grob | |
| mesh_grob.h | MeshGrob class |
| ► interfaces | |
| mesh_grob_editor_interface.h | |
| ► mesh_gfx | |
| ► commands | |
| mesh_grob_visibility_commands.h | Commands that compute elements visibility |
| ► common | |
| common.h | |
| ► shaders | |
| mesh_grob_shader.h | Classes for drawing and picking MeshGrob |
| param_mesh_grob_shader.h | Classes for drawing the parameter space of a MeshGrob |
| pdb_mesh_grob_shader.h | |
| ► tools | |
| mesh_grob_border_tools.h | Tools to edit surface mesh borders |
| mesh_grob_component_tools.h | Tools to edit mesh components |
| mesh_grob_edge_tools.h | Tools to edit surface mesh edges |
| mesh_grob_facet_tools.h | Tools to edit surface mesh facets |
| mesh_grob_paint_tools.h | Tools to paint attributes on meshes |
| mesh_grob_selection_tools.h | |
| mesh_grob_tool.h | Base classes for tools that operate on MeshGrob |
| ► renderer | |
| ► common | |
| common.h | Definitions common to all include files in the renderer library |
| ► context | |
| overlay.h | |
| rendering_context.h | Helper class for OpenGL context management |
| texture.h | Helper class for manipulating OpenGL textures |
| ► scene_graph | |
| ► commands | |
| commands.h | Class that gathers commands with menu and dialogs |
| scene_graph_commands.h | Classes for Commands that act on the whole SceneGraph |
| ► common | |
| common.h | Definitions common to all include files in the scene_graph library |
| ► grob | |
| composite_grob.h | A class for Grob composed of several parts |
| grob.h | The base class for all 3D objects in the system |
| ► NL | |
| blas.h | |
| library.h | |
| matrix.h | |
| vector.h | |
| ► skin | |
| application_base.h | |
| events.h | Events |
| preferences.h | Utility functions to manipulate preferences |
| ► types | |
| geofile.h | Structured binary files for saving Graphite scene graph |
| properties.h | |
| scene_graph.h | Class that represents the scene graph |
| scene_graph_library.h | Global management of grob class names, tools and shaders |
| ► scene_graph_gfx | |
| ► common | |
| common.h | |
| ► full_screen_effects | |
| ambient_occlusion.h | GOM wrapper around AmbientOcclusionImpl |
| full_screen_effect.h | Base classes for full screen effects |
| unsharp_masking.h | GOM wrapper around UnsharpMaskingImpl |
| ► shaders | |
| scene_graph_shader_manager.h | Scene graph shaders management |
| shader.h | The base class for all object shaders |
| shader_manager.h | The class that manages the shaders associated with a Grob |
| ► symbols | |
| checker_sphere.h | Class to draw a sphere with a checkerboard |
| ► tools | |
| grob_light.h | |
| grob_pan.h | Implementation of the panning tool |
| grob_select.h | Implementation of the object selection tool |
| scene_graph_tools_manager.h | Scene graph tools management |
| tool.h | Base classes for the tools |
| tools_manager.h | A class to manage the Tool objects associated with a given Grob class |
| ► transforms | |
| arc_ball.h | Controls a 3d rotation from user mouse input |
| ray_picker.h | Transformation of user input between the screen and the 3D space |
| transform3d.h | Controls a 3d transform by different means |
| translation.h | Controls a 2d translation from user mouse input |
| ► skin_imgui | |
| ► common | |
| common.h | Definitions common to all include files in the skin_imgui library |
| ► types | |
| application.h | |
| camera.h | |
| icon_repository.h | |
| rendering_context.h | |
| ► widgets | |
| console.h | |
| render_area.h | |
| text_editor.h | |
| ► voxel | |
| ► commands | |
| voxel_grob_attributes_commands.h | Commands that manipulate voxel attributes |
| voxel_grob_commands.h | Base class for Commands related with a VoxelGrob object |
| ► common | |
| common.h | Definitions common to all include files in the voxel library |
| ► grob | |
| voxel_grob.h | VoxelGrob class |
| ► interfaces | |
| voxel_grob_editor_interface.h | |
| ► voxel_gfx | |
| ► common | |
| common.h | |
| ► shaders | |
| voxel_grob_shader.h | Classes for drawing and picking VoxelGrob |