diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e186ba8e1428f5e5dcec38626cb787369ea02c5..d1fe608c0d7337550f980c104de95dfdf560eb62 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,11 @@ # -# Copyright +# Copyright 2010 CNRS +# Author: Florent Lamiraux # CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +INCLUDE(cmake/base.cmake) SET(PROJECT_NAME dynamic-graph-python) project(${PROJECT_NAME}) @@ -37,8 +39,9 @@ SET(PACKAGE_REQUIREMENTS "") SET(DYNAMIC_GRAPH_FOUND 0) SET(DYNAMIC_GRAPH_REQUIRED "dynamic-graph >= 1.0") PKG_CHECK_MODULES(DYNAMIC_GRAPH REQUIRED ${DYNAMIC_GRAPH_REQUIRED}) -EXEC_PROGRAM(${PKG_CONFIG_EXECUTABLE} ARGS --variable=docdir dynamic-graph - OUTPUT_VARIABLE DYNAMIC_GRAPH_DOCDIR) +EXEC_PROGRAM(${PKG_CONFIG_EXECUTABLE} ARGS + --variable=doxygendocdir dynamic-graph + OUTPUT_VARIABLE DYNAMIC_GRAPH_DOXYGENDOCDIR) MESSAGE(STATUS "pkg-config: ${PKG_CONFIG_EXECUTABLE}") MESSAGE(STATUS "DYNAMIC_GRAPH_DOCDIR=${DYNAMIC_GRAPH_DOCDIR}") SET(DYNAMIC_GRAPH_FOUND 1) @@ -78,7 +81,5 @@ ADD_SUBDIRECTORY(src) # # Documentation produced by doxygen # -INCLUDE(FindDoxygen) -IF(DOXYGEN_FOUND) - add_subdirectory(doc) -ENDIF(DOXYGEN_FOUND) +SET(SPHINX_EXECUTABLE sphinx-build) +add_subdirectory(doc) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 2b6030ae463d04102913e7e771d6982f330747a1..c1234898ae4e79ff260d30d4a57f9c7d7455eadb 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,15 +1,15 @@ -# -# Copyright -# - -# Configure package.dox file -CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/package.dox.cmake - ${CMAKE_CURRENT_BINARY_DIR}/package.dox -) +# +# Copyright 2010 CNRS +# Author: Florent Lamiraux +# +CONFIG_FILES_CMAKE( + sphinx/index.rst + sphinx/conf.py + ) ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/index.html - COMMAND ${DOXYGEN_EXECUTABLE} \"${CMAKE_CURRENT_BINARY_DIR}/package.dox\" + COMMAND ${SPHINX_EXECUTABLE} -b html \"${CMAKE_CURRENT_BINARY_DIR}/sphinx\" \"${CMAKE_CURRENT_BINARY_DIR}/sphinx-html\" ) ADD_CUSTOM_TARGET(documentation ALL @@ -20,13 +20,9 @@ ADD_CUSTOM_TARGET(documentation ALL # # html files -INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html +INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/sphinx-html DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/${PROJECT_NAME}) -# doxytag -INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.doxytag - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/${PROJECT_NAME}/html) - # pictures INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/pictures - DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/${PROJECT_NAME}/html) + DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/${PROJECT_NAME}) diff --git a/src/dynamic_graph/signal_base.py b/src/dynamic_graph/signal_base.py index 71e69bee0ab1167bd7fc46167a9f02e8877e3415..325fec5dee6c22cac3a33f513f8c464490b12133 100644 --- a/src/dynamic_graph/signal_base.py +++ b/src/dynamic_graph/signal_base.py @@ -167,7 +167,23 @@ class SignalBase (object) : @property def value(self) : """ - Read the value of a signal + Setter and getter for the value of a signal + + Binds C++ SignalBase<int>::get() and set() methods. Values are passed + through string streams. + A string is interpreted as respectively: + * a matrix (tuple of tuple) if string fits '[n,m]((x_11,x_12,...,x_1m),...,(x_n1,x_n2,...,x_nm))' format where n and m are integers, x_ij are floating point numbers, + * a tuple if string fits '[n](x_1, x_2, ..., x_n)' format, + * an integer, + * a floating point number. + + If string fits none of the above formats, no conversion is performed. + + For instance, is s binds a signal of type vector, + >>> s.value = (2.5, .1, 1e2) + will call SignalBase<int>::set("[3](2.5,0.1,100.0)") and + >>> s.value + (2.5, 0.1, 100.0) """ string = wrap.signal_base_get_value(self.object) return stringToObject(string)