summaryrefslogtreecommitdiff
path: root/src/Bitmap_cubical_complex
diff options
context:
space:
mode:
authorvrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-04-08 15:47:40 +0000
committervrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2016-04-08 15:47:40 +0000
commitbaf1b5b39be90694b512fff9c79438bf362916f3 (patch)
tree0bc2806d6769e981e2610696517667b3fcbc5fbb /src/Bitmap_cubical_complex
parent607fc8aa10122089aa2b3debf36e48250e2dfb5b (diff)
parent03b700251ba8aee55e1cca1038d397135f1c9408 (diff)
Merge from Doxygen_for_GUDHI_1.3.0.
Doxygen fixes for Gudhi version 1.3.0 git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/trunk@1111 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 3f5c37263f802621ba818fdb4ab73eba1fec29c8
Diffstat (limited to 'src/Bitmap_cubical_complex')
-rw-r--r--src/Bitmap_cubical_complex/doc/Cubical_complex_representation.ipe732
-rw-r--r--src/Bitmap_cubical_complex/doc/Cubical_complex_representation.pngbin0 -> 19167 bytes
-rw-r--r--src/Bitmap_cubical_complex/doc/Gudhi_Cubical_Complex_doc.h5
-rw-r--r--src/Bitmap_cubical_complex/example/CMakeLists.txt15
-rw-r--r--src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex.h17
-rw-r--r--src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex/counter.h5
-rw-r--r--src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_base.h14
-rw-r--r--src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h5
-rw-r--r--src/Bitmap_cubical_complex/test/CMakeLists.txt3
9 files changed, 765 insertions, 31 deletions
diff --git a/src/Bitmap_cubical_complex/doc/Cubical_complex_representation.ipe b/src/Bitmap_cubical_complex/doc/Cubical_complex_representation.ipe
new file mode 100644
index 00000000..bec245e7
--- /dev/null
+++ b/src/Bitmap_cubical_complex/doc/Cubical_complex_representation.ipe
@@ -0,0 +1,732 @@
+<?xml version="1.0"?>
+<!DOCTYPE ipe SYSTEM "ipe.dtd">
+<ipe version="70107" creator="Ipe 7.1.10">
+<info created="D:20160330102945" modified="D:20160330104654"/>
+<ipestyle name="basic">
+<symbol name="arrow/arc(spx)">
+<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/farc(spx)">
+<path stroke="sym-stroke" fill="white" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/ptarc(spx)">
+<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/fptarc(spx)">
+<path stroke="sym-stroke" fill="white" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="mark/circle(sx)" transformations="translations">
+<path fill="sym-stroke">
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+</path>
+</symbol>
+<symbol name="mark/disk(sx)" transformations="translations">
+<path fill="sym-stroke">
+0.6 0 0 0.6 0 0 e
+</path>
+</symbol>
+<symbol name="mark/fdisk(sfx)" transformations="translations">
+<group>
+<path fill="sym-fill">
+0.5 0 0 0.5 0 0 e
+</path>
+<path fill="sym-stroke" fillrule="eofill">
+0.6 0 0 0.6 0 0 e
+0.4 0 0 0.4 0 0 e
+</path>
+</group>
+</symbol>
+<symbol name="mark/box(sx)" transformations="translations">
+<path fill="sym-stroke" fillrule="eofill">
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+</path>
+</symbol>
+<symbol name="mark/square(sx)" transformations="translations">
+<path fill="sym-stroke">
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+</path>
+</symbol>
+<symbol name="mark/fsquare(sfx)" transformations="translations">
+<group>
+<path fill="sym-fill">
+-0.5 -0.5 m
+0.5 -0.5 l
+0.5 0.5 l
+-0.5 0.5 l
+h
+</path>
+<path fill="sym-stroke" fillrule="eofill">
+-0.6 -0.6 m
+0.6 -0.6 l
+0.6 0.6 l
+-0.6 0.6 l
+h
+-0.4 -0.4 m
+0.4 -0.4 l
+0.4 0.4 l
+-0.4 0.4 l
+h
+</path>
+</group>
+</symbol>
+<symbol name="mark/cross(sx)" transformations="translations">
+<group>
+<path fill="sym-stroke">
+-0.43 -0.57 m
+0.57 0.43 l
+0.43 0.57 l
+-0.57 -0.43 l
+h
+</path>
+<path fill="sym-stroke">
+-0.43 0.57 m
+0.57 -0.43 l
+0.43 -0.57 l
+-0.57 0.43 l
+h
+</path>
+</group>
+</symbol>
+<symbol name="arrow/fnormal(spx)">
+<path stroke="sym-stroke" fill="white" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/pointed(spx)">
+<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/fpointed(spx)">
+<path stroke="sym-stroke" fill="white" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-0.8 0 l
+-1 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/linear(spx)">
+<path stroke="sym-stroke" pen="sym-pen">
+-1 0.333 m
+0 0 l
+-1 -0.333 l
+</path>
+</symbol>
+<symbol name="arrow/fdouble(spx)">
+<path stroke="sym-stroke" fill="white" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+</path>
+</symbol>
+<symbol name="arrow/double(spx)">
+<path stroke="sym-stroke" fill="sym-stroke" pen="sym-pen">
+0 0 m
+-1 0.333 l
+-1 -0.333 l
+h
+-1 0 m
+-2 0.333 l
+-2 -0.333 l
+h
+</path>
+</symbol>
+<pen name="heavier" value="0.8"/>
+<pen name="fat" value="1.2"/>
+<pen name="ultrafat" value="2"/>
+<symbolsize name="large" value="5"/>
+<symbolsize name="small" value="2"/>
+<symbolsize name="tiny" value="1.1"/>
+<arrowsize name="large" value="10"/>
+<arrowsize name="small" value="5"/>
+<arrowsize name="tiny" value="3"/>
+<color name="red" value="1 0 0"/>
+<color name="green" value="0 1 0"/>
+<color name="blue" value="0 0 1"/>
+<color name="yellow" value="1 1 0"/>
+<color name="orange" value="1 0.647 0"/>
+<color name="gold" value="1 0.843 0"/>
+<color name="purple" value="0.627 0.125 0.941"/>
+<color name="gray" value="0.745"/>
+<color name="brown" value="0.647 0.165 0.165"/>
+<color name="navy" value="0 0 0.502"/>
+<color name="pink" value="1 0.753 0.796"/>
+<color name="seagreen" value="0.18 0.545 0.341"/>
+<color name="turquoise" value="0.251 0.878 0.816"/>
+<color name="violet" value="0.933 0.51 0.933"/>
+<color name="darkblue" value="0 0 0.545"/>
+<color name="darkcyan" value="0 0.545 0.545"/>
+<color name="darkgray" value="0.663"/>
+<color name="darkgreen" value="0 0.392 0"/>
+<color name="darkmagenta" value="0.545 0 0.545"/>
+<color name="darkorange" value="1 0.549 0"/>
+<color name="darkred" value="0.545 0 0"/>
+<color name="lightblue" value="0.678 0.847 0.902"/>
+<color name="lightcyan" value="0.878 1 1"/>
+<color name="lightgray" value="0.827"/>
+<color name="lightgreen" value="0.565 0.933 0.565"/>
+<color name="lightyellow" value="1 1 0.878"/>
+<dashstyle name="dashed" value="[4] 0"/>
+<dashstyle name="dotted" value="[1 3] 0"/>
+<dashstyle name="dash dotted" value="[4 2 1 2] 0"/>
+<dashstyle name="dash dot dotted" value="[4 2 1 2 1 2] 0"/>
+<textsize name="large" value="\large"/>
+<textsize name="Large" value="\Large"/>
+<textsize name="LARGE" value="\LARGE"/>
+<textsize name="huge" value="\huge"/>
+<textsize name="Huge" value="\Huge"/>
+<textsize name="small" value="\small"/>
+<textsize name="footnote" value="\footnotesize"/>
+<textsize name="tiny" value="\tiny"/>
+<textstyle name="center" begin="\begin{center}" end="\end{center}"/>
+<textstyle name="itemize" begin="\begin{itemize}" end="\end{itemize}"/>
+<textstyle name="item" begin="\begin{itemize}\item{}" end="\end{itemize}"/>
+<gridsize name="4 pts" value="4"/>
+<gridsize name="8 pts (~3 mm)" value="8"/>
+<gridsize name="16 pts (~6 mm)" value="16"/>
+<gridsize name="32 pts (~12 mm)" value="32"/>
+<gridsize name="10 pts (~3.5 mm)" value="10"/>
+<gridsize name="20 pts (~7 mm)" value="20"/>
+<gridsize name="14 pts (~5 mm)" value="14"/>
+<gridsize name="28 pts (~10 mm)" value="28"/>
+<gridsize name="56 pts (~20 mm)" value="56"/>
+<anglesize name="90 deg" value="90"/>
+<anglesize name="60 deg" value="60"/>
+<anglesize name="45 deg" value="45"/>
+<anglesize name="30 deg" value="30"/>
+<anglesize name="22.5 deg" value="22.5"/>
+<opacity name="10%" value="0.1"/>
+<opacity name="30%" value="0.3"/>
+<opacity name="50%" value="0.5"/>
+<opacity name="75%" value="0.75"/>
+<tiling name="falling" angle="-60" step="4" width="1"/>
+<tiling name="rising" angle="30" step="4" width="1"/>
+</ipestyle>
+<page>
+<layer name="alpha"/>
+<view layers="alpha" active="alpha"/>
+<path layer="alpha" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<text transformations="translations" pos="180 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">0</text>
+<path stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<text transformations="translations" pos="212 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">1</text>
+<path matrix="1 0 0 1 64 0" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<text matrix="1 0 0 1 64 0" transformations="translations" pos="180 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">2</text>
+<path matrix="1 0 0 1 64 0" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<text matrix="1 0 0 1 64 0" transformations="translations" pos="212 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">3</text>
+<path matrix="1 0 0 1 128 0" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<text matrix="1 0 0 1 128 0" transformations="translations" pos="180 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">4</text>
+<path matrix="1 0 0 1 128 0" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<text matrix="1 0 0 1 128 0" transformations="translations" pos="212 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">5</text>
+<path matrix="1 0 0 1 192 0" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<text matrix="1 0 0 1 192 0" transformations="translations" pos="180 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">6</text>
+<path matrix="1 0 0 1 192 0" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<text matrix="1 0 0 1 192 0" transformations="translations" pos="212 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">7</text>
+<path matrix="1 0 0 1 256 0" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<text matrix="1 0 0 1 256 0" transformations="translations" pos="180 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">8</text>
+<path matrix="1 0 0 1 0 -32" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<text matrix="1 0 0 1 0 -48" transformations="translations" pos="180 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">1</text>
+<path matrix="1 0 0 1 0 -32" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<path matrix="1 0 0 1 64 -32" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<text matrix="1 0 0 1 64 -48" transformations="translations" pos="180 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">2</text>
+<path matrix="1 0 0 1 64 -32" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<text matrix="1 0 0 1 96 -48" transformations="translations" pos="212 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">3</text>
+<path matrix="1 0 0 1 128 -32" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<text matrix="1 0 0 1 192 -48" transformations="translations" pos="180 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">4</text>
+<path matrix="1 0 0 1 128 -32" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<text matrix="1 0 0 1 224 -48" transformations="translations" pos="212 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">5</text>
+<path matrix="1 0 0 1 192 -32" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path matrix="1 0 0 1 192 -32" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<path matrix="1 0 0 1 256 -32" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path matrix="1 0 0 1 -32 0" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path stroke="black" fill="lightgreen">
+160 496 m
+160 544 l
+144 544 l
+144 496 l
+h
+</path>
+<path matrix="1 0 0 1 -32 64" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path matrix="1 0 0 1 0 64" stroke="black" fill="lightgreen">
+160 496 m
+160 544 l
+144 544 l
+144 496 l
+h
+</path>
+<path matrix="1 0 0 1 -32 128" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<text transformations="translations" pos="132 484" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">1</text>
+<text transformations="translations" pos="132 548" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">2</text>
+<text transformations="translations" pos="132 612" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">3</text>
+<path matrix="1 0 0 1 32 0" stroke="black" fill="lightgreen">
+160 496 m
+160 544 l
+144 544 l
+144 496 l
+h
+</path>
+<text transformations="translations" pos="180 516" stroke="black" type="label" width="4.981" height="6.42" depth="0" valign="baseline">9</text>
+<path matrix="1 0 0 1 96 0" stroke="black" fill="lightgreen">
+160 496 m
+160 544 l
+144 544 l
+144 496 l
+h
+</path>
+<text transformations="translations" pos="244 516" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">11</text>
+<path matrix="1 0 0 1 160 0" stroke="black" fill="lightgreen">
+160 496 m
+160 544 l
+144 544 l
+144 496 l
+h
+</path>
+<path matrix="1 0 0 1 224 0" stroke="black" fill="lightgreen">
+160 496 m
+160 544 l
+144 544 l
+144 496 l
+h
+</path>
+<path matrix="1 0 0 1 288 0" stroke="black" fill="lightgreen">
+160 496 m
+160 544 l
+144 544 l
+144 496 l
+h
+</path>
+<path matrix="1 0 0 1 0 64" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path matrix="1 0 0 1 0 64" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<path matrix="1 0 0 1 64 64" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path matrix="1 0 0 1 64 64" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<path matrix="1 0 0 1 128 64" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path matrix="1 0 0 1 128 64" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<path matrix="1 0 0 1 192 64" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path matrix="1 0 0 1 192 64" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<path matrix="1 0 0 1 256 64" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path matrix="1 0 0 1 0 128" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path matrix="1 0 0 1 0 128" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<path matrix="1 0 0 1 64 128" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path matrix="1 0 0 1 64 128" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<path matrix="1 0 0 1 128 128" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path matrix="1 0 0 1 128 128" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<path matrix="1 0 0 1 192 128" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path matrix="1 0 0 1 192 128" stroke="black" fill="lightgreen">
+192 496 m
+192 480 l
+240 480 l
+240 496 l
+h
+</path>
+<path matrix="1 0 0 1 256 128" stroke="black" fill="lightblue">
+176 496 m
+176 480 l
+192 480 l
+192 496 l
+h
+</path>
+<path matrix="1 0 0 1 32 64" stroke="black" fill="lightgreen">
+160 496 m
+160 544 l
+144 544 l
+144 496 l
+h
+</path>
+<path matrix="1 0 0 1 96 64" stroke="black" fill="lightgreen">
+160 496 m
+160 544 l
+144 544 l
+144 496 l
+h
+</path>
+<path matrix="1 0 0 1 160 64" stroke="black" fill="lightgreen">
+160 496 m
+160 544 l
+144 544 l
+144 496 l
+h
+</path>
+<path matrix="1 0 0 1 224 64" stroke="black" fill="lightgreen">
+160 496 m
+160 544 l
+144 544 l
+144 496 l
+h
+</path>
+<path matrix="1 0 0 1 288 64" stroke="black" fill="lightgreen">
+160 496 m
+160 544 l
+144 544 l
+144 496 l
+h
+</path>
+<path stroke="black" fill="lightgray">
+192 544 m
+192 496 l
+240 496 l
+240 544 l
+h
+</path>
+<path matrix="1 0 0 1 64 0" stroke="black" fill="lightgray">
+192 544 m
+192 496 l
+240 496 l
+240 544 l
+h
+</path>
+<path matrix="1 0 0 1 128 0" stroke="black" fill="lightgray">
+192 544 m
+192 496 l
+240 496 l
+240 544 l
+h
+</path>
+<path matrix="1 0 0 1 192 0" stroke="black" fill="lightgray">
+192 544 m
+192 496 l
+240 496 l
+240 544 l
+h
+</path>
+<path matrix="1 0 0 1 0 64" stroke="black" fill="lightgray">
+192 544 m
+192 496 l
+240 496 l
+240 544 l
+h
+</path>
+<path matrix="1 0 0 1 64 64" stroke="black" fill="lightgray">
+192 544 m
+192 496 l
+240 496 l
+240 544 l
+h
+</path>
+<path matrix="1 0 0 1 128 64" stroke="black" fill="lightgray">
+192 544 m
+192 496 l
+240 496 l
+240 544 l
+h
+</path>
+<path matrix="1 0 0 1 192 64" stroke="black" fill="lightgray">
+192 544 m
+192 496 l
+240 496 l
+240 544 l
+h
+</path>
+<text transformations="translations" pos="212 516" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">10</text>
+<text transformations="translations" pos="276 516" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">12</text>
+<text transformations="translations" pos="308 516" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">13</text>
+<text transformations="translations" pos="340 516" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">14</text>
+<text transformations="translations" pos="372 516" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">15</text>
+<text transformations="translations" pos="404 516" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">16</text>
+<text transformations="translations" pos="436 516" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">17</text>
+<text transformations="translations" pos="180 548" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">18</text>
+<text transformations="translations" pos="212 548" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">19</text>
+<text transformations="translations" pos="244 548" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">20</text>
+<text transformations="translations" pos="276 548" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">21</text>
+<text transformations="translations" pos="308 548" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">22</text>
+<text transformations="translations" pos="340 548" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">23</text>
+<text transformations="translations" pos="372 548" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">24</text>
+<text transformations="translations" pos="404 548" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">25</text>
+<text transformations="translations" pos="436 548" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">26</text>
+<text transformations="translations" pos="180 580" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">27</text>
+<text transformations="translations" pos="212 580" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">28</text>
+<text transformations="translations" pos="244 580" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">29</text>
+<text transformations="translations" pos="276 580" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">30</text>
+<text transformations="translations" pos="308 580" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">31</text>
+<text transformations="translations" pos="340 580" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">32</text>
+<text transformations="translations" pos="372 580" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">33</text>
+<text transformations="translations" pos="404 580" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">34</text>
+<text transformations="translations" pos="436 580" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">35</text>
+<text transformations="translations" pos="180 612" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">36</text>
+<text transformations="translations" pos="212 612" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">37</text>
+<text transformations="translations" pos="244 612" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">38</text>
+<text transformations="translations" pos="276 612" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">39</text>
+<text transformations="translations" pos="308 612" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">40</text>
+<text transformations="translations" pos="340 612" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">41</text>
+<text transformations="translations" pos="372 612" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">42</text>
+<text transformations="translations" pos="404 612" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">43</text>
+<text transformations="translations" pos="436 612" stroke="black" type="label" width="9.963" height="6.42" depth="0" valign="baseline">44</text>
+<path stroke="black" arrow="normal/normal">
+152 456 m
+472 456 l
+</path>
+<path stroke="black" arrow="normal/normal">
+152 456 m
+152 648 l
+</path>
+</page>
+</ipe>
diff --git a/src/Bitmap_cubical_complex/doc/Cubical_complex_representation.png b/src/Bitmap_cubical_complex/doc/Cubical_complex_representation.png
new file mode 100644
index 00000000..afb2a75e
--- /dev/null
+++ b/src/Bitmap_cubical_complex/doc/Cubical_complex_representation.png
Binary files differ
diff --git a/src/Bitmap_cubical_complex/doc/Gudhi_Cubical_Complex_doc.h b/src/Bitmap_cubical_complex/doc/Gudhi_Cubical_Complex_doc.h
index cde0b2fc..83921427 100644
--- a/src/Bitmap_cubical_complex/doc/Gudhi_Cubical_Complex_doc.h
+++ b/src/Bitmap_cubical_complex/doc/Gudhi_Cubical_Complex_doc.h
@@ -76,7 +76,7 @@ namespace Cubical_complex {
* directions, allows to determine, dimension, neighborhood, boundary and coboundary of every cube \f$C \in
* \mathcal{K}\f$.
*
- * \image html "bitmapAllCubes.png" "Cubical complex.
+ * \image html "Cubical_complex_representation.png" Cubical complex.
*
* Note that the cubical complex in the figure above is, in a natural way, a product of one dimensional cubical
* complexes in \f$\mathbb{R}\f$. The number of all cubes in each direction is equal \f$2n+1\f$, where \f$n\f$ is the
@@ -145,7 +145,8 @@ namespace Cubical_complex {
* \section BitmapExamples Examples
* End user programs are available in example/Bitmap_cubical_complex folder.
-
+ *
+ * \copyright GNU General Public License v3.
*/
/** @} */ // end defgroup cubical_complex
diff --git a/src/Bitmap_cubical_complex/example/CMakeLists.txt b/src/Bitmap_cubical_complex/example/CMakeLists.txt
index 8f9cfa80..ad86b763 100644
--- a/src/Bitmap_cubical_complex/example/CMakeLists.txt
+++ b/src/Bitmap_cubical_complex/example/CMakeLists.txt
@@ -2,16 +2,25 @@ cmake_minimum_required(VERSION 2.6)
project(GUDHIBitmap)
add_executable ( Bitmap_cubical_complex Bitmap_cubical_complex.cpp )
-target_link_libraries(Bitmap_cubical_complex ${Boost_SYSTEM_LIBRARY})
+target_link_libraries(Bitmap_cubical_complex ${Boost_SYSTEM_LIBRARY})
+if (TBB_FOUND)
+ target_link_libraries(Bitmap_cubical_complex ${TBB_RELEASE_LIBRARY})
+endif()
add_test(Bitmap_cubical_complex_one_sphere ${CMAKE_CURRENT_BINARY_DIR}/Bitmap_cubical_complex ${CMAKE_SOURCE_DIR}/data/bitmap/CubicalOneSphere.txt)
add_test(Bitmap_cubical_complex_two_sphere ${CMAKE_CURRENT_BINARY_DIR}/Bitmap_cubical_complex ${CMAKE_SOURCE_DIR}/data/bitmap/CubicalTwoSphere.txt)
add_executable ( Random_bitmap_cubical_complex Random_bitmap_cubical_complex.cpp )
-target_link_libraries(Random_bitmap_cubical_complex ${Boost_SYSTEM_LIBRARY})
+target_link_libraries(Random_bitmap_cubical_complex ${Boost_SYSTEM_LIBRARY})
+if (TBB_FOUND)
+ target_link_libraries(Random_bitmap_cubical_complex ${TBB_RELEASE_LIBRARY})
+endif()
add_test(Random_bitmap_cubical_complex ${CMAKE_CURRENT_BINARY_DIR}/Random_bitmap_cubical_complex 2 100 100)
add_executable ( Bitmap_cubical_complex_periodic_boundary_conditions Bitmap_cubical_complex_periodic_boundary_conditions.cpp )
-target_link_libraries(Bitmap_cubical_complex_periodic_boundary_conditions ${Boost_SYSTEM_LIBRARY})
+target_link_libraries(Bitmap_cubical_complex_periodic_boundary_conditions ${Boost_SYSTEM_LIBRARY})
+if (TBB_FOUND)
+ target_link_libraries(Bitmap_cubical_complex_periodic_boundary_conditions ${TBB_RELEASE_LIBRARY})
+endif()
add_test(Bitmap_cubical_complex_periodic_2d_torus ${CMAKE_CURRENT_BINARY_DIR}/Bitmap_cubical_complex_periodic_boundary_conditions ${CMAKE_SOURCE_DIR}/data/bitmap/2d_torus.txt)
add_test(Bitmap_cubical_complex_periodic_3d_torus ${CMAKE_CURRENT_BINARY_DIR}/Bitmap_cubical_complex_periodic_boundary_conditions ${CMAKE_SOURCE_DIR}/data/bitmap/3d_torus.txt)
diff --git a/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex.h b/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex.h
index 67e1fed3..56fa297c 100644
--- a/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex.h
+++ b/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex.h
@@ -46,18 +46,14 @@ const bool globalDbg = false;
template <typename T> class is_before_in_filtration;
/**
- * This is a Bitmap_cubical_complex class. It joints a functionalities of Bitmap_cubical_complex_base and
+ * @brief Cubical complex represented as a bitmap.
+ * @ingroup cubical_complex
+ * @details This is a Bitmap_cubical_complex class. It joints a functionalities of Bitmap_cubical_complex_base and
* Bitmap_cubical_complex_periodic_boundary_conditions_base classes into
* Gudhi persistent homology engine. It is a template class that inherit from its template parameter. The template
* parameter is supposed to be either Bitmap_cubical_complex_base or
* Bitmap_cubical_complex_periodic_boundary_conditions_base class.
**/
-
-/**
- *@class Bitmap_cubical_complex
- *@brief Cubical complex represented as a bitmap.
- *@ingroup cubical_complex
- */
template <typename T>
class Bitmap_cubical_complex : public T {
public:
@@ -321,7 +317,7 @@ class Bitmap_cubical_complex : public T {
};
/**
- * Filtration_simplex_range provides the ranges for Filtration_simplex_iterator.
+ * @brief Filtration_simplex_range provides the ranges for Filtration_simplex_iterator.
**/
class Filtration_simplex_range {
// Range over the simplices of the complex in the order of the filtration.
@@ -492,7 +488,7 @@ class Bitmap_cubical_complex : public T {
};
/**
- * Class needed for compatibility with Gudhi. Not useful for other purposes.
+ * @brief Class needed for compatibility with Gudhi. Not useful for other purposes.
**/
class Skeleton_simplex_range {
// Range over the simplices of the complex in the order of the filtration.
@@ -549,7 +545,8 @@ void Bitmap_cubical_complex<T>::initialize_simplex_associated_to_key() {
this->simplex_associated_to_key = std::vector<size_t>(this->data.size());
std::iota(std::begin(simplex_associated_to_key), std::end(simplex_associated_to_key), 0);
#ifdef GUDHI_USE_TBB
- tbb::parallel_sort(simplex_associated_to_key, is_before_in_filtration<T>(this));
+ tbb::parallel_sort(simplex_associated_to_key.begin(), simplex_associated_to_key.end(),
+ is_before_in_filtration<T>(this));
#else
std::sort(simplex_associated_to_key.begin(), simplex_associated_to_key.end(), is_before_in_filtration<T>(this));
#endif
diff --git a/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex/counter.h b/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex/counter.h
index 266ce051..3a8c3988 100644
--- a/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex/counter.h
+++ b/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex/counter.h
@@ -31,8 +31,8 @@ namespace Gudhi {
namespace Cubical_complex {
/**
- * This is an implementation of a counter being a vector of integers.
- * The constructor of the class takes as an input two vectors W and V.
+ * @brief This is an implementation of a counter being a vector of integers.
+ * @details The constructor of the class takes as an input two vectors W and V.
* It assumes that W < V coordinatewise.
* If the initial counter W is not specified, it is assumed to be vector of zeros.
* The class allows to iterate between W and V by using increment() function.
@@ -40,7 +40,6 @@ namespace Cubical_complex {
* The current counter reach the end counter V if the value returned by the increment function is FALSE.
* This class is needed for the implementation of a bitmapCubicalComplex.
**/
-
class counter {
public:
/**
diff --git a/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_base.h b/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_base.h
index 7294da98..2f74ba9e 100644
--- a/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_base.h
+++ b/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_base.h
@@ -39,13 +39,9 @@ namespace Gudhi {
namespace Cubical_complex {
/**
- * @class Bitmap_cubical_complex_base
* @brief Cubical complex represented as a bitmap, class with basic implementation.
* @ingroup cubical_complex
- */
-
-/**
- * This is a class implementing a basic bitmap data structure to store cubical complexes.
+ * @details This is a class implementing a basic bitmap data structure to store cubical complexes.
* It implements only the most basic subroutines.
* The idea of the bitmap is the following. Our aim is to have a memory efficient
* data structure to store d-dimensional cubical complex
@@ -193,7 +189,7 @@ class Bitmap_cubical_complex_base {
// ITERATORS
/**
- * Iterator through all cells in the complex (in order they appear in the structure -- i.e.
+ * @brief Iterator through all cells in the complex (in order they appear in the structure -- i.e.
* in lexicographical order).
**/
class All_cells_iterator : std::iterator< std::input_iterator_tag, T > {
@@ -261,7 +257,7 @@ class Bitmap_cubical_complex_base {
}
/**
- * All_cells_range class provides ranges for All_cells_iterator
+ * @brief All_cells_range class provides ranges for All_cells_iterator
**/
class All_cells_range {
public:
@@ -312,7 +308,7 @@ class Bitmap_cubical_complex_base {
}
/**
- * Iterator through top dimensional cells of the complex. The cells appear in order they are stored
+ * @brief Iterator through top dimensional cells of the complex. The cells appear in order they are stored
* in the structure (i.e. in lexicographical order)
**/
class Top_dimensional_cells_iterator : std::iterator< std::input_iterator_tag, T > {
@@ -414,7 +410,7 @@ class Bitmap_cubical_complex_base {
}
/**
- * Top_dimensional_cells_iterator_range class provides ranges for Top_dimensional_cells_iterator_range
+ * @brief Top_dimensional_cells_iterator_range class provides ranges for Top_dimensional_cells_iterator_range
**/
class Top_dimensional_cells_range {
public:
diff --git a/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h b/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h
index a446c0e8..0d0f2f84 100644
--- a/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h
+++ b/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h
@@ -39,12 +39,9 @@ namespace Cubical_complex {
// the cells on the right / top are not in the Bitmap_cubical_complex_periodic_boundary_conditions_base
/**
- * @class Bitmap_cubical_complex_periodic_boundary_conditions_base
* @brief Cubical complex with periodic boundary conditions represented as a bitmap.
* @ingroup cubical_complex
- */
-/**
- * This is a class implementing a bitmap data structure with periodic boundary conditions. Most of the functions are
+ * @details This is a class implementing a bitmap data structure with periodic boundary conditions. Most of the functions are
* identical to the functions from Bitmap_cubical_complex_base.
* The ones that needed to be updated are the constructors and get_boundary_of_a_cell and get_coboundary_of_a_cell.
*/
diff --git a/src/Bitmap_cubical_complex/test/CMakeLists.txt b/src/Bitmap_cubical_complex/test/CMakeLists.txt
index b6fc8a3b..0e5340c7 100644
--- a/src/Bitmap_cubical_complex/test/CMakeLists.txt
+++ b/src/Bitmap_cubical_complex/test/CMakeLists.txt
@@ -12,6 +12,9 @@ endif()
add_executable ( BitmapCCUT Bitmap_test.cpp )
target_link_libraries(BitmapCCUT ${Boost_SYSTEM_LIBRARY} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
+if (TBB_FOUND)
+ target_link_libraries(BitmapCCUT ${TBB_RELEASE_LIBRARY})
+endif()
# Unitary tests
add_test(NAME BitmapCCUT