summaryrefslogtreecommitdiff
path: root/Conventions.txt
blob: f7d6831eb5b3da618cb2cd110b166b2579eac818 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Please read this convention before adding your package(s) into Gudhi library.


Compilation:
*********************
CMake is used for compilation purpose.



Naming conventions:
*********************

All headers are named *.h and all sources are named *.cpp.
Concepts are named with camel case starting with uppercase that is "PersistentHomology.h"
for instance for the concept of Persitence homology.
Classes and methods are named with underscore separator that is :
- "Skeleton_blocker_contractor.h" for the class Skeleton_blocker_contractor
- "int num_vertices() const" for a method


Package organization:
*********************
The Gudhi directories are organised by 2 manners (Internal for svn developpers and User for external User/Developper).

Internal:
--------

src/common/concept/common_concept.h
           doc/MainPage.h
           include/gudhi/io.h
                         ....h
    package1/concept/package1_concept1.h
                     ....h
             doc/Intro_package.h
             include/gudhi/*.h
             source/*.cpp
             test/*.cpp
                  CMakeLists.txt
             example/*.cpp
                     CMakeLists.txt
    package2/...
    ...
    cmake/modules/*.cmake

data/points/kl.txt
            sphere_3D.txt
            ....txt
     meshes/sphere.off
            Paris.off
scripts/generate_version.sh
        ....sh
        ....py
Doxyfile
CMakeLists.txt
Version.txt
Conventions.txt
README
COPYING

User:
--------

include/gudhi/*.h
source/*.cpp
example/package1/*.cpp
                 CMakeLists.txt
        package2/*.cpp
                 CMakeLists.txt
        ...
cmake/modules/*.cmake
CMakeLists.txt
Version.txt
Conventions.txt
README
COPYING