Tidied up documentation (especially the mainpage) to improve usability. Added a new tutorial on building projects using OpenMesh.
git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@275 fdac6126-5c0c-442c-9429-916003d36597
This commit is contained in:
@@ -638,7 +638,8 @@ EXAMPLE_PATH = Examples \
|
||||
# blank all files are included.
|
||||
|
||||
EXAMPLE_PATTERNS = *.cc \
|
||||
*.hh
|
||||
*.hh \
|
||||
*.txt
|
||||
|
||||
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
|
||||
# searched for input files to be used with the \include or \dontinclude
|
||||
|
||||
20
Doc/Tutorial/CMakeLists.txt
Normal file
20
Doc/Tutorial/CMakeLists.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
include (ACGCommon)
|
||||
|
||||
include_directories (
|
||||
../../..
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
)
|
||||
|
||||
set (targetName MyOwnProject)
|
||||
|
||||
# collect all header and source files
|
||||
acg_append_files (headers "*.hh" .)
|
||||
acg_append_files (sources "*.cc" .)
|
||||
|
||||
acg_add_executable (${targetName} ${headers} ${sources})
|
||||
|
||||
target_link_libraries (${targetName}
|
||||
OpenMeshCore
|
||||
OpenMeshTools
|
||||
)
|
||||
|
||||
@@ -2,46 +2,83 @@
|
||||
|
||||
Welcome to the %OpenMesh documentation. %OpenMesh is a generic and efficient library
|
||||
that offers data structures for representing and manipulating polygonal meshes.
|
||||
It is a powerful tool for handling polygonal
|
||||
meshes. Due to its inherent generative structure it allows the user to
|
||||
create mesh types which are custom tailored to the specific needs of
|
||||
the application. The user can either supply his own data structures
|
||||
for representing vertices, edges and faces or he can conveniently use
|
||||
the predefined structures of %OpenMesh.
|
||||
Additionally %OpenMesh offers dynamic properties allowing the user to attach
|
||||
and detach data to the mesh during runtime.
|
||||
|
||||
Here you can find information on how to build projects using the %OpenMesh library
|
||||
as well as further information on mesh handling in %OpenMesh.
|
||||
The tutorials explain how to use %OpenMesh by demonstrating real code examples.
|
||||
|
||||
\section iov Introduction
|
||||
\section iov Building OpenMesh
|
||||
In this section all necessary information on how to build projects using %OpenMesh
|
||||
is given. Additionally you can read about the internal naming conventions
|
||||
to facilitate understanding the %OpenMesh source code. Changes to %OpenMesh are
|
||||
logged in the Version history.
|
||||
is given.
|
||||
|
||||
\li \ref compiling
|
||||
\li \ref naming_conventions
|
||||
\li \ref history
|
||||
|
||||
\section tutorial Tutorials (code examples)
|
||||
|
||||
This section is supposed to introduce the basic concepts of
|
||||
%OpenMesh. <!--For detailed information, consult the online documentation
|
||||
(\ref mesh_docu).-->
|
||||
|
||||
<!--In this tutorial we will introduce the %OpenMesh library by means of
|
||||
simple examples. The first one just builds a polygonal mesh
|
||||
representing a cube and writes the result to standard output. The
|
||||
following examples develop a simple mesh smoother: Recall that the
|
||||
immediate neighbors of a vertex are called the 1-ring of this
|
||||
vertex. It is well known that a polygonal mesh can be smoothed by
|
||||
repeatedly replacing each vertex' position by the center of gravity
|
||||
(cog) of its 1-ring. The basic smoother will
|
||||
|
||||
\li read a polygonal mesh from standard input,
|
||||
\li compute the cog of the 1-ring of each vertex,
|
||||
\li replace each vertex' position by its cog and finally,
|
||||
\li write the mesh to standard output.-->
|
||||
|
||||
\li \ref mesh_type
|
||||
\li \ref tutorial_01
|
||||
\li \ref tutorial_build
|
||||
\li \ref tutorial_02
|
||||
\li \ref tutorial_03
|
||||
\li \ref tutorial_04
|
||||
\li \ref tutorial_05
|
||||
\li \ref tutorial_06
|
||||
\li \ref tutorial_07
|
||||
\li \ref tutorial_07b
|
||||
\li \ref tutorial_08
|
||||
\li \ref tutorial_09
|
||||
|
||||
\section mesh_docu Using and understanding OpenMesh
|
||||
|
||||
We provide a short overview over the functionality of the %OpenMesh
|
||||
library and some additional concepts in \ref tutorial. Additionally we explain the
|
||||
library and some additional concepts in \ref tutorial. Additionally, we explain the
|
||||
most important topics of %OpenMesh in the following sections:
|
||||
|
||||
\li \ref mesh_first_to_read
|
||||
\li \ref mesh_features
|
||||
\li \ref mesh_cpp
|
||||
\li \ref mesh_hierarchy
|
||||
\li \ref mesh_hds
|
||||
\li \ref mesh_iterators
|
||||
\li \ref mesh_navigation
|
||||
\li \ref mesh_io
|
||||
\li \ref mesh_type
|
||||
\li \ref mesh_operations
|
||||
\li \ref mesh_hierarchy
|
||||
\li \ref mesh_members
|
||||
|
||||
The %OpenMeshTools library that contains some useful tools
|
||||
for i.e. mesh processing:
|
||||
|
||||
\li \ref tools_docu
|
||||
|
||||
\section tov Tutorials
|
||||
This section offers some useful code examples in order to show
|
||||
how to use the provided mesh structures.
|
||||
\section background Additional information on OpenMesh
|
||||
|
||||
\li \ref tutorial
|
||||
\li \ref mesh_members
|
||||
\li \ref naming_conventions
|
||||
\li \ref history
|
||||
|
||||
**/
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
/** \page mesh_first_to_read Start here (Notes on template programming)!
|
||||
/** \page mesh_first_to_read Notes on template programming
|
||||
|
||||
Please note, that %OpenMesh makes heavily use of C++ templates,
|
||||
generic programming and all that stuff (see \ref mesh_cpp). Therefore
|
||||
@@ -47,7 +47,7 @@ OpenMesh::PolyMeshT can use any kernel.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
/** \page mesh_features Features and Goals
|
||||
/** \page mesh_features Features and Goals of OpenMesh
|
||||
|
||||
The main features of the underlying data structure are:
|
||||
|
||||
@@ -602,7 +602,7 @@ provides the pubic member functions of
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
/** \page mesh_io Mesh Input and Output
|
||||
/** \page mesh_io Mesh Read and write files
|
||||
|
||||
This section explains the methods used to read a mesh from a file or
|
||||
write it to a file. The corresponding functions are defined in the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/** \page mesh_operations Some basic operations on a mesh
|
||||
/** \page mesh_operations Some basic operations: Flipping and collapsing edges
|
||||
|
||||
In this section you will learn about some basic operations on a mes that %OpenMesh
|
||||
already provides. Comprising the flipping of edges in a triangle mesh as well as
|
||||
|
||||
29
Doc/tutorial_build.docu
Normal file
29
Doc/tutorial_build.docu
Normal file
@@ -0,0 +1,29 @@
|
||||
/** \page tutorial_build How to create your own project using OpenMesh
|
||||
|
||||
In this tutorial we will explain, how to create a new project using
|
||||
%OpenMesh and build it with the CMake build system. We assume, that you have already
|
||||
downloaded the %OpenMesh source files as well as installed the CMake build tools.
|
||||
|
||||
There are quite few steps to follow to successfully add your own application to the build tree:
|
||||
|
||||
\li Go to OpenMeshRoot/src/OpenMesh/Apps and create a new directory, say "MyOwnProject"
|
||||
\li Now create a new file called "CMakeLists.txt" containing the following lines:
|
||||
|
||||
\include CMakeLists.txt
|
||||
|
||||
(Remember to replace "MyProjectName" with whatever you have chosen as your project's name.
|
||||
Note: If you don't want to use *.hh and *.cc as your C++ source file suffices, you'll
|
||||
have to change this, too, because CMake won't build your sources otherwise.
|
||||
|
||||
\li Create your source files as for example explained in the previous tutorial (\ref tutorial_01)
|
||||
and save them in the same directory.
|
||||
|
||||
\li Add \code add_subdirectory (MyOwnProject) \endcode to OpenMeshRoot/src/OpenMesh/Apps/CMakeLists.txt (note: You can either
|
||||
add this line right after the other projects or at the end of the file).
|
||||
|
||||
\li Create a directory called "build" in OpenMesh's root directory. Change to the newly created directory and call
|
||||
\code cmake .. \endcode and \code make \endcode
|
||||
|
||||
That's all. Your project will now be built.
|
||||
|
||||
**/
|
||||
Reference in New Issue
Block a user