All Projects → MeshFrame → MeshFrame

MeshFrame / MeshFrame

Licence: other
A light-weighted, efficient and header-only mesh processing frame work.

Programming Languages

C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to MeshFrame

Plexus
Polygonal mesh processing.
Stars: ✭ 90 (+400%)
Mutual labels:  geometry, mesh
Hole fixer
Demo implementation of smoothly filling holes in 3D meshes using surface fairing
Stars: ✭ 165 (+816.67%)
Mutual labels:  geometry, mesh
Trimesh
Python library for loading and using triangular meshes.
Stars: ✭ 1,303 (+7138.89%)
Mutual labels:  geometry, mesh
Point Cloud Utils
A Python library for common tasks on 3D point clouds
Stars: ✭ 281 (+1461.11%)
Mutual labels:  geometry, mesh
pymadcad
Simple yet powerful CAD (Computer Aided Design) library, written with Python.
Stars: ✭ 63 (+250%)
Mutual labels:  geometry, mesh
Tinyply
🌍 C++11 ply 3d mesh format importer & exporter
Stars: ✭ 358 (+1888.89%)
Mutual labels:  geometry, mesh
Building Blocks
A voxel library for real-time applications.
Stars: ✭ 140 (+677.78%)
Mutual labels:  geometry, mesh
Three Mesh Bvh
A BVH implementation to speed up raycasting against three.js meshes.
Stars: ✭ 302 (+1577.78%)
Mutual labels:  geometry, mesh
Point2Mesh
Meshing Point Clouds with Predicted Intrinsic-Extrinsic Ratio Guidance (ECCV2020)
Stars: ✭ 61 (+238.89%)
Mutual labels:  mesh, mesh-processing
Cgal
The public CGAL repository, see the README below
Stars: ✭ 2,825 (+15594.44%)
Mutual labels:  geometry, mesh-processing
Meshlab
The open source mesh processing system
Stars: ✭ 2,619 (+14450%)
Mutual labels:  mesh, mesh-processing
TriangleMeshDistance
Header only, single file, simple and efficient C++11 library to compute the signed distance function (SDF) to a triangle mesh
Stars: ✭ 55 (+205.56%)
Mutual labels:  geometry, mesh
Polylidar
Polylidar3D - Fast polygon extraction from 3D Data
Stars: ✭ 106 (+488.89%)
Mutual labels:  geometry, mesh
Matgeom
Matlab geometry toolbox for 2D/3D geometric computing
Stars: ✭ 168 (+833.33%)
Mutual labels:  geometry, mesh
classy blocks
Python classes for easier creation of OpenFOAM's blockMesh dictionaries.
Stars: ✭ 53 (+194.44%)
Mutual labels:  geometry, mesh
intersection-wasm
Mesh-Mesh and Triangle-Triangle Intersection tests based on the algorithm by Tomas Akenine-Möller
Stars: ✭ 17 (-5.56%)
Mutual labels:  mesh, mesh-processing
birkhoff
Euclidean plane and its relatives; a minimalist introduction.
Stars: ✭ 15 (-16.67%)
Mutual labels:  geometry
meshquitto
A simple Arduino project, which aims to provide a gateway between a mesh network of ESP8266's and a remote MQTT broker.
Stars: ✭ 37 (+105.56%)
Mutual labels:  mesh
snap-to-tin
Snap vector features to the faces of a triangulated irregular network (TIN)
Stars: ✭ 18 (+0%)
Mutual labels:  mesh
osu-playground
osu!Playground
Stars: ✭ 21 (+16.67%)
Mutual labels:  geometry

MeshFrame

CGAL

A light-weighted, efficient and header-only mesh processing frame work. Its speed is superior to other state-of-the-art libraries like OpenMesh, MeshLab or CGAL. It supports dynamic mesh structure editing, supports runtime dynamic properties, supports triangle/tetrahedral mesh, with a built-in viewer, and also includes a large number of grid processing algorithms.

Usage

MeshFrame is designed to be used in header-only style, which means users are not required to pre-compile any binary library before using. Only thing user need to do is put MeshFrame in include directory. We sugguest that user set MeshFrame directory as a environment viariable "MESHFRAME_DIRECTORY", and use a CMakeLists.txt like this:

cmake_minimum_required(VERSION 2.8)

if(NOT DEFINED ENV{MESHFRAME_DIRECTORY})
    message(FATAL_ERROR "not defined environment variable:MESHFRAME_DIRECTORY")  
else()
	message("Defined environment variable:MESHFRAME_DIRECTORY:")
	message( $ENV{MESHFRAME_DIRECTORY})
endif() 

project(Demo)
include_directories($ENV{MESHFRAME_DIRECTORY})

file(GLOB SRC
    #Add your source files here
	"$ENV{MESHFRAME_DIRECTORY}/MeshLib/core/viewer/MeshViewer.cpp"
	"$ENV{MESHFRAME_DIRECTORY}/MeshLib/core/bmp/RgbImage.cpp"
)

add_executable(Demo ${SRC})

If you want to use the viewer moudule, you should link your project to freeglut library, which is provided in "MeshFrame/3rdParty/", the CMakeLists.txt is like this:

cmake_minimum_required(VERSION 2.8)

if(NOT DEFINED ENV{MESHFRAME_DIRECTORY})
    message(FATAL_ERROR "not defined environment variable:MESHFRAME_DIRECTORY")  
else()
	message("Defined environment variable:MESHFRAME_DIRECTORY:")
	message( $ENV{MESHFRAME_DIRECTORY})
endif() 

project(MeshViewer)
include_directories($ENV{MESHFRAME_DIRECTORY})
set(FreeGlutDir $ENV{MESHFRAME_DIRECTORY}/MeshLib/3rdParty/freeglut)
include_directories(${FreeGlutDir}/include)
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
	set(FreeGlutLibDir ${FreeGlutDir}/lib/x64)
else(CMAKE_SIZEOF_VOID_P EQUAL 8)
	set(FreeGlutLibDir ${FreeGlutDir}/lib)
endif(CMAKE_SIZEOF_VOID_P EQUAL 8)

include_directories($ENV{MESHFRAME_DIRECTORY})
link_directories(${FreeGlutLibDir})

file(GLOB SRC
    #Add your source files here
	"$ENV{MESHFRAME_DIRECTORY}/MeshLib/core/viewer/MeshViewer.cpp"
	"$ENV{MESHFRAME_DIRECTORY}/MeshLib/core/bmp/RgbImage.cpp"
)
add_executable(MeshViewer ${SRC})

Dependencies

MeshFrame requires no necessary dependencies, and it can work just fine alone. However, some of the modules requires optional dependences like Eigen for some computational algorithms, and FreeGlut for visualization. The FreeGlut is provided with MeshFrame in "MeshFrame/3rdParty/".

Contact

MeshFrame is a group endeavor developed by He Chen, Haoyu Chen, Yiming Zhu, sskqgfnnh.

Please contact us if you have questions or comments. For troubleshooting, please post an issue on github.

This is MeshFrame official mailbox:

[email protected]

Or you can contact He Chen at:

[email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].