Added extra functionality to Point class( an iterator ) and PersistenceDiagram( dimension property and __len__ func ).
persistence-diagram.h:
Added a new read-only dimension member and member function to access it.
With a new constructor that that takes in an int type to initialize dimension.
persistence-diagram.cpp:
Added new bp::init constructor. Takes in an integer type to initialize the dimension. Exposed the dimension property. Exposed the size property via a __len__ method.
__init__.py:
Added an iterator for Point objects. This iterates over the coords and then the data( if present ).
project (Dionysus)
cmake_minimum_required (VERSION 2.4)
option (logging "Build Dionysus with logging on" OFF)
option (counters "Build Dionysus with counters on" OFF)
option (debug "Build Dionysus with debugging on" OFF)
option (optimize "Build Dionysus with optimization" ON)
option (use_dsrpdb "Build examples that use DSR-PDB" OFF)
option (use_synaps "Build examples that use SYNAPS" OFF)
# Find everything that's always required
find_package (Boost REQUIRED COMPONENTS program_options python serialization signals)
find_package (Doxygen)
if (use_dsrpdb)
find_library (dsrpdb_LIBRARY NAMES dsrpdb)
find_path (dsrpdb_INCLUDE_DIR dsrpdb/Protein.h)
endif (use_dsrpdb)
# CGAL
find_package (CGAL)
#add_definitions (-DCGAL_NO_ASSERTIONS -DCGAL_NO_PRECONDITIONS)
# SYNAPS
if (use_synaps)
add_definitions (-DBOOST_UBLAS_TYPE_CHECK=0)
find_library (synaps_LIBRARY NAMES synaps)
set (synaps_libraries ${synaps_LIBRARY}
${gmp_LIBRARY}
${gmpxx_LIBRARY})
endif (use_synaps)
# Debugging
if (debug)
if (optimize)
set (cxx_flags ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
else (optimize)
set (cxx_flags ${CMAKE_CXX_FLAGS_DEBUG})
endif (optimize)
else (debug)
if (optimize)
set (cxx_flags ${CMAKE_CXX_FLAGS_RELEASE})
else (optimize)
set (cxx_flags ${CMAKE_CXX_FLAGS})
endif (optimize)
endif (debug)
add_definitions (${cxx_flags})
# Logging
if (logging)
find_library (rlog_LIBRARY NAMES rlog)
find_path (rlog_INCLUDE_DIR rlog/rlog.h)
set (rlog_INCLUDE_DIR ${rlog_INCLUDE_DIR})
add_definitions (-DLOGGING -DRLOG_COMPONENT=dionysus)
set (libraries ${libraries} ${rlog_LIBRARY})
endif (logging)
# Counters
if (counters)
add_definitions (-DCOUNTERS)
endif (counters)
# Set includes
include_directories (${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${Boost_INCLUDE_DIR}
${dsrpdb_INCLUDE_DIR}
${cwd_INCLUDE_DIR}
${rlog_INCLUDE_DIR})
# Doxygen (FIXME)
if (DOXYGEN_FOUND)
# add_custom_target (docs ALL
# ${DOXYGEN_EXECUTABLE} Doxyfile
# DEPENDS Doxyfile)
endif (DOXYGEN_FOUND)
# Process subdirectories
add_subdirectory (examples)
add_subdirectory (tests)
add_subdirectory (tools)
add_subdirectory (bindings)