diff options
author | Shashank | 2017-05-29 12:40:26 +0530 |
---|---|---|
committer | Shashank | 2017-05-29 12:40:26 +0530 |
commit | 0345245e860375a32c9a437c4a9d9cae807134e9 (patch) | |
tree | ad51ecbfa7bcd3cc5f09834f1bb8c08feaa526a4 /modules/graphic_objects | |
download | scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.gz scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.bz2 scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.zip |
CMSCOPE changed
Diffstat (limited to 'modules/graphic_objects')
648 files changed, 79926 insertions, 0 deletions
diff --git a/modules/graphic_objects/.libs/libscigraphic_objects-disable.la b/modules/graphic_objects/.libs/libscigraphic_objects-disable.la new file mode 120000 index 000000000..7fe90c9e9 --- /dev/null +++ b/modules/graphic_objects/.libs/libscigraphic_objects-disable.la @@ -0,0 +1 @@ +../libscigraphic_objects-disable.la
\ No newline at end of file diff --git a/modules/graphic_objects/.libs/libscigraphic_objects-disable.lai b/modules/graphic_objects/.libs/libscigraphic_objects-disable.lai new file mode 100755 index 000000000..d07f9c76b --- /dev/null +++ b/modules/graphic_objects/.libs/libscigraphic_objects-disable.lai @@ -0,0 +1,41 @@ +# libscigraphic_objects-disable.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libscigraphic_objects-disable.so.5' + +# Names of this library. +library_names='libscigraphic_objects-disable.so.5.5.2 libscigraphic_objects-disable.so.5 libscigraphic_objects-disable.so' + +# The name of the static archive. +old_library='' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -lpthread -ldl -lcurses -lm' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libscigraphic_objects-disable. +current=10 +age=5 +revision=2 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib/scilab' diff --git a/modules/graphic_objects/.libs/libscigraphic_objects-disable.so b/modules/graphic_objects/.libs/libscigraphic_objects-disable.so new file mode 120000 index 000000000..b64a37634 --- /dev/null +++ b/modules/graphic_objects/.libs/libscigraphic_objects-disable.so @@ -0,0 +1 @@ +libscigraphic_objects-disable.so.5.5.2
\ No newline at end of file diff --git a/modules/graphic_objects/.libs/libscigraphic_objects-disable.so.5 b/modules/graphic_objects/.libs/libscigraphic_objects-disable.so.5 new file mode 120000 index 000000000..b64a37634 --- /dev/null +++ b/modules/graphic_objects/.libs/libscigraphic_objects-disable.so.5 @@ -0,0 +1 @@ +libscigraphic_objects-disable.so.5.5.2
\ No newline at end of file diff --git a/modules/graphic_objects/.libs/libscigraphic_objects-disable.so.5.5.2 b/modules/graphic_objects/.libs/libscigraphic_objects-disable.so.5.5.2 Binary files differnew file mode 100755 index 000000000..a0d9261a3 --- /dev/null +++ b/modules/graphic_objects/.libs/libscigraphic_objects-disable.so.5.5.2 diff --git a/modules/graphic_objects/.libs/libscigraphic_objects.la b/modules/graphic_objects/.libs/libscigraphic_objects.la new file mode 120000 index 000000000..43b20ba6d --- /dev/null +++ b/modules/graphic_objects/.libs/libscigraphic_objects.la @@ -0,0 +1 @@ +../libscigraphic_objects.la
\ No newline at end of file diff --git a/modules/graphic_objects/.libs/libscigraphic_objects.lai b/modules/graphic_objects/.libs/libscigraphic_objects.lai new file mode 100755 index 000000000..3d1f656e7 --- /dev/null +++ b/modules/graphic_objects/.libs/libscigraphic_objects.lai @@ -0,0 +1,41 @@ +# libscigraphic_objects.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libscigraphic_objects.so.5' + +# Names of this library. +library_names='libscigraphic_objects.so.5.5.2 libscigraphic_objects.so.5 libscigraphic_objects.so' + +# The name of the static archive. +old_library='' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -lpthread -ldl -lcurses' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libscigraphic_objects. +current=10 +age=5 +revision=2 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib/scilab' diff --git a/modules/graphic_objects/.libs/libscigraphic_objects.so b/modules/graphic_objects/.libs/libscigraphic_objects.so new file mode 120000 index 000000000..babd7a8d2 --- /dev/null +++ b/modules/graphic_objects/.libs/libscigraphic_objects.so @@ -0,0 +1 @@ +libscigraphic_objects.so.5.5.2
\ No newline at end of file diff --git a/modules/graphic_objects/.libs/libscigraphic_objects.so.5 b/modules/graphic_objects/.libs/libscigraphic_objects.so.5 new file mode 120000 index 000000000..babd7a8d2 --- /dev/null +++ b/modules/graphic_objects/.libs/libscigraphic_objects.so.5 @@ -0,0 +1 @@ +libscigraphic_objects.so.5.5.2
\ No newline at end of file diff --git a/modules/graphic_objects/.libs/libscigraphic_objects.so.5.5.2 b/modules/graphic_objects/.libs/libscigraphic_objects.so.5.5.2 Binary files differnew file mode 100755 index 000000000..477d5832c --- /dev/null +++ b/modules/graphic_objects/.libs/libscigraphic_objects.so.5.5.2 diff --git a/modules/graphic_objects/Makefile b/modules/graphic_objects/Makefile new file mode 100755 index 000000000..f1ff7677c --- /dev/null +++ b/modules/graphic_objects/Makefile @@ -0,0 +1,1960 @@ +# Makefile.in generated by automake 1.14.1 from Makefile.am. +# modules/graphic_objects/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +# +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) DIGITEO - 2010 - Allan CORNET +# +# This file must be used under the terms of the CeCILL. +# This source file is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at +# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +# + +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) 2006-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr> +# Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr> +# +# This file must be used under the terms of the CeCILL. +# This source file is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at +# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +# + +########## +### Makefile included stuff +### Target, variable, suffixes which are supposed to be useful in every makefile.am +########## + + + +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/scilab +pkgincludedir = $(includedir)/scilab +pkglibdir = $(libdir)/scilab +pkglibexecdir = $(libexecdir)/scilab +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +DIST_COMMON = $(top_srcdir)/Makefile.incl.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am $(top_srcdir)/config/mkinstalldirs \ + $(top_srcdir)/config/depcomp +am__append_1 = java +#am__append_2 = giws +am__append_3 = libscigraphic_objects.la +#am__append_4 = swig +subdir = modules/graphic_objects +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \ + $(top_srcdir)/m4/compiler.m4 $(top_srcdir)/m4/curl.m4 \ + $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/doxygen.m4 \ + $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \ + $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \ + $(top_srcdir)/m4/intel_compiler.m4 \ + $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/libxml2.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/macosx.m4 \ + $(top_srcdir)/m4/mpi.m4 $(top_srcdir)/m4/ocaml.m4 \ + $(top_srcdir)/m4/pcre.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/relocatable.m4 $(top_srcdir)/m4/swig.m4 \ + $(top_srcdir)/m4/symlinks.m4 $(top_srcdir)/m4/tcltk.m4 \ + $(top_srcdir)/m4/umfpack.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/modules/core/includes/machine.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(pkglibdir)" \ + "$(DESTDIR)$(libscigraphic_objects_la_etcdir)" \ + "$(DESTDIR)$(libscigraphic_objects_la_rootdir)" \ + "$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)" +LTLIBRARIES = $(pkglib_LTLIBRARIES) +libscigraphic_objects_disable_la_LIBADD = +am__dirstamp = $(am__leading_dot)dirstamp +am__objects_1 = src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo +am_libscigraphic_objects_disable_la_OBJECTS = $(am__objects_1) +libscigraphic_objects_disable_la_OBJECTS = \ + $(am_libscigraphic_objects_disable_la_OBJECTS) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +am__DEPENDENCIES_1 = +libscigraphic_objects_la_DEPENDENCIES = \ + $(top_builddir)/modules/output_stream/libscioutput_stream.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am__objects_2 = src/jni/libscigraphic_objects_la-DataLoader_wrap.lo \ + src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo \ + src/jni/libscigraphic_objects_la-PolylineData_wrap.lo \ + src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo \ + src/jni/libscigraphic_objects_la-ObjectData_wrap.lo +am__objects_3 = \ + src/jni/libscigraphic_objects_la-CallGraphicController.lo \ + src/jni/libscigraphic_objects_la-Builder.lo \ + src/jni/libscigraphic_objects_la-CallXmlLoader.lo +am__objects_4 = \ + src/cpp/libscigraphic_objects_la-createGraphicObject.lo \ + src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo \ + src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo \ + src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo \ + src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo \ + src/cpp/libscigraphic_objects_la-dataModel.lo \ + src/cpp/libscigraphic_objects_la-Data3D.lo \ + src/cpp/libscigraphic_objects_la-DataLoader.lo \ + src/cpp/libscigraphic_objects_la-NgonData.lo \ + src/cpp/libscigraphic_objects_la-NgonGeneralData.lo \ + src/cpp/libscigraphic_objects_la-NgonGridData.lo \ + src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo \ + src/cpp/libscigraphic_objects_la-NgonPolylineData.lo \ + src/cpp/libscigraphic_objects_la-MeshData.lo \ + src/cpp/libscigraphic_objects_la-MeshFecData.lo \ + src/cpp/libscigraphic_objects_la-ColorComputer.lo \ + src/cpp/libscigraphic_objects_la-DecompositionUtils.lo \ + src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo \ + src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo \ + src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo \ + src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo \ + src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo \ + src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo \ + src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo \ + src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo \ + src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo \ + src/cpp/libscigraphic_objects_la-Triangulator.lo \ + src/cpp/libscigraphic_objects_la-ScilabView.lo \ + src/cpp/libscigraphic_objects_la-FigureList.lo \ + src/cpp/libscigraphic_objects_la-HandleManagement.lo \ + src/cpp/libscigraphic_objects_la-AxesModel.lo \ + src/cpp/libscigraphic_objects_la-FigureModel.lo \ + src/cpp/libscigraphic_objects_la-CurrentFigure.lo \ + src/cpp/libscigraphic_objects_la-CurrentObject.lo \ + src/cpp/libscigraphic_objects_la-CurrentSubwin.lo \ + src/cpp/libscigraphic_objects_la-createObjectData.lo \ + src/cpp/libscigraphic_objects_la-pickSurface.lo \ + src/cpp/libscigraphic_objects_la-Texture.lo \ + src/cpp/libscigraphic_objects_la-NormalGenerator.lo +am_libscigraphic_objects_la_OBJECTS = $(am__objects_2) \ + $(am__objects_3) $(am__objects_4) +libscigraphic_objects_la_OBJECTS = \ + $(am_libscigraphic_objects_la_OBJECTS) +libscigraphic_objects_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libscigraphic_objects_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +am_libscigraphic_objects_la_rpath = -rpath $(pkglibdir) +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/modules/core/includes +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_$(V)) +am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_$(V)) +am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libscigraphic_objects_disable_la_SOURCES) \ + $(libscigraphic_objects_la_SOURCES) +DIST_SOURCES = $(libscigraphic_objects_disable_la_SOURCES) \ + $(libscigraphic_objects_la_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +DATA = $(libscigraphic_objects_la_etc_DATA) \ + $(libscigraphic_objects_la_root_DATA) \ + $(libscigraphic_objects_la_sci_gateway_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing aclocal-1.14 +ALL_LINGUAS = en_US fr_FR zh_CN zh_TW ru_RU ca_ES de_DE es_ES pt_BR ja_JP it_IT uk_UA pl_PL cs_CZ +ALL_LINGUAS_DOC = en_US fr_FR pt_BR ja_JP ru_RU +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 1 +ANT = /usr/bin/ant +ANTLR = /usr/share/java/antlr.jar +AR = ar +ARPACK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -larpack +ASM3 = /usr/share/java/asm3-3.3.2.jar +AUTOCONF = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing autoconf +AUTOHEADER = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing autoheader +AUTOMAKE = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing automake-1.14 +AVALON_FRAMEWORK = /home/shashank/scilab-master_5.5.2/thirdparty/avalon-framework.jar +AWK = mawk +BATIK = /home/shashank/scilab-master_5.5.2/thirdparty/batik-all-1.7.jar +BLAS_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lblas +CC = gcc +CCACHE = +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CHECKSTYLE = +COBERTURA = /usr/share/java/cobertura.jar +COMMONS_BEANUTILS = +COMMONS_IO = /home/shashank/scilab-master_5.5.2/thirdparty/commons-io.jar +COMMONS_LOGGING = /home/shashank/scilab-master_5.5.2/thirdparty/commons-logging.jar +CPP = gcc -E +CPPFLAGS = +CURL_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +CURL_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/curl-config +CURL_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lcurl -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -lssl -lcrypto -lrt -lz +CURL_VERSION = libcurl 7.19.7 +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEMOTOOLS_ENABLE = yes +DEPDIR = .deps +DLLTOOL = false +DOCBOOK_ROOT = /home/shashank/scilab-master_5.5.2/thirdparty/docbook/ +DOXYGEN_BIN = +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +ECJ = /home/shashank/scilab-master_5.5.2/thirdparty/ecj.jar +EGREP = /bin/grep -E +EXEEXT = +F77 = gfortran +FFLAGS = -g -O2 +FFTW3_LIB = -L/home/shashank/scilab-master_5.5.2/usr/lib -lfftw3 +FFTW_ENABLE = yes +FGREP = /bin/grep -F +FLEXDOCK = /home/shashank/scilab-master_5.5.2/thirdparty/flexdock-1.2.4.jar +FLIBS = -L/usr/lib/gcc/x86_64-linux-gnu/5 -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/5/../../.. -lpthread -ldl -lcurses -lgfortran -lm -lquadmath +FOP = /home/shashank/scilab-master_5.5.2/thirdparty/fop.jar +FREEHEP_GRAPHICS2D = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphics2d.jar +FREEHEP_GRAPHICSIO = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphicsio.jar +FREEHEP_GRAPHICSIO_EMF = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-graphicsio-emf.jar +FREEHEP_IO = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-io.jar +FREEHEP_UTIL = /home/shashank/scilab-master_5.5.2/thirdparty/freehep-util.jar +GENHTML = +GETTEXT_MACRO_VERSION = 0.19 +GIWS_BIN = +GLUEGEN2_RT = /home/shashank/scilab-master_5.5.2/thirdparty/gluegen2-rt.jar +GMSGFMT = /usr/bin/msgfmt +GMSGFMT_015 = /usr/bin/msgfmt +GRAPHICS_ENABLE = yes +GREP = /bin/grep +GUI_ENABLE = yes +HDF5_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +HDF5_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lhdf5 -lhdf5_hl +HELP_ENABLE = yes +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +INTLLIBS = +INTL_MACOSX_LIBS = +JAR = /usr/lib/jvm/java-8-openjdk-amd64/bin/jar +JAVA = /usr/lib/jvm/java-8-openjdk-amd64/bin/java +JAVAC = /usr/lib/jvm/java-8-openjdk-amd64/bin/javac +JAVAC_DEBUG = off +JAVADOC = /usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc +JAVAH = /usr/lib/jvm/java-8-openjdk-amd64/bin/javah +JAVASCI_ENABLE = yes +JAVA_ENABLE = yes +JAVA_G = /usr/lib/jvm/java-8-openjdk-amd64/bin/java +JAVA_HOME = /usr/lib/jvm/java-8-openjdk-amd64 +JAVA_JNI_INCLUDE = -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux +JAVA_JNI_LIBS = -L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64 -ljava -lverify -L/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server -ljvm +JDB = /usr/lib/jvm/java-8-openjdk-amd64/bin/jdb +JEUCLID_CORE = /home/shashank/scilab-master_5.5.2/thirdparty/jeuclid-core.jar +JGRAPHX = /home/shashank/scilab-master_5.5.2/thirdparty/jgraphx.jar +JHALL = /home/shashank/scilab-master_5.5.2/thirdparty/jhall.jar +JLATEXMATH = /home/shashank/scilab-master_5.5.2/thirdparty/jlatexmath-1.0.3.jar +JLATEXMATH_FOP = /home/shashank/scilab-master_5.5.2/thirdparty/jlatexmath-fop-1.0.3.jar +JOGL2 = /home/shashank/scilab-master_5.5.2/thirdparty/jogl2.jar +JROSETTA_API = /home/shashank/scilab-master_5.5.2/thirdparty/jrosetta-API.jar +JROSETTA_ENGINE = /home/shashank/scilab-master_5.5.2/thirdparty/jrosetta-engine.jar +JUNIT4 = /usr/share/java/junit4.jar +LAPACK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -llapack +LCOV = +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -Wl,--no-as-needed +LIBICONV = -liconv +LIBINTL = +LIBM = -lm +LIBOBJS = +LIBS = -lpthread -ldl -lcurses -lm +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIPO = +LN_S = ln -s +LOGGING_LEVEL = SEVERE +LOOKS = /home/shashank/scilab-master_5.5.2/thirdparty/looks-2.1.1.jar +LTLIBICONV = -liconv +LTLIBINTL = +LTLIBOBJS = +MAINT = # +MAKEINFO = ${SHELL} /home/shashank/scilab-master_5.5.2/config/missing makeinfo +MANIFEST_TOOL = : +MATIO_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +MATIO_ENABLE = yes +MATIO_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lm -lz -lmatio -lhdf5 +MKDIR_P = /bin/mkdir -p +MPI_ENABLE = no +MSGCAT = /usr/bin/msgcat +MSGFMT = /usr/bin/msgfmt +MSGFMT_015 = /usr/bin/msgfmt +MSGMERGE = /usr/bin/msgmerge +NM = nm +NMEDIT = +OBJDUMP = objdump +OBJEXT = o +OCAMLC = ocamlc +OCAMLDEP = ocamldep +OCAMLLEX = ocamllex +OCAMLOPT = ocamlopt +OCAMLYACC = ocamlyacc +OPENMPI_CC = +OPENMPI_CFLAGS = +OPENMPI_CXX = +OPENMPI_CXXFLAGS = +OPENMPI_LIBS = +OPENMP_CFLAGS = -fopenmp +OPENMP_CXXFLAGS = -fopenmp +OPENMP_ENABLE = yes +OPENMP_LIBS = -lgomp -lstdc++ +OTOOL = +OTOOL64 = +PACKAGE = scilab +PACKAGE_BUGREPORT = http://bugzilla.scilab.org/ +PACKAGE_NAME = Scilab +PACKAGE_STRING = Scilab 5 +PACKAGE_TARNAME = scilab +PACKAGE_URL = +PACKAGE_VERSION = 5 +PATH_SEPARATOR = : +PCRE_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +PCRE_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/pcre-config +PCRE_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lpcreposix -lpcre +PCRE_VERSION = 8.35 +PKG_CONFIG = /usr/bin/pkg-config +POSUB = po +POW_LIB = +PYTHON = +RANLIB = ranlib +RELOCATABLE = no +RT_LIB = -lrt +SAXON = /home/shashank/scilab-master_5.5.2/thirdparty/saxon9he.jar +SCILAB_BINARY_VERSION = 5.5.2 +SCILAB_LIBRARY_VERSION = 5:5:2 +SCILAB_VERSION_MAINTENANCE = 2 +SCILAB_VERSION_MAJOR = 5 +SCILAB_VERSION_MINOR = 5 +SCIRENDERER = ${modules.dir}/scirenderer/${build.jar.dir}/scirenderer.jar +SCIRENDERER_CP = $SCILAB/modules/scirenderer/jar/scirenderer.jar +SCI_CFLAGS = -D_LARGEFILE64_SOURCE -DNDEBUG -m64 -fno-stack-protector +SCI_CXXFLAGS = -DNDEBUG -fno-stack-protector +SCI_FFLAGS = -DNDEBUG -m64 -fPIC +SCI_LDFLAGS = +SED = /bin/sed +SET_MAKE = +SET_RELOCATABLE = +SHELL = /bin/bash +SKINLF = /home/shashank/scilab-master_5.5.2/thirdparty/skinlf.jar +SPLINT = no +STRIP = strip +SWIG_BIN = +SWIG_JAVA = +SWIG_RUNTIME_LIBS_DIR = +SWIG_SCILAB = +TCLTK_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -ltk8.5 -L/home/shashank/scilab-master_5.5.2/usr/lib -ltcl8.5 -ldl +TCL_INC_PATH = -I/home/shashank/scilab-master_5.5.2/usr/include +TK_INC_PATH = -I/home/shashank/scilab-master_5.5.2/usr/include +UMFPACK_CFLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include +UMFPACK_ENABLE = yes +UMFPACK_LIB = -L/home/shashank/scilab-master_5.5.2/usr/lib -lumfpack -lamd +USE_NLS = yes +VERSION = 5 +WITH_OCAML = +WITH_TKSCI = yes +XCOS_ENABLE = yes +XGETTEXT = /usr/bin/xgettext +XGETTEXT_015 = /usr/bin/xgettext +XGETTEXT_EXTRA_OPTIONS = +XMKMF = +XMLGRAPHICS_COMMONS = /home/shashank/scilab-master_5.5.2/thirdparty/xmlgraphics-commons-1.4.jar +XML_APIS_EXT = /home/shashank/scilab-master_5.5.2/thirdparty/xml-apis-ext.jar +XML_CONFIG = /home/shashank/scilab-master_5.5.2/usr/bin/xml2-config +XML_FLAGS = -I/home/shashank/scilab-master_5.5.2/usr/include/libxml2 +XML_LIBS = -L/home/shashank/scilab-master_5.5.2/usr/lib -lxml2 -L/home/scilab/work/linux-prerequisites-sources/trunk/Dev-Tools/SE/Prerequirements/linux_x64/usr/lib -lz -lm -ldl +XML_VERSION = 2.9.1 +X_CFLAGS = +X_EXTRA_LIBS = +X_LIBS = +X_PRE_LIBS = +abs_builddir = /home/shashank/scilab-master_5.5.2/modules/graphic_objects +abs_srcdir = /home/shashank/scilab-master_5.5.2/modules/graphic_objects +abs_top_builddir = /home/shashank/scilab-master_5.5.2 +abs_top_srcdir = /home/shashank/scilab-master_5.5.2 +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +ac_ct_F77 = gfortran +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +builddir = . +cxx_present = yes +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/shashank/scilab-master_5.5.2/config/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../../ +top_builddir = ../.. +top_srcdir = ../.. + +#### Target ###### +modulename = graphic_objects + +#### graphic_objects : Conf files #### +libscigraphic_objects_la_rootdir = $(mydatadir) +libscigraphic_objects_la_root_DATA = changelog.txt license.txt readme.txt + +#### graphic_objects : init scripts #### +libscigraphic_objects_la_etcdir = $(mydatadir)/etc +libscigraphic_objects_la_etc_DATA = etc/graphic_objects.quit \ + etc/graphic_objects.start + + +# Where all the Scilab stuff is installed (macros, help, ...) +mydatadir = $(pkgdatadir)/modules/$(modulename) + +# Set AM_* SCI detected settings +AM_CPPFLAGS = $(SCI_CPPFLAGS) +AM_CFLAGS = $(SCI_CFLAGS) +AM_CXXFLAGS = $(SCI_CXXFLAGS) +# append includes to AM_FFLAGS to manage fortran includes +AM_FFLAGS = $(SCI_FFLAGS) -I$(top_srcdir)/modules/core/includes/ + +# Tag shared libraries with the Scilab version +AM_LDFLAGS = $(SCI_LDFLAGS) -version-number $(SCILAB_LIBRARY_VERSION) + +# splint options +SPLINT_OPTIONS = -weak -booltype BOOL + +########################### JAVA ###################################### +#### We are delegating java compilation to ant... Thanks to that +#### the procedure will be the same with Microsoft Windows (C) +#### and Linux/Unix +####################################################################### +TARGETS_ALL = $(am__append_1) + +################ MACROS ###################### +# Rule to build a macro +# NOT USED AT THE MOMENT +SUFFIXES = .sci + +########### INSTALL DOCUMENTATION ################### + +# Install documentation files into the right target +# We do not use the automake mechanism (libxxxx_la_help_fr_DATA) because +# automake needs the html files to be present which is not the case when +# we are building Scilab + +# Where it should be installed +pkgdocdir = $(mydatadir) + +# What is the mask of the help source +DOCMASKXML = *.xml + +# What is the mask of the MathML sources +DOCMASKMML = *.mml + +########### INSTALL DATA ################### +# Install macros, help & demos +# Where it should be installed +pkgmacrosdir = $(mydatadir) +# Which directory we process +MACRODIRS = macros/ +# Mask of the Scilab sources macros +MACROMASK = *.sci +# Mask of the Scilab executable sources macros +MACROBUILDMASK = *.sce +# Mask of the Scilab compiled macros +MACROBINMASK = *.bin +# List of the standard directory for tests +TESTS_DIR = tests/benchmarks tests/nonreg_tests tests/unit_tests tests/java +# Where the demos should be installed +pkgdemosdir = $(mydatadir) +# List of the standard directory for demos +DEMOS_DIR = demos +# List of the standard directory for examples +EXAMPLES_DIR = examples +# Where to export JAVA archives (.jar) +JARDIR = jar/ +# JAR files mask +JARMASK = *.jar +# Chapter file +HELP_CHAPTERDIR = help/ +HELP_CHAPTERFILE = addchapter.sce +HELP_CHAPTERLANG = en_US fr_FR pt_BR +BUILT_SOURCES = includes/graphicObjectsProperties.h $(am__append_2) \ + $(am__append_4) +#This file is also generated, but can not be listed to prevent GCJ call. +#src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java +GRAPHIC_OBJECTS_JNI_SOURCES = src/jni/CallGraphicController.cpp \ + src/jni/Builder.cpp \ + src/jni/CallXmlLoader.cpp + +GRAPHIC_OBJECTS_C_SOURCES = src/jni/DataLoader_wrap.c \ + src/jni/ScilabNativeView_wrap.c \ + src/jni/PolylineData_wrap.c \ + src/jni/SurfaceData_wrap.c \ + src/jni/ObjectData_wrap.c + +GRAPHIC_OBJECTS_CXX_SOURCES = src/cpp/createGraphicObject.cpp \ + src/cpp/getGraphicObjectProperty.cpp \ + src/cpp/getConsoleIdentifier.cpp \ + src/cpp/setGraphicObjectProperty.cpp \ + src/cpp/deleteGraphicObject.cpp \ + src/cpp/dataModel.cpp \ + src/cpp/Data3D.cpp \ + src/cpp/DataLoader.cpp \ + src/cpp/NgonData.cpp \ + src/cpp/NgonGeneralData.cpp \ + src/cpp/NgonGridData.cpp \ + src/cpp/NgonGridMatplotData.cpp \ + src/cpp/NgonPolylineData.cpp \ + src/cpp/MeshData.cpp \ + src/cpp/MeshFecData.cpp \ + src/cpp/ColorComputer.cpp \ + src/cpp/DecompositionUtils.cpp \ + src/cpp/Fac3DColorComputer.cpp \ + src/cpp/Fac3DDecomposer.cpp \ + src/cpp/NgonGridDataDecomposer.cpp \ + src/cpp/NgonGridGrayplotDataDecomposer.cpp \ + src/cpp/MatPlotDecomposer.cpp \ + src/cpp/NgonGridMatplotDataDecomposer.cpp \ + src/cpp/Plot3DDecomposer.cpp \ + src/cpp/PolylineDecomposer.cpp \ + src/cpp/MeshFecDataDecomposer.cpp \ + src/cpp/Triangulator.cpp \ + src/cpp/ScilabView.cpp \ + src/cpp/FigureList.cpp \ + src/cpp/HandleManagement.cpp \ + src/cpp/AxesModel.cpp \ + src/cpp/FigureModel.cpp \ + src/cpp/CurrentFigure.cpp \ + src/cpp/CurrentObject.cpp \ + src/cpp/CurrentSubwin.cpp \ + src/cpp/createObjectData.cpp \ + src/cpp/pickSurface.cpp \ + src/cpp/Texture.cpp \ + src/cpp/NormalGenerator.cpp + +GIWS_WRAPPERS = src/jni/graphic_objects.giws.xml \ + src/jni/builder.giws.xml + +libscigraphic_objects_la_CPPFLAGS = $(JAVA_JNI_INCLUDE) \ + -I$(srcdir)/includes/ \ + -I$(srcdir)/src/cpp/ \ + -I$(srcdir)/src/c/ \ + -I$(srcdir)/src/jni/ \ + -I$(top_srcdir)/modules/api_scilab/includes/ \ + -I$(top_srcdir)/modules/commons/src/jni/ \ + -I$(top_srcdir)/modules/core/includes/ \ + -I$(top_srcdir)/modules/jvm/includes/ \ + -I$(top_srcdir)/modules/localization/includes/ \ + -I$(top_srcdir)/modules/output_stream/includes/ + + +# Without the graphic_objects module +libscigraphic_objects_disable_la_CPPFLAGS = -I$(srcdir)/includes/ \ + -I$(top_srcdir)/modules/localization/includes/ \ + -I$(top_srcdir)/modules/output_stream/includes/ + +GRAPHIC_OBJECTS_DISABLE_C_SOURCES = src/nographic_objects/nographic_objects.c +libscigraphic_objects_disable_la_SOURCES = $(GRAPHIC_OBJECTS_DISABLE_C_SOURCES) +pkglib_LTLIBRARIES = libscigraphic_objects-disable.la $(am__append_3) +libscigraphic_objects_la_LDFLAGS = $(AM_LDFLAGS) +libscigraphic_objects_la_SOURCES = $(GRAPHIC_OBJECTS_GEN_SOURCES) $(GRAPHIC_OBJECTS_C_SOURCES) $(GRAPHIC_OBJECTS_JNI_SOURCES) $(GATEWAY_C_SOURCES) $(GATEWAY_CXX_SOURCES) $(GRAPHIC_OBJECTS_CXX_SOURCES) + +# For the code check (splint) +CHECK_SRC = $(GRAPHIC_OBJECTS_C_SOURCES) $(GATEWAY_C_SOURCES) +INCLUDE_FLAGS = $(libscigraphic_objects_la_CPPFLAGS) + +#### SWIG Declaration #### +SWIG_WRAPPERS = src/jni/DataLoader.i \ + src/jni/ScilabNativeView.i \ + src/jni/PolylineData.i \ + src/jni/SurfaceData.i \ + src/jni/graphic_objects.i \ + src/jni/ObjectData.i + +libscigraphic_objects_la_LIBADD = $(top_builddir)/modules/output_stream/libscioutput_stream.la $(X_LIBS) $(X_EXTRA_LIBS) + +#### graphic_objects : gateway declaration #### +libscigraphic_objects_la_sci_gatewaydir = $(mydatadir)/sci_gateway +libscigraphic_objects_la_sci_gateway_DATA = sci_gateway/graphic_objects_gateway.xml +USEANT = 1 +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .sci .bin .c .cpp .lo .o .obj +$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign modules/graphic_objects/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign modules/graphic_objects/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; +$(top_srcdir)/Makefile.incl.am: + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: # $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): # $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \ + } + +uninstall-pkglibLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ + done + +clean-pkglibLTLIBRARIES: + -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES) + @list='$(pkglib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +src/nographic_objects/$(am__dirstamp): + @$(MKDIR_P) src/nographic_objects + @: > src/nographic_objects/$(am__dirstamp) +src/nographic_objects/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/nographic_objects/$(DEPDIR) + @: > src/nographic_objects/$(DEPDIR)/$(am__dirstamp) +src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo: \ + src/nographic_objects/$(am__dirstamp) \ + src/nographic_objects/$(DEPDIR)/$(am__dirstamp) + +libscigraphic_objects-disable.la: $(libscigraphic_objects_disable_la_OBJECTS) $(libscigraphic_objects_disable_la_DEPENDENCIES) $(EXTRA_libscigraphic_objects_disable_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) -rpath $(pkglibdir) $(libscigraphic_objects_disable_la_OBJECTS) $(libscigraphic_objects_disable_la_LIBADD) $(LIBS) +src/jni/$(am__dirstamp): + @$(MKDIR_P) src/jni + @: > src/jni/$(am__dirstamp) +src/jni/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/jni/$(DEPDIR) + @: > src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-DataLoader_wrap.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-PolylineData_wrap.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-ObjectData_wrap.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-CallGraphicController.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-Builder.lo: src/jni/$(am__dirstamp) \ + src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-CallXmlLoader.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/cpp/$(am__dirstamp): + @$(MKDIR_P) src/cpp + @: > src/cpp/$(am__dirstamp) +src/cpp/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/cpp/$(DEPDIR) + @: > src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-createGraphicObject.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-dataModel.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-Data3D.lo: src/cpp/$(am__dirstamp) \ + src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-DataLoader.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonData.lo: src/cpp/$(am__dirstamp) \ + src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonGeneralData.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonGridData.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonPolylineData.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-MeshData.lo: src/cpp/$(am__dirstamp) \ + src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-MeshFecData.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-ColorComputer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-DecompositionUtils.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-Triangulator.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-ScilabView.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-FigureList.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-HandleManagement.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-AxesModel.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-FigureModel.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-CurrentFigure.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-CurrentObject.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-CurrentSubwin.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-createObjectData.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-pickSurface.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-Texture.lo: src/cpp/$(am__dirstamp) \ + src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NormalGenerator.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) + +libscigraphic_objects.la: $(libscigraphic_objects_la_OBJECTS) $(libscigraphic_objects_la_DEPENDENCIES) $(EXTRA_libscigraphic_objects_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libscigraphic_objects_la_LINK) $(am_libscigraphic_objects_la_rpath) $(libscigraphic_objects_la_OBJECTS) $(libscigraphic_objects_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f src/cpp/*.$(OBJEXT) + -rm -f src/cpp/*.lo + -rm -f src/jni/*.$(OBJEXT) + -rm -f src/jni/*.lo + -rm -f src/nographic_objects/*.$(OBJEXT) + -rm -f src/nographic_objects/*.lo + +distclean-compile: + -rm -f *.tab.c + +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-AxesModel.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-ColorComputer.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentFigure.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentObject.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentSubwin.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-Data3D.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-DataLoader.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-DecompositionUtils.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DColorComputer.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DDecomposer.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureList.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureModel.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-HandleManagement.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-MatPlotDecomposer.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshData.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecData.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecDataDecomposer.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonData.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGeneralData.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridData.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridDataDecomposer.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotData.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonPolylineData.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-NormalGenerator.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-Plot3DDecomposer.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-PolylineDecomposer.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-ScilabView.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-Texture.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-Triangulator.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-createGraphicObject.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-createObjectData.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-dataModel.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-deleteGraphicObject.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-getConsoleIdentifier.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-getGraphicObjectProperty.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-pickSurface.Plo +include src/cpp/$(DEPDIR)/libscigraphic_objects_la-setGraphicObjectProperty.Plo +include src/jni/$(DEPDIR)/libscigraphic_objects_la-Builder.Plo +include src/jni/$(DEPDIR)/libscigraphic_objects_la-CallGraphicController.Plo +include src/jni/$(DEPDIR)/libscigraphic_objects_la-CallXmlLoader.Plo +include src/jni/$(DEPDIR)/libscigraphic_objects_la-DataLoader_wrap.Plo +include src/jni/$(DEPDIR)/libscigraphic_objects_la-ObjectData_wrap.Plo +include src/jni/$(DEPDIR)/libscigraphic_objects_la-PolylineData_wrap.Plo +include src/jni/$(DEPDIR)/libscigraphic_objects_la-ScilabNativeView_wrap.Plo +include src/jni/$(DEPDIR)/libscigraphic_objects_la-SurfaceData_wrap.Plo +include src/nographic_objects/$(DEPDIR)/libscigraphic_objects_disable_la-nographic_objects.Plo + +.c.o: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CC)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< + +.c.obj: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ + $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CC)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ + $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Plo +# $(AM_V_CC)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< + +src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo: src/nographic_objects/nographic_objects.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_disable_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo -MD -MP -MF src/nographic_objects/$(DEPDIR)/libscigraphic_objects_disable_la-nographic_objects.Tpo -c -o src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo `test -f 'src/nographic_objects/nographic_objects.c' || echo '$(srcdir)/'`src/nographic_objects/nographic_objects.c + $(AM_V_at)$(am__mv) src/nographic_objects/$(DEPDIR)/libscigraphic_objects_disable_la-nographic_objects.Tpo src/nographic_objects/$(DEPDIR)/libscigraphic_objects_disable_la-nographic_objects.Plo +# $(AM_V_CC)source='src/nographic_objects/nographic_objects.c' object='src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_disable_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo `test -f 'src/nographic_objects/nographic_objects.c' || echo '$(srcdir)/'`src/nographic_objects/nographic_objects.c + +src/jni/libscigraphic_objects_la-DataLoader_wrap.lo: src/jni/DataLoader_wrap.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/jni/libscigraphic_objects_la-DataLoader_wrap.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-DataLoader_wrap.Tpo -c -o src/jni/libscigraphic_objects_la-DataLoader_wrap.lo `test -f 'src/jni/DataLoader_wrap.c' || echo '$(srcdir)/'`src/jni/DataLoader_wrap.c + $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-DataLoader_wrap.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-DataLoader_wrap.Plo +# $(AM_V_CC)source='src/jni/DataLoader_wrap.c' object='src/jni/libscigraphic_objects_la-DataLoader_wrap.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/jni/libscigraphic_objects_la-DataLoader_wrap.lo `test -f 'src/jni/DataLoader_wrap.c' || echo '$(srcdir)/'`src/jni/DataLoader_wrap.c + +src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo: src/jni/ScilabNativeView_wrap.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-ScilabNativeView_wrap.Tpo -c -o src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo `test -f 'src/jni/ScilabNativeView_wrap.c' || echo '$(srcdir)/'`src/jni/ScilabNativeView_wrap.c + $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-ScilabNativeView_wrap.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-ScilabNativeView_wrap.Plo +# $(AM_V_CC)source='src/jni/ScilabNativeView_wrap.c' object='src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo `test -f 'src/jni/ScilabNativeView_wrap.c' || echo '$(srcdir)/'`src/jni/ScilabNativeView_wrap.c + +src/jni/libscigraphic_objects_la-PolylineData_wrap.lo: src/jni/PolylineData_wrap.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/jni/libscigraphic_objects_la-PolylineData_wrap.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-PolylineData_wrap.Tpo -c -o src/jni/libscigraphic_objects_la-PolylineData_wrap.lo `test -f 'src/jni/PolylineData_wrap.c' || echo '$(srcdir)/'`src/jni/PolylineData_wrap.c + $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-PolylineData_wrap.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-PolylineData_wrap.Plo +# $(AM_V_CC)source='src/jni/PolylineData_wrap.c' object='src/jni/libscigraphic_objects_la-PolylineData_wrap.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/jni/libscigraphic_objects_la-PolylineData_wrap.lo `test -f 'src/jni/PolylineData_wrap.c' || echo '$(srcdir)/'`src/jni/PolylineData_wrap.c + +src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo: src/jni/SurfaceData_wrap.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-SurfaceData_wrap.Tpo -c -o src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo `test -f 'src/jni/SurfaceData_wrap.c' || echo '$(srcdir)/'`src/jni/SurfaceData_wrap.c + $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-SurfaceData_wrap.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-SurfaceData_wrap.Plo +# $(AM_V_CC)source='src/jni/SurfaceData_wrap.c' object='src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo `test -f 'src/jni/SurfaceData_wrap.c' || echo '$(srcdir)/'`src/jni/SurfaceData_wrap.c + +src/jni/libscigraphic_objects_la-ObjectData_wrap.lo: src/jni/ObjectData_wrap.c + $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/jni/libscigraphic_objects_la-ObjectData_wrap.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-ObjectData_wrap.Tpo -c -o src/jni/libscigraphic_objects_la-ObjectData_wrap.lo `test -f 'src/jni/ObjectData_wrap.c' || echo '$(srcdir)/'`src/jni/ObjectData_wrap.c + $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-ObjectData_wrap.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-ObjectData_wrap.Plo +# $(AM_V_CC)source='src/jni/ObjectData_wrap.c' object='src/jni/libscigraphic_objects_la-ObjectData_wrap.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/jni/libscigraphic_objects_la-ObjectData_wrap.lo `test -f 'src/jni/ObjectData_wrap.c' || echo '$(srcdir)/'`src/jni/ObjectData_wrap.c + +.cpp.o: + $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ + $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ + $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +src/jni/libscigraphic_objects_la-CallGraphicController.lo: src/jni/CallGraphicController.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/jni/libscigraphic_objects_la-CallGraphicController.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-CallGraphicController.Tpo -c -o src/jni/libscigraphic_objects_la-CallGraphicController.lo `test -f 'src/jni/CallGraphicController.cpp' || echo '$(srcdir)/'`src/jni/CallGraphicController.cpp + $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-CallGraphicController.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-CallGraphicController.Plo +# $(AM_V_CXX)source='src/jni/CallGraphicController.cpp' object='src/jni/libscigraphic_objects_la-CallGraphicController.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/jni/libscigraphic_objects_la-CallGraphicController.lo `test -f 'src/jni/CallGraphicController.cpp' || echo '$(srcdir)/'`src/jni/CallGraphicController.cpp + +src/jni/libscigraphic_objects_la-Builder.lo: src/jni/Builder.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/jni/libscigraphic_objects_la-Builder.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-Builder.Tpo -c -o src/jni/libscigraphic_objects_la-Builder.lo `test -f 'src/jni/Builder.cpp' || echo '$(srcdir)/'`src/jni/Builder.cpp + $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-Builder.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-Builder.Plo +# $(AM_V_CXX)source='src/jni/Builder.cpp' object='src/jni/libscigraphic_objects_la-Builder.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/jni/libscigraphic_objects_la-Builder.lo `test -f 'src/jni/Builder.cpp' || echo '$(srcdir)/'`src/jni/Builder.cpp + +src/jni/libscigraphic_objects_la-CallXmlLoader.lo: src/jni/CallXmlLoader.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/jni/libscigraphic_objects_la-CallXmlLoader.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-CallXmlLoader.Tpo -c -o src/jni/libscigraphic_objects_la-CallXmlLoader.lo `test -f 'src/jni/CallXmlLoader.cpp' || echo '$(srcdir)/'`src/jni/CallXmlLoader.cpp + $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-CallXmlLoader.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-CallXmlLoader.Plo +# $(AM_V_CXX)source='src/jni/CallXmlLoader.cpp' object='src/jni/libscigraphic_objects_la-CallXmlLoader.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/jni/libscigraphic_objects_la-CallXmlLoader.lo `test -f 'src/jni/CallXmlLoader.cpp' || echo '$(srcdir)/'`src/jni/CallXmlLoader.cpp + +src/cpp/libscigraphic_objects_la-createGraphicObject.lo: src/cpp/createGraphicObject.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-createGraphicObject.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-createGraphicObject.Tpo -c -o src/cpp/libscigraphic_objects_la-createGraphicObject.lo `test -f 'src/cpp/createGraphicObject.cpp' || echo '$(srcdir)/'`src/cpp/createGraphicObject.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-createGraphicObject.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-createGraphicObject.Plo +# $(AM_V_CXX)source='src/cpp/createGraphicObject.cpp' object='src/cpp/libscigraphic_objects_la-createGraphicObject.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-createGraphicObject.lo `test -f 'src/cpp/createGraphicObject.cpp' || echo '$(srcdir)/'`src/cpp/createGraphicObject.cpp + +src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo: src/cpp/getGraphicObjectProperty.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-getGraphicObjectProperty.Tpo -c -o src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo `test -f 'src/cpp/getGraphicObjectProperty.cpp' || echo '$(srcdir)/'`src/cpp/getGraphicObjectProperty.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-getGraphicObjectProperty.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-getGraphicObjectProperty.Plo +# $(AM_V_CXX)source='src/cpp/getGraphicObjectProperty.cpp' object='src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo `test -f 'src/cpp/getGraphicObjectProperty.cpp' || echo '$(srcdir)/'`src/cpp/getGraphicObjectProperty.cpp + +src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo: src/cpp/getConsoleIdentifier.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-getConsoleIdentifier.Tpo -c -o src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo `test -f 'src/cpp/getConsoleIdentifier.cpp' || echo '$(srcdir)/'`src/cpp/getConsoleIdentifier.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-getConsoleIdentifier.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-getConsoleIdentifier.Plo +# $(AM_V_CXX)source='src/cpp/getConsoleIdentifier.cpp' object='src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo `test -f 'src/cpp/getConsoleIdentifier.cpp' || echo '$(srcdir)/'`src/cpp/getConsoleIdentifier.cpp + +src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo: src/cpp/setGraphicObjectProperty.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-setGraphicObjectProperty.Tpo -c -o src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo `test -f 'src/cpp/setGraphicObjectProperty.cpp' || echo '$(srcdir)/'`src/cpp/setGraphicObjectProperty.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-setGraphicObjectProperty.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-setGraphicObjectProperty.Plo +# $(AM_V_CXX)source='src/cpp/setGraphicObjectProperty.cpp' object='src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo `test -f 'src/cpp/setGraphicObjectProperty.cpp' || echo '$(srcdir)/'`src/cpp/setGraphicObjectProperty.cpp + +src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo: src/cpp/deleteGraphicObject.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-deleteGraphicObject.Tpo -c -o src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo `test -f 'src/cpp/deleteGraphicObject.cpp' || echo '$(srcdir)/'`src/cpp/deleteGraphicObject.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-deleteGraphicObject.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-deleteGraphicObject.Plo +# $(AM_V_CXX)source='src/cpp/deleteGraphicObject.cpp' object='src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo `test -f 'src/cpp/deleteGraphicObject.cpp' || echo '$(srcdir)/'`src/cpp/deleteGraphicObject.cpp + +src/cpp/libscigraphic_objects_la-dataModel.lo: src/cpp/dataModel.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-dataModel.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-dataModel.Tpo -c -o src/cpp/libscigraphic_objects_la-dataModel.lo `test -f 'src/cpp/dataModel.cpp' || echo '$(srcdir)/'`src/cpp/dataModel.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-dataModel.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-dataModel.Plo +# $(AM_V_CXX)source='src/cpp/dataModel.cpp' object='src/cpp/libscigraphic_objects_la-dataModel.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-dataModel.lo `test -f 'src/cpp/dataModel.cpp' || echo '$(srcdir)/'`src/cpp/dataModel.cpp + +src/cpp/libscigraphic_objects_la-Data3D.lo: src/cpp/Data3D.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-Data3D.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-Data3D.Tpo -c -o src/cpp/libscigraphic_objects_la-Data3D.lo `test -f 'src/cpp/Data3D.cpp' || echo '$(srcdir)/'`src/cpp/Data3D.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-Data3D.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-Data3D.Plo +# $(AM_V_CXX)source='src/cpp/Data3D.cpp' object='src/cpp/libscigraphic_objects_la-Data3D.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-Data3D.lo `test -f 'src/cpp/Data3D.cpp' || echo '$(srcdir)/'`src/cpp/Data3D.cpp + +src/cpp/libscigraphic_objects_la-DataLoader.lo: src/cpp/DataLoader.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-DataLoader.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-DataLoader.Tpo -c -o src/cpp/libscigraphic_objects_la-DataLoader.lo `test -f 'src/cpp/DataLoader.cpp' || echo '$(srcdir)/'`src/cpp/DataLoader.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-DataLoader.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-DataLoader.Plo +# $(AM_V_CXX)source='src/cpp/DataLoader.cpp' object='src/cpp/libscigraphic_objects_la-DataLoader.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-DataLoader.lo `test -f 'src/cpp/DataLoader.cpp' || echo '$(srcdir)/'`src/cpp/DataLoader.cpp + +src/cpp/libscigraphic_objects_la-NgonData.lo: src/cpp/NgonData.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonData.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonData.lo `test -f 'src/cpp/NgonData.cpp' || echo '$(srcdir)/'`src/cpp/NgonData.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonData.Plo +# $(AM_V_CXX)source='src/cpp/NgonData.cpp' object='src/cpp/libscigraphic_objects_la-NgonData.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonData.lo `test -f 'src/cpp/NgonData.cpp' || echo '$(srcdir)/'`src/cpp/NgonData.cpp + +src/cpp/libscigraphic_objects_la-NgonGeneralData.lo: src/cpp/NgonGeneralData.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonGeneralData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGeneralData.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonGeneralData.lo `test -f 'src/cpp/NgonGeneralData.cpp' || echo '$(srcdir)/'`src/cpp/NgonGeneralData.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGeneralData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGeneralData.Plo +# $(AM_V_CXX)source='src/cpp/NgonGeneralData.cpp' object='src/cpp/libscigraphic_objects_la-NgonGeneralData.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonGeneralData.lo `test -f 'src/cpp/NgonGeneralData.cpp' || echo '$(srcdir)/'`src/cpp/NgonGeneralData.cpp + +src/cpp/libscigraphic_objects_la-NgonGridData.lo: src/cpp/NgonGridData.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonGridData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridData.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonGridData.lo `test -f 'src/cpp/NgonGridData.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridData.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridData.Plo +# $(AM_V_CXX)source='src/cpp/NgonGridData.cpp' object='src/cpp/libscigraphic_objects_la-NgonGridData.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonGridData.lo `test -f 'src/cpp/NgonGridData.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridData.cpp + +src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo: src/cpp/NgonGridMatplotData.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotData.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo `test -f 'src/cpp/NgonGridMatplotData.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridMatplotData.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotData.Plo +# $(AM_V_CXX)source='src/cpp/NgonGridMatplotData.cpp' object='src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo `test -f 'src/cpp/NgonGridMatplotData.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridMatplotData.cpp + +src/cpp/libscigraphic_objects_la-NgonPolylineData.lo: src/cpp/NgonPolylineData.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonPolylineData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonPolylineData.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonPolylineData.lo `test -f 'src/cpp/NgonPolylineData.cpp' || echo '$(srcdir)/'`src/cpp/NgonPolylineData.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonPolylineData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonPolylineData.Plo +# $(AM_V_CXX)source='src/cpp/NgonPolylineData.cpp' object='src/cpp/libscigraphic_objects_la-NgonPolylineData.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonPolylineData.lo `test -f 'src/cpp/NgonPolylineData.cpp' || echo '$(srcdir)/'`src/cpp/NgonPolylineData.cpp + +src/cpp/libscigraphic_objects_la-MeshData.lo: src/cpp/MeshData.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-MeshData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshData.Tpo -c -o src/cpp/libscigraphic_objects_la-MeshData.lo `test -f 'src/cpp/MeshData.cpp' || echo '$(srcdir)/'`src/cpp/MeshData.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshData.Plo +# $(AM_V_CXX)source='src/cpp/MeshData.cpp' object='src/cpp/libscigraphic_objects_la-MeshData.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-MeshData.lo `test -f 'src/cpp/MeshData.cpp' || echo '$(srcdir)/'`src/cpp/MeshData.cpp + +src/cpp/libscigraphic_objects_la-MeshFecData.lo: src/cpp/MeshFecData.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-MeshFecData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecData.Tpo -c -o src/cpp/libscigraphic_objects_la-MeshFecData.lo `test -f 'src/cpp/MeshFecData.cpp' || echo '$(srcdir)/'`src/cpp/MeshFecData.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecData.Plo +# $(AM_V_CXX)source='src/cpp/MeshFecData.cpp' object='src/cpp/libscigraphic_objects_la-MeshFecData.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-MeshFecData.lo `test -f 'src/cpp/MeshFecData.cpp' || echo '$(srcdir)/'`src/cpp/MeshFecData.cpp + +src/cpp/libscigraphic_objects_la-ColorComputer.lo: src/cpp/ColorComputer.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-ColorComputer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-ColorComputer.Tpo -c -o src/cpp/libscigraphic_objects_la-ColorComputer.lo `test -f 'src/cpp/ColorComputer.cpp' || echo '$(srcdir)/'`src/cpp/ColorComputer.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-ColorComputer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-ColorComputer.Plo +# $(AM_V_CXX)source='src/cpp/ColorComputer.cpp' object='src/cpp/libscigraphic_objects_la-ColorComputer.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-ColorComputer.lo `test -f 'src/cpp/ColorComputer.cpp' || echo '$(srcdir)/'`src/cpp/ColorComputer.cpp + +src/cpp/libscigraphic_objects_la-DecompositionUtils.lo: src/cpp/DecompositionUtils.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-DecompositionUtils.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-DecompositionUtils.Tpo -c -o src/cpp/libscigraphic_objects_la-DecompositionUtils.lo `test -f 'src/cpp/DecompositionUtils.cpp' || echo '$(srcdir)/'`src/cpp/DecompositionUtils.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-DecompositionUtils.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-DecompositionUtils.Plo +# $(AM_V_CXX)source='src/cpp/DecompositionUtils.cpp' object='src/cpp/libscigraphic_objects_la-DecompositionUtils.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-DecompositionUtils.lo `test -f 'src/cpp/DecompositionUtils.cpp' || echo '$(srcdir)/'`src/cpp/DecompositionUtils.cpp + +src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo: src/cpp/Fac3DColorComputer.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DColorComputer.Tpo -c -o src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo `test -f 'src/cpp/Fac3DColorComputer.cpp' || echo '$(srcdir)/'`src/cpp/Fac3DColorComputer.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DColorComputer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DColorComputer.Plo +# $(AM_V_CXX)source='src/cpp/Fac3DColorComputer.cpp' object='src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo `test -f 'src/cpp/Fac3DColorComputer.cpp' || echo '$(srcdir)/'`src/cpp/Fac3DColorComputer.cpp + +src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo: src/cpp/Fac3DDecomposer.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo `test -f 'src/cpp/Fac3DDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/Fac3DDecomposer.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DDecomposer.Plo +# $(AM_V_CXX)source='src/cpp/Fac3DDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo `test -f 'src/cpp/Fac3DDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/Fac3DDecomposer.cpp + +src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo: src/cpp/NgonGridDataDecomposer.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridDataDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo `test -f 'src/cpp/NgonGridDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridDataDecomposer.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridDataDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridDataDecomposer.Plo +# $(AM_V_CXX)source='src/cpp/NgonGridDataDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo `test -f 'src/cpp/NgonGridDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridDataDecomposer.cpp + +src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo: src/cpp/NgonGridGrayplotDataDecomposer.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo `test -f 'src/cpp/NgonGridGrayplotDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridGrayplotDataDecomposer.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.Plo +# $(AM_V_CXX)source='src/cpp/NgonGridGrayplotDataDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo `test -f 'src/cpp/NgonGridGrayplotDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridGrayplotDataDecomposer.cpp + +src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo: src/cpp/MatPlotDecomposer.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-MatPlotDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo `test -f 'src/cpp/MatPlotDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/MatPlotDecomposer.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-MatPlotDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-MatPlotDecomposer.Plo +# $(AM_V_CXX)source='src/cpp/MatPlotDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo `test -f 'src/cpp/MatPlotDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/MatPlotDecomposer.cpp + +src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo: src/cpp/NgonGridMatplotDataDecomposer.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo `test -f 'src/cpp/NgonGridMatplotDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridMatplotDataDecomposer.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.Plo +# $(AM_V_CXX)source='src/cpp/NgonGridMatplotDataDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo `test -f 'src/cpp/NgonGridMatplotDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridMatplotDataDecomposer.cpp + +src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo: src/cpp/Plot3DDecomposer.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-Plot3DDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo `test -f 'src/cpp/Plot3DDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/Plot3DDecomposer.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-Plot3DDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-Plot3DDecomposer.Plo +# $(AM_V_CXX)source='src/cpp/Plot3DDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo `test -f 'src/cpp/Plot3DDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/Plot3DDecomposer.cpp + +src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo: src/cpp/PolylineDecomposer.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-PolylineDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo `test -f 'src/cpp/PolylineDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/PolylineDecomposer.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-PolylineDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-PolylineDecomposer.Plo +# $(AM_V_CXX)source='src/cpp/PolylineDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo `test -f 'src/cpp/PolylineDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/PolylineDecomposer.cpp + +src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo: src/cpp/MeshFecDataDecomposer.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecDataDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo `test -f 'src/cpp/MeshFecDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/MeshFecDataDecomposer.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecDataDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecDataDecomposer.Plo +# $(AM_V_CXX)source='src/cpp/MeshFecDataDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo `test -f 'src/cpp/MeshFecDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/MeshFecDataDecomposer.cpp + +src/cpp/libscigraphic_objects_la-Triangulator.lo: src/cpp/Triangulator.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-Triangulator.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-Triangulator.Tpo -c -o src/cpp/libscigraphic_objects_la-Triangulator.lo `test -f 'src/cpp/Triangulator.cpp' || echo '$(srcdir)/'`src/cpp/Triangulator.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-Triangulator.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-Triangulator.Plo +# $(AM_V_CXX)source='src/cpp/Triangulator.cpp' object='src/cpp/libscigraphic_objects_la-Triangulator.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-Triangulator.lo `test -f 'src/cpp/Triangulator.cpp' || echo '$(srcdir)/'`src/cpp/Triangulator.cpp + +src/cpp/libscigraphic_objects_la-ScilabView.lo: src/cpp/ScilabView.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-ScilabView.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-ScilabView.Tpo -c -o src/cpp/libscigraphic_objects_la-ScilabView.lo `test -f 'src/cpp/ScilabView.cpp' || echo '$(srcdir)/'`src/cpp/ScilabView.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-ScilabView.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-ScilabView.Plo +# $(AM_V_CXX)source='src/cpp/ScilabView.cpp' object='src/cpp/libscigraphic_objects_la-ScilabView.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-ScilabView.lo `test -f 'src/cpp/ScilabView.cpp' || echo '$(srcdir)/'`src/cpp/ScilabView.cpp + +src/cpp/libscigraphic_objects_la-FigureList.lo: src/cpp/FigureList.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-FigureList.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureList.Tpo -c -o src/cpp/libscigraphic_objects_la-FigureList.lo `test -f 'src/cpp/FigureList.cpp' || echo '$(srcdir)/'`src/cpp/FigureList.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureList.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureList.Plo +# $(AM_V_CXX)source='src/cpp/FigureList.cpp' object='src/cpp/libscigraphic_objects_la-FigureList.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-FigureList.lo `test -f 'src/cpp/FigureList.cpp' || echo '$(srcdir)/'`src/cpp/FigureList.cpp + +src/cpp/libscigraphic_objects_la-HandleManagement.lo: src/cpp/HandleManagement.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-HandleManagement.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-HandleManagement.Tpo -c -o src/cpp/libscigraphic_objects_la-HandleManagement.lo `test -f 'src/cpp/HandleManagement.cpp' || echo '$(srcdir)/'`src/cpp/HandleManagement.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-HandleManagement.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-HandleManagement.Plo +# $(AM_V_CXX)source='src/cpp/HandleManagement.cpp' object='src/cpp/libscigraphic_objects_la-HandleManagement.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-HandleManagement.lo `test -f 'src/cpp/HandleManagement.cpp' || echo '$(srcdir)/'`src/cpp/HandleManagement.cpp + +src/cpp/libscigraphic_objects_la-AxesModel.lo: src/cpp/AxesModel.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-AxesModel.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-AxesModel.Tpo -c -o src/cpp/libscigraphic_objects_la-AxesModel.lo `test -f 'src/cpp/AxesModel.cpp' || echo '$(srcdir)/'`src/cpp/AxesModel.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-AxesModel.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-AxesModel.Plo +# $(AM_V_CXX)source='src/cpp/AxesModel.cpp' object='src/cpp/libscigraphic_objects_la-AxesModel.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-AxesModel.lo `test -f 'src/cpp/AxesModel.cpp' || echo '$(srcdir)/'`src/cpp/AxesModel.cpp + +src/cpp/libscigraphic_objects_la-FigureModel.lo: src/cpp/FigureModel.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-FigureModel.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureModel.Tpo -c -o src/cpp/libscigraphic_objects_la-FigureModel.lo `test -f 'src/cpp/FigureModel.cpp' || echo '$(srcdir)/'`src/cpp/FigureModel.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureModel.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureModel.Plo +# $(AM_V_CXX)source='src/cpp/FigureModel.cpp' object='src/cpp/libscigraphic_objects_la-FigureModel.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-FigureModel.lo `test -f 'src/cpp/FigureModel.cpp' || echo '$(srcdir)/'`src/cpp/FigureModel.cpp + +src/cpp/libscigraphic_objects_la-CurrentFigure.lo: src/cpp/CurrentFigure.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-CurrentFigure.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentFigure.Tpo -c -o src/cpp/libscigraphic_objects_la-CurrentFigure.lo `test -f 'src/cpp/CurrentFigure.cpp' || echo '$(srcdir)/'`src/cpp/CurrentFigure.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentFigure.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentFigure.Plo +# $(AM_V_CXX)source='src/cpp/CurrentFigure.cpp' object='src/cpp/libscigraphic_objects_la-CurrentFigure.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-CurrentFigure.lo `test -f 'src/cpp/CurrentFigure.cpp' || echo '$(srcdir)/'`src/cpp/CurrentFigure.cpp + +src/cpp/libscigraphic_objects_la-CurrentObject.lo: src/cpp/CurrentObject.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-CurrentObject.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentObject.Tpo -c -o src/cpp/libscigraphic_objects_la-CurrentObject.lo `test -f 'src/cpp/CurrentObject.cpp' || echo '$(srcdir)/'`src/cpp/CurrentObject.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentObject.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentObject.Plo +# $(AM_V_CXX)source='src/cpp/CurrentObject.cpp' object='src/cpp/libscigraphic_objects_la-CurrentObject.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-CurrentObject.lo `test -f 'src/cpp/CurrentObject.cpp' || echo '$(srcdir)/'`src/cpp/CurrentObject.cpp + +src/cpp/libscigraphic_objects_la-CurrentSubwin.lo: src/cpp/CurrentSubwin.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-CurrentSubwin.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentSubwin.Tpo -c -o src/cpp/libscigraphic_objects_la-CurrentSubwin.lo `test -f 'src/cpp/CurrentSubwin.cpp' || echo '$(srcdir)/'`src/cpp/CurrentSubwin.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentSubwin.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentSubwin.Plo +# $(AM_V_CXX)source='src/cpp/CurrentSubwin.cpp' object='src/cpp/libscigraphic_objects_la-CurrentSubwin.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-CurrentSubwin.lo `test -f 'src/cpp/CurrentSubwin.cpp' || echo '$(srcdir)/'`src/cpp/CurrentSubwin.cpp + +src/cpp/libscigraphic_objects_la-createObjectData.lo: src/cpp/createObjectData.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-createObjectData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-createObjectData.Tpo -c -o src/cpp/libscigraphic_objects_la-createObjectData.lo `test -f 'src/cpp/createObjectData.cpp' || echo '$(srcdir)/'`src/cpp/createObjectData.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-createObjectData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-createObjectData.Plo +# $(AM_V_CXX)source='src/cpp/createObjectData.cpp' object='src/cpp/libscigraphic_objects_la-createObjectData.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-createObjectData.lo `test -f 'src/cpp/createObjectData.cpp' || echo '$(srcdir)/'`src/cpp/createObjectData.cpp + +src/cpp/libscigraphic_objects_la-pickSurface.lo: src/cpp/pickSurface.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-pickSurface.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-pickSurface.Tpo -c -o src/cpp/libscigraphic_objects_la-pickSurface.lo `test -f 'src/cpp/pickSurface.cpp' || echo '$(srcdir)/'`src/cpp/pickSurface.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-pickSurface.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-pickSurface.Plo +# $(AM_V_CXX)source='src/cpp/pickSurface.cpp' object='src/cpp/libscigraphic_objects_la-pickSurface.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-pickSurface.lo `test -f 'src/cpp/pickSurface.cpp' || echo '$(srcdir)/'`src/cpp/pickSurface.cpp + +src/cpp/libscigraphic_objects_la-Texture.lo: src/cpp/Texture.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-Texture.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-Texture.Tpo -c -o src/cpp/libscigraphic_objects_la-Texture.lo `test -f 'src/cpp/Texture.cpp' || echo '$(srcdir)/'`src/cpp/Texture.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-Texture.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-Texture.Plo +# $(AM_V_CXX)source='src/cpp/Texture.cpp' object='src/cpp/libscigraphic_objects_la-Texture.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-Texture.lo `test -f 'src/cpp/Texture.cpp' || echo '$(srcdir)/'`src/cpp/Texture.cpp + +src/cpp/libscigraphic_objects_la-NormalGenerator.lo: src/cpp/NormalGenerator.cpp + $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NormalGenerator.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NormalGenerator.Tpo -c -o src/cpp/libscigraphic_objects_la-NormalGenerator.lo `test -f 'src/cpp/NormalGenerator.cpp' || echo '$(srcdir)/'`src/cpp/NormalGenerator.cpp + $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NormalGenerator.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NormalGenerator.Plo +# $(AM_V_CXX)source='src/cpp/NormalGenerator.cpp' object='src/cpp/libscigraphic_objects_la-NormalGenerator.lo' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NormalGenerator.lo `test -f 'src/cpp/NormalGenerator.cpp' || echo '$(srcdir)/'`src/cpp/NormalGenerator.cpp + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf src/cpp/.libs src/cpp/_libs + -rm -rf src/jni/.libs src/jni/_libs + -rm -rf src/nographic_objects/.libs src/nographic_objects/_libs +install-libscigraphic_objects_la_etcDATA: $(libscigraphic_objects_la_etc_DATA) + @$(NORMAL_INSTALL) + @list='$(libscigraphic_objects_la_etc_DATA)'; test -n "$(libscigraphic_objects_la_etcdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscigraphic_objects_la_etcdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscigraphic_objects_la_etcdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscigraphic_objects_la_etcdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscigraphic_objects_la_etcdir)" || exit $$?; \ + done + +uninstall-libscigraphic_objects_la_etcDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscigraphic_objects_la_etc_DATA)'; test -n "$(libscigraphic_objects_la_etcdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscigraphic_objects_la_etcdir)'; $(am__uninstall_files_from_dir) +install-libscigraphic_objects_la_rootDATA: $(libscigraphic_objects_la_root_DATA) + @$(NORMAL_INSTALL) + @list='$(libscigraphic_objects_la_root_DATA)'; test -n "$(libscigraphic_objects_la_rootdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscigraphic_objects_la_rootdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscigraphic_objects_la_rootdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscigraphic_objects_la_rootdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscigraphic_objects_la_rootdir)" || exit $$?; \ + done + +uninstall-libscigraphic_objects_la_rootDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscigraphic_objects_la_root_DATA)'; test -n "$(libscigraphic_objects_la_rootdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscigraphic_objects_la_rootdir)'; $(am__uninstall_files_from_dir) +install-libscigraphic_objects_la_sci_gatewayDATA: $(libscigraphic_objects_la_sci_gateway_DATA) + @$(NORMAL_INSTALL) + @list='$(libscigraphic_objects_la_sci_gateway_DATA)'; test -n "$(libscigraphic_objects_la_sci_gatewaydir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)" || exit $$?; \ + done + +uninstall-libscigraphic_objects_la_sci_gatewayDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscigraphic_objects_la_sci_gateway_DATA)'; test -n "$(libscigraphic_objects_la_sci_gatewaydir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-local +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(LTLIBRARIES) $(DATA) all-local +installdirs: + for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(libscigraphic_objects_la_etcdir)" "$(DESTDIR)$(libscigraphic_objects_la_rootdir)" "$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f src/cpp/$(DEPDIR)/$(am__dirstamp) + -rm -f src/cpp/$(am__dirstamp) + -rm -f src/jni/$(DEPDIR)/$(am__dirstamp) + -rm -f src/jni/$(am__dirstamp) + -rm -f src/nographic_objects/$(DEPDIR)/$(am__dirstamp) + -rm -f src/nographic_objects/$(am__dirstamp) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-am + +clean-am: clean-generic clean-libtool clean-local \ + clean-pkglibLTLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -rf src/cpp/$(DEPDIR) src/jni/$(DEPDIR) src/nographic_objects/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-local distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-data-local \ + install-libscigraphic_objects_la_etcDATA \ + install-libscigraphic_objects_la_rootDATA \ + install-libscigraphic_objects_la_sci_gatewayDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-pkglibLTLIBRARIES + +install-html: install-html-am + +install-html-am: install-html-local + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf src/cpp/$(DEPDIR) src/jni/$(DEPDIR) src/nographic_objects/$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libscigraphic_objects_la_etcDATA \ + uninstall-libscigraphic_objects_la_rootDATA \ + uninstall-libscigraphic_objects_la_sci_gatewayDATA \ + uninstall-pkglibLTLIBRARIES + +.MAKE: all check check-am install install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am \ + check-local clean clean-generic clean-libtool clean-local \ + clean-pkglibLTLIBRARIES cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-local distclean-tags distdir dvi dvi-am html html-am \ + info info-am install install-am install-data install-data-am \ + install-data-local install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am \ + install-html-local install-info install-info-am \ + install-libscigraphic_objects_la_etcDATA \ + install-libscigraphic_objects_la_rootDATA \ + install-libscigraphic_objects_la_sci_gatewayDATA install-man \ + install-pdf install-pdf-am install-pkglibLTLIBRARIES \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am \ + uninstall-libscigraphic_objects_la_etcDATA \ + uninstall-libscigraphic_objects_la_rootDATA \ + uninstall-libscigraphic_objects_la_sci_gatewayDATA \ + uninstall-pkglibLTLIBRARIES + + +# This target enables tests for Scilab +check-local: $(top_builddir)/scilab-bin test + if test -d $(mydatadir)/tests; then \ + @COMMAND="try test_run('$(modulename)');catch exit(-1);end;exit(0)"; export LANG=C; $(top_builddir)/bin/scilab -nwni -nb -e "$$COMMAND"; \ + fi +check-code: + if test -f build.xml; then \ + $(ANT) checkstyle; \ + fi + if test -x "$(SPLINT)"; then \ + $(SPLINT) $(SPLINT_OPTIONS) -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/libs/MALLOC/includes/ -I$(top_srcdir)/modules/localization/includes/ $(INCLUDE_FLAGS) $(CHECK_SRC); \ + fi +java: +# Some configurations needs to export JAVA_HOME in the current env + @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \ + if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ + if test -f build.xml -a $$USEANT -eq 1; then \ + $(ANT); \ + fi + +clean-java: +# Some configurations needs to export JAVA_HOME in the current env + @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \ + if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ + if test -f build.xml -a $$USEANT -eq 1; then \ + $(ANT) clean; \ + fi; + +# If the user request for the SWIG generation of the wrappers Java => C/C++ +# We call the target swig-build on the variable SWIG_WRAPPERS + +#swig: $(SWIG_WRAPPERS) +# @SWIG_PACKAGENAME=org.scilab.modules.$(modulename); \ +# SWIG_OUTDIR=src/java/org/scilab/modules/$(modulename)/; \ +# if test -n "$(SWIG_WRAPPERS)"; then \ +# for file in $(SWIG_WRAPPERS) ; do \ +# echo "Swig process of $$file (Java) ..."; \ +# $(SWIG_BIN) $(SWIG_JAVA) -package $$SWIG_PACKAGENAME -outdir $$SWIG_OUTDIR $$file; \ +# done; \ +# fi + +#swig-scilab: $(SWIG_SCILAB_WRAPPERS) +# @SWIG_OUTDIR=src/swig/; \ +# if test -n "$(SWIG_SCILAB_WRAPPERS)"; then \ +# for file in $(SWIG_SCILAB_WRAPPERS) ; do \ +# echo "Swig process of $$file (Scilab) ..."; \ +# $(SWIG_BIN) $(SWIG_SCILAB) -outdir $$SWIG_OUTDIR $$file; \ +# done; \ +# fi + +# If the user request for the SWIG generation of the wrappers Java => C/C++ +# We call the target swig-build on the variable SWIG_WRAPPERS + +#giws: $(GIWS_WRAPPERS) +# @GIWS_OUTPUTDIR=src/jni/; \ +# MANDATORY_OPTIONS="--throws-exception-on-error --description-file"; \ +# if test -n "$(GIWS_WRAPPERS)"; then \ +# for file in $(GIWS_WRAPPERS) ; do \ +# echo "GIWS process of $$file ..."; \ +# if test -z "$(GIWS_OPTIONS)"; then \ +# $(GIWS_BIN) --disable-return-size-array --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \ +# else \ +# echo "Custom GIWS call with '$$GIWS_OPTIONS'"; \ +# $(GIWS_BIN) $$GIWS_OPTIONS --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \ +# fi \ +# done; \ +# fi + +#giws-exception: +# @GIWS_OUTPUTDIR=src/jni/;\ +# echo "GIWS: Generation of exception class ..."; \ +# $(GIWS_BIN) --generate-exception-class --output-dir $$GIWS_OUTPUTDIR + +macros: + -@( if test ! -x $(top_builddir)/scilab-bin; then \ + echo "Error : Cannot build $< : Scilab has not been built"; \ + else \ + $(top_builddir)/bin/scilab -ns -nwni -e "exec('macros/buildmacros.sce');quit;";\ + fi) + +# Removes the macros +clean-macros: +# Removes macros (*.bin generated from .sci) + @for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \ + echo "rm -f $(builddir)/$$dir/$(MACROBINMASK)"; \ + rm -f $(builddir)/$$dir/$(MACROBINMASK); \ + done + +test: +# More tests could be added here + @if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ + if test -f build.xml -a $$USEANT -eq 1; then \ + $(ANT) test; \ + fi + +all-local: $(TARGETS_ALL) + +.sci.bin: + -@( if test ! -x $(top_builddir)/scilab-bin; then \ + echo "Error : Cannot build $< : Scilab has not been build"; \ + else \ + echo "Creating $@"; \ + $(top_builddir)/bin/scilab -ns -nwni -e "exec('$(abs_srcdir)/$<');save('$(abs_srcdir)/$@');exit;"; \ + fi ) + +install-html-local: + +install-data-local-local: +# Mainly for javasci + @if test -d $(srcdir)/javadoc; then \ + cp -R $(srcdir)/javadoc $(DESTDIR)/$(mydatadir)/; \ + fi +# If the user wants the help sources to be installed + @echo "-------- Install of XML sources of help files --------"; \ + for lang in $(ALL_LINGUAS); do \ + if test -d $(srcdir)/help/$$lang; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/$$lang && \ + if ls -lLd $(srcdir)/help/$$lang/$(DOCMASKXML) >/dev/null 2>&1; then \ + for file in $(srcdir)/help/$$lang/$(DOCMASKXML) ; do \ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/$$lang" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/$$lang ; \ + done ; \ + fi; \ + fi; \ + done; \ + @echo "-------- Install of MathML sources --------"; \ + if test -d $(srcdir)/help/mml/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/mml/ && \ + if ls -lLd $(srcdir)/help/mml/$(DOCMASKMML) >/dev/null 2>&1; then \ + for file in $(srcdir)/help/mml/$(DOCMASKMML) ; do \ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/mml" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/mml ; \ + done ; \ + fi; \ + fi +install-data-local: +# Install the tests + @echo "-------- Install tests (if any) --------"; \ + for dir in $(TESTS_DIR) $(TESTS_DIREXT) ; do \ + if test -d $(srcdir)/$$dir/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \ + for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \ + if test -d "$(srcdir)/$$dir/$$file"; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir/$$file; \ + $(mkinstalldirs) "$(DESTDIR)$(pkgmacrosdir)/$$dir/$$file"; \ + else \ + echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \ + $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \ + fi \ + done; \ + fi; \ + done +# Install the help chapter + @echo "-------- Install the help chapter (if any) --------"; \ + for lang in $(HELP_CHAPTERLANG); do \ + HELPFILE=$(srcdir)/$(HELP_CHAPTERDIR)$$lang/$(HELP_CHAPTERFILE); \ + if test -f $$HELPFILE; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \ + echo $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \ + $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \ + fi; \ + done +# Install the demos & examples + @echo "-------- Install demos & examples (if any) --------"; \ + for dir in $(DEMOS_DIR) $(DEMOS_DIREXT) $(EXAMPLES_DIR) $(EXAMPLES_DIREXT) ; do \ + if test -d $(srcdir)/$$dir/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir && \ + for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \ + if test -d "$(srcdir)/$$dir/$$file"; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir/$$file; \ + $(mkinstalldirs) "$(DESTDIR)$(pkgdocdir)/$$dir/$$file"; \ + else \ + echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \ + $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \ + fi \ + done; \ + fi; \ + done +# Install the macros + @echo "-------- Install macros (if any) --------"; \ + for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \ + $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \ + if test -d $(srcdir)/$$dir/; then \ + FILELIST="$(srcdir)/$$dir/$(MACROMASK) $(srcdir)/$$dir/$(MACROBINMASK) $(srcdir)/$$dir/$(MACROBUILDMASK) $(srcdir)/$$dir/names $(srcdir)/$$dir/lib";\ + if test -n "$(MACROSSPECIALEXT)"; then \ + specialExtDir=""; \ + for specialExt in $(MACROSSPECIALEXT); do \ + specialExtDir="$$specialExtDir $(srcdir)/$$dir/$$specialExt"; \ + done; \ + FILELIST="$$FILELIST $$specialExtDir"; \ + fi; \ + for file in `ls -1 $$FILELIST 2>/dev/null`; do \ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgmacrosdir)/$$dir" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgmacrosdir)/$$dir ; \ + done; \ + fi; \ + done +# Install java files (.jar) + @if ls -lLd $(srcdir)/$(JARDIR)$(JARMASK) >/dev/null 2>&1; then \ + echo "-------- Install jar files --------"; \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(JARDIR); \ + for file in $(srcdir)/$(JARDIR)$(JARMASK); do\ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/$(JARDIR)" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/$(JARDIR) ; \ + done ; \ + fi + +########### CLEAN ################### +# Clean help (generated automatically by Scilab) +# It used to clean the macro (clean-macros) but this was causing +# make clean && make to fail Scilab startup +clean-local: clean-java +#clean-local: + +distclean-local: + rm -f $(builddir)/help/*/.last_successful_build_javaHelp $(builddir)/help/*/.list_* + +.PHONY: macros java swig giws + $(AM_CPPFLAGS) + $(AM_CPPFLAGS) + +includes/graphicObjectsProperties.h: Makefile.am src/scripts/propertiesMap.properties + @$(top_srcdir)/modules/graphic_objects/src/scripts/genPropertiesName.sh --C $(top_srcdir)/modules/graphic_objects/src/scripts/propertiesMap.properties $(top_srcdir)/modules/graphic_objects/includes/graphicObjectProperties.h + @$(top_srcdir)/modules/graphic_objects/src/scripts/genPropertiesName.sh --java $(top_srcdir)/modules/graphic_objects/src/scripts/propertiesMap.properties $(top_srcdir)/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/graphic_objects/Makefile.am b/modules/graphic_objects/Makefile.am new file mode 100755 index 000000000..26010b1f6 --- /dev/null +++ b/modules/graphic_objects/Makefile.am @@ -0,0 +1,152 @@ +# +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) DIGITEO - 2010 - Allan CORNET +# +# This file must be used under the terms of the CeCILL. +# This source file is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at +# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +# + +#### Target ###### +modulename=graphic_objects + + +#### graphic_objects : Conf files #### +libscigraphic_objects_la_rootdir = $(mydatadir) +libscigraphic_objects_la_root_DATA = changelog.txt license.txt readme.txt + + +#### graphic_objects : init scripts #### +libscigraphic_objects_la_etcdir = $(mydatadir)/etc +libscigraphic_objects_la_etc_DATA = etc/graphic_objects.quit \ + etc/graphic_objects.start + +include $(top_srcdir)/Makefile.incl.am + +BUILT_SOURCES = includes/graphicObjectsProperties.h +#This file is also generated, but can not be listed to prevent GCJ call. +#src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java + +GRAPHIC_OBJECTS_JNI_SOURCES = src/jni/CallGraphicController.cpp \ + src/jni/Builder.cpp \ + src/jni/CallXmlLoader.cpp + +GRAPHIC_OBJECTS_C_SOURCES = src/jni/DataLoader_wrap.c \ + src/jni/ScilabNativeView_wrap.c \ + src/jni/PolylineData_wrap.c \ + src/jni/SurfaceData_wrap.c \ + src/jni/ObjectData_wrap.c + +GRAPHIC_OBJECTS_CXX_SOURCES = src/cpp/createGraphicObject.cpp \ + src/cpp/getGraphicObjectProperty.cpp \ + src/cpp/getConsoleIdentifier.cpp \ + src/cpp/setGraphicObjectProperty.cpp \ + src/cpp/deleteGraphicObject.cpp \ + src/cpp/dataModel.cpp \ + src/cpp/Data3D.cpp \ + src/cpp/DataLoader.cpp \ + src/cpp/NgonData.cpp \ + src/cpp/NgonGeneralData.cpp \ + src/cpp/NgonGridData.cpp \ + src/cpp/NgonGridMatplotData.cpp \ + src/cpp/NgonPolylineData.cpp \ + src/cpp/MeshData.cpp \ + src/cpp/MeshFecData.cpp \ + src/cpp/ColorComputer.cpp \ + src/cpp/DecompositionUtils.cpp \ + src/cpp/Fac3DColorComputer.cpp \ + src/cpp/Fac3DDecomposer.cpp \ + src/cpp/NgonGridDataDecomposer.cpp \ + src/cpp/NgonGridGrayplotDataDecomposer.cpp \ + src/cpp/MatPlotDecomposer.cpp \ + src/cpp/NgonGridMatplotDataDecomposer.cpp \ + src/cpp/Plot3DDecomposer.cpp \ + src/cpp/PolylineDecomposer.cpp \ + src/cpp/MeshFecDataDecomposer.cpp \ + src/cpp/Triangulator.cpp \ + src/cpp/ScilabView.cpp \ + src/cpp/FigureList.cpp \ + src/cpp/HandleManagement.cpp \ + src/cpp/AxesModel.cpp \ + src/cpp/FigureModel.cpp \ + src/cpp/CurrentFigure.cpp \ + src/cpp/CurrentObject.cpp \ + src/cpp/CurrentSubwin.cpp \ + src/cpp/createObjectData.cpp \ + src/cpp/pickSurface.cpp \ + src/cpp/Texture.cpp \ + src/cpp/NormalGenerator.cpp + +GIWS_WRAPPERS = src/jni/graphic_objects.giws.xml \ + src/jni/builder.giws.xml + +if GIWS +BUILT_SOURCES += giws +endif + + +libscigraphic_objects_la_CPPFLAGS = $(JAVA_JNI_INCLUDE) \ + -I$(srcdir)/includes/ \ + -I$(srcdir)/src/cpp/ \ + -I$(srcdir)/src/c/ \ + -I$(srcdir)/src/jni/ \ + -I$(top_srcdir)/modules/api_scilab/includes/ \ + -I$(top_srcdir)/modules/commons/src/jni/ \ + -I$(top_srcdir)/modules/core/includes/ \ + -I$(top_srcdir)/modules/jvm/includes/ \ + -I$(top_srcdir)/modules/localization/includes/ \ + -I$(top_srcdir)/modules/output_stream/includes/ + $(AM_CPPFLAGS) + +# Without the graphic_objects module +libscigraphic_objects_disable_la_CPPFLAGS = -I$(srcdir)/includes/ \ + -I$(top_srcdir)/modules/localization/includes/ \ + -I$(top_srcdir)/modules/output_stream/includes/ + $(AM_CPPFLAGS) + +GRAPHIC_OBJECTS_DISABLE_C_SOURCES = src/nographic_objects/nographic_objects.c +libscigraphic_objects_disable_la_SOURCES = $(GRAPHIC_OBJECTS_DISABLE_C_SOURCES) + +pkglib_LTLIBRARIES = libscigraphic_objects-disable.la + +if GUI +pkglib_LTLIBRARIES += libscigraphic_objects.la +endif + +libscigraphic_objects_la_LDFLAGS = $(AM_LDFLAGS) + +libscigraphic_objects_la_SOURCES = $(GRAPHIC_OBJECTS_GEN_SOURCES) $(GRAPHIC_OBJECTS_C_SOURCES) $(GRAPHIC_OBJECTS_JNI_SOURCES) $(GATEWAY_C_SOURCES) $(GATEWAY_CXX_SOURCES) $(GRAPHIC_OBJECTS_CXX_SOURCES) + +# For the code check (splint) +CHECK_SRC= $(GRAPHIC_OBJECTS_C_SOURCES) $(GATEWAY_C_SOURCES) +INCLUDE_FLAGS = $(libscigraphic_objects_la_CPPFLAGS) + + +#### SWIG Declaration #### +SWIG_WRAPPERS = src/jni/DataLoader.i \ + src/jni/ScilabNativeView.i \ + src/jni/PolylineData.i \ + src/jni/SurfaceData.i \ + src/jni/graphic_objects.i \ + src/jni/ObjectData.i + +if SWIG +BUILT_SOURCES+=swig +endif + +libscigraphic_objects_la_LIBADD = $(top_builddir)/modules/output_stream/libscioutput_stream.la $(X_LIBS) $(X_EXTRA_LIBS) + + +#### graphic_objects : gateway declaration #### +libscigraphic_objects_la_sci_gatewaydir = $(mydatadir)/sci_gateway +libscigraphic_objects_la_sci_gateway_DATA = sci_gateway/graphic_objects_gateway.xml + +includes/graphicObjectsProperties.h: Makefile.am src/scripts/propertiesMap.properties + @$(top_srcdir)/modules/graphic_objects/src/scripts/genPropertiesName.sh --C $(top_srcdir)/modules/graphic_objects/src/scripts/propertiesMap.properties $(top_srcdir)/modules/graphic_objects/includes/graphicObjectProperties.h + @$(top_srcdir)/modules/graphic_objects/src/scripts/genPropertiesName.sh --java $(top_srcdir)/modules/graphic_objects/src/scripts/propertiesMap.properties $(top_srcdir)/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java + +if GUI +USEANT=1 +endif diff --git a/modules/graphic_objects/Makefile.in b/modules/graphic_objects/Makefile.in new file mode 100755 index 000000000..e43838e4e --- /dev/null +++ b/modules/graphic_objects/Makefile.in @@ -0,0 +1,1960 @@ +# Makefile.in generated by automake 1.14.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) DIGITEO - 2010 - Allan CORNET +# +# This file must be used under the terms of the CeCILL. +# This source file is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at +# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +# + +# Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +# Copyright (C) 2006-2008 - INRIA - Sylvestre LEDRU <sylvestre.ledru@inria.fr> +# Copyright (C) 2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr> +# +# This file must be used under the terms of the CeCILL. +# This source file is licensed as described in the file COPYING, which +# you should have received as part of this distribution. The terms +# are also available at +# http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +# + +########## +### Makefile included stuff +### Target, variable, suffixes which are supposed to be useful in every makefile.am +########## + + +VPATH = @srcdir@ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = $(top_srcdir)/Makefile.incl.am $(srcdir)/Makefile.in \ + $(srcdir)/Makefile.am $(top_srcdir)/config/mkinstalldirs \ + $(top_srcdir)/config/depcomp +@NEED_JAVA_TRUE@am__append_1 = java +@GIWS_TRUE@am__append_2 = giws +@GUI_TRUE@am__append_3 = libscigraphic_objects.la +@SWIG_TRUE@am__append_4 = swig +subdir = modules/graphic_objects +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/backtrace.m4 \ + $(top_srcdir)/m4/compiler.m4 $(top_srcdir)/m4/curl.m4 \ + $(top_srcdir)/m4/docbook.m4 $(top_srcdir)/m4/doxygen.m4 \ + $(top_srcdir)/m4/fftw.m4 $(top_srcdir)/m4/fortran.m4 \ + $(top_srcdir)/m4/giws.m4 $(top_srcdir)/m4/hdf5.m4 \ + $(top_srcdir)/m4/intel_compiler.m4 \ + $(top_srcdir)/m4/java-thirdparty.m4 $(top_srcdir)/m4/java.m4 \ + $(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/libsmath.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/libxml2.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/macosx.m4 \ + $(top_srcdir)/m4/mpi.m4 $(top_srcdir)/m4/ocaml.m4 \ + $(top_srcdir)/m4/pcre.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/relocatable.m4 $(top_srcdir)/m4/swig.m4 \ + $(top_srcdir)/m4/symlinks.m4 $(top_srcdir)/m4/tcltk.m4 \ + $(top_srcdir)/m4/umfpack.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/modules/core/includes/machine.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(pkglibdir)" \ + "$(DESTDIR)$(libscigraphic_objects_la_etcdir)" \ + "$(DESTDIR)$(libscigraphic_objects_la_rootdir)" \ + "$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)" +LTLIBRARIES = $(pkglib_LTLIBRARIES) +libscigraphic_objects_disable_la_LIBADD = +am__dirstamp = $(am__leading_dot)dirstamp +am__objects_1 = src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo +am_libscigraphic_objects_disable_la_OBJECTS = $(am__objects_1) +libscigraphic_objects_disable_la_OBJECTS = \ + $(am_libscigraphic_objects_disable_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +am__DEPENDENCIES_1 = +libscigraphic_objects_la_DEPENDENCIES = \ + $(top_builddir)/modules/output_stream/libscioutput_stream.la \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +am__objects_2 = src/jni/libscigraphic_objects_la-DataLoader_wrap.lo \ + src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo \ + src/jni/libscigraphic_objects_la-PolylineData_wrap.lo \ + src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo \ + src/jni/libscigraphic_objects_la-ObjectData_wrap.lo +am__objects_3 = \ + src/jni/libscigraphic_objects_la-CallGraphicController.lo \ + src/jni/libscigraphic_objects_la-Builder.lo \ + src/jni/libscigraphic_objects_la-CallXmlLoader.lo +am__objects_4 = \ + src/cpp/libscigraphic_objects_la-createGraphicObject.lo \ + src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo \ + src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo \ + src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo \ + src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo \ + src/cpp/libscigraphic_objects_la-dataModel.lo \ + src/cpp/libscigraphic_objects_la-Data3D.lo \ + src/cpp/libscigraphic_objects_la-DataLoader.lo \ + src/cpp/libscigraphic_objects_la-NgonData.lo \ + src/cpp/libscigraphic_objects_la-NgonGeneralData.lo \ + src/cpp/libscigraphic_objects_la-NgonGridData.lo \ + src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo \ + src/cpp/libscigraphic_objects_la-NgonPolylineData.lo \ + src/cpp/libscigraphic_objects_la-MeshData.lo \ + src/cpp/libscigraphic_objects_la-MeshFecData.lo \ + src/cpp/libscigraphic_objects_la-ColorComputer.lo \ + src/cpp/libscigraphic_objects_la-DecompositionUtils.lo \ + src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo \ + src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo \ + src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo \ + src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo \ + src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo \ + src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo \ + src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo \ + src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo \ + src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo \ + src/cpp/libscigraphic_objects_la-Triangulator.lo \ + src/cpp/libscigraphic_objects_la-ScilabView.lo \ + src/cpp/libscigraphic_objects_la-FigureList.lo \ + src/cpp/libscigraphic_objects_la-HandleManagement.lo \ + src/cpp/libscigraphic_objects_la-AxesModel.lo \ + src/cpp/libscigraphic_objects_la-FigureModel.lo \ + src/cpp/libscigraphic_objects_la-CurrentFigure.lo \ + src/cpp/libscigraphic_objects_la-CurrentObject.lo \ + src/cpp/libscigraphic_objects_la-CurrentSubwin.lo \ + src/cpp/libscigraphic_objects_la-createObjectData.lo \ + src/cpp/libscigraphic_objects_la-pickSurface.lo \ + src/cpp/libscigraphic_objects_la-Texture.lo \ + src/cpp/libscigraphic_objects_la-NormalGenerator.lo +am_libscigraphic_objects_la_OBJECTS = $(am__objects_2) \ + $(am__objects_3) $(am__objects_4) +libscigraphic_objects_la_OBJECTS = \ + $(am_libscigraphic_objects_la_OBJECTS) +libscigraphic_objects_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(libscigraphic_objects_la_LDFLAGS) \ + $(LDFLAGS) -o $@ +@GUI_TRUE@am_libscigraphic_objects_la_rpath = -rpath $(pkglibdir) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/modules/core/includes +depcomp = $(SHELL) $(top_srcdir)/config/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +SOURCES = $(libscigraphic_objects_disable_la_SOURCES) \ + $(libscigraphic_objects_la_SOURCES) +DIST_SOURCES = $(libscigraphic_objects_disable_la_SOURCES) \ + $(libscigraphic_objects_la_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +DATA = $(libscigraphic_objects_la_etc_DATA) \ + $(libscigraphic_objects_la_root_DATA) \ + $(libscigraphic_objects_la_sci_gateway_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ +ALL_LINGUAS_DOC = @ALL_LINGUAS_DOC@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +ANT = @ANT@ +ANTLR = @ANTLR@ +AR = @AR@ +ARPACK_LIBS = @ARPACK_LIBS@ +ASM3 = @ASM3@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AVALON_FRAMEWORK = @AVALON_FRAMEWORK@ +AWK = @AWK@ +BATIK = @BATIK@ +BLAS_LIBS = @BLAS_LIBS@ +CC = @CC@ +CCACHE = @CCACHE@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CHECKSTYLE = @CHECKSTYLE@ +COBERTURA = @COBERTURA@ +COMMONS_BEANUTILS = @COMMONS_BEANUTILS@ +COMMONS_IO = @COMMONS_IO@ +COMMONS_LOGGING = @COMMONS_LOGGING@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CURL_CFLAGS = @CURL_CFLAGS@ +CURL_CONFIG = @CURL_CONFIG@ +CURL_LIBS = @CURL_LIBS@ +CURL_VERSION = @CURL_VERSION@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEMOTOOLS_ENABLE = @DEMOTOOLS_ENABLE@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DOCBOOK_ROOT = @DOCBOOK_ROOT@ +DOXYGEN_BIN = @DOXYGEN_BIN@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +ECJ = @ECJ@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +FFTW3_LIB = @FFTW3_LIB@ +FFTW_ENABLE = @FFTW_ENABLE@ +FGREP = @FGREP@ +FLEXDOCK = @FLEXDOCK@ +FLIBS = @FLIBS@ +FOP = @FOP@ +FREEHEP_GRAPHICS2D = @FREEHEP_GRAPHICS2D@ +FREEHEP_GRAPHICSIO = @FREEHEP_GRAPHICSIO@ +FREEHEP_GRAPHICSIO_EMF = @FREEHEP_GRAPHICSIO_EMF@ +FREEHEP_IO = @FREEHEP_IO@ +FREEHEP_UTIL = @FREEHEP_UTIL@ +GENHTML = @GENHTML@ +GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ +GIWS_BIN = @GIWS_BIN@ +GLUEGEN2_RT = @GLUEGEN2_RT@ +GMSGFMT = @GMSGFMT@ +GMSGFMT_015 = @GMSGFMT_015@ +GRAPHICS_ENABLE = @GRAPHICS_ENABLE@ +GREP = @GREP@ +GUI_ENABLE = @GUI_ENABLE@ +HDF5_CFLAGS = @HDF5_CFLAGS@ +HDF5_LIBS = @HDF5_LIBS@ +HELP_ENABLE = @HELP_ENABLE@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +JAR = @JAR@ +JAVA = @JAVA@ +JAVAC = @JAVAC@ +JAVAC_DEBUG = @JAVAC_DEBUG@ +JAVADOC = @JAVADOC@ +JAVAH = @JAVAH@ +JAVASCI_ENABLE = @JAVASCI_ENABLE@ +JAVA_ENABLE = @JAVA_ENABLE@ +JAVA_G = @JAVA_G@ +JAVA_HOME = @JAVA_HOME@ +JAVA_JNI_INCLUDE = @JAVA_JNI_INCLUDE@ +JAVA_JNI_LIBS = @JAVA_JNI_LIBS@ +JDB = @JDB@ +JEUCLID_CORE = @JEUCLID_CORE@ +JGRAPHX = @JGRAPHX@ +JHALL = @JHALL@ +JLATEXMATH = @JLATEXMATH@ +JLATEXMATH_FOP = @JLATEXMATH_FOP@ +JOGL2 = @JOGL2@ +JROSETTA_API = @JROSETTA_API@ +JROSETTA_ENGINE = @JROSETTA_ENGINE@ +JUNIT4 = @JUNIT4@ +LAPACK_LIBS = @LAPACK_LIBS@ +LCOV = @LCOV@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBM = @LIBM@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LOGGING_LEVEL = @LOGGING_LEVEL@ +LOOKS = @LOOKS@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MATIO_CFLAGS = @MATIO_CFLAGS@ +MATIO_ENABLE = @MATIO_ENABLE@ +MATIO_LIBS = @MATIO_LIBS@ +MKDIR_P = @MKDIR_P@ +MPI_ENABLE = @MPI_ENABLE@ +MSGCAT = @MSGCAT@ +MSGFMT = @MSGFMT@ +MSGFMT_015 = @MSGFMT_015@ +MSGMERGE = @MSGMERGE@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OCAMLC = @OCAMLC@ +OCAMLDEP = @OCAMLDEP@ +OCAMLLEX = @OCAMLLEX@ +OCAMLOPT = @OCAMLOPT@ +OCAMLYACC = @OCAMLYACC@ +OPENMPI_CC = @OPENMPI_CC@ +OPENMPI_CFLAGS = @OPENMPI_CFLAGS@ +OPENMPI_CXX = @OPENMPI_CXX@ +OPENMPI_CXXFLAGS = @OPENMPI_CXXFLAGS@ +OPENMPI_LIBS = @OPENMPI_LIBS@ +OPENMP_CFLAGS = @OPENMP_CFLAGS@ +OPENMP_CXXFLAGS = @OPENMP_CXXFLAGS@ +OPENMP_ENABLE = @OPENMP_ENABLE@ +OPENMP_LIBS = @OPENMP_LIBS@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PCRE_CFLAGS = @PCRE_CFLAGS@ +PCRE_CONFIG = @PCRE_CONFIG@ +PCRE_LIBS = @PCRE_LIBS@ +PCRE_VERSION = @PCRE_VERSION@ +PKG_CONFIG = @PKG_CONFIG@ +POSUB = @POSUB@ +POW_LIB = @POW_LIB@ +PYTHON = @PYTHON@ +RANLIB = @RANLIB@ +RELOCATABLE = @RELOCATABLE@ +RT_LIB = @RT_LIB@ +SAXON = @SAXON@ +SCILAB_BINARY_VERSION = @SCILAB_BINARY_VERSION@ +SCILAB_LIBRARY_VERSION = @SCILAB_LIBRARY_VERSION@ +SCILAB_VERSION_MAINTENANCE = @SCILAB_VERSION_MAINTENANCE@ +SCILAB_VERSION_MAJOR = @SCILAB_VERSION_MAJOR@ +SCILAB_VERSION_MINOR = @SCILAB_VERSION_MINOR@ +SCIRENDERER = @SCIRENDERER@ +SCIRENDERER_CP = @SCIRENDERER_CP@ +SCI_CFLAGS = @SCI_CFLAGS@ +SCI_CXXFLAGS = @SCI_CXXFLAGS@ +SCI_FFLAGS = @SCI_FFLAGS@ +SCI_LDFLAGS = @SCI_LDFLAGS@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SET_RELOCATABLE = @SET_RELOCATABLE@ +SHELL = @SHELL@ +SKINLF = @SKINLF@ +SPLINT = @SPLINT@ +STRIP = @STRIP@ +SWIG_BIN = @SWIG_BIN@ +SWIG_JAVA = @SWIG_JAVA@ +SWIG_RUNTIME_LIBS_DIR = @SWIG_RUNTIME_LIBS_DIR@ +SWIG_SCILAB = @SWIG_SCILAB@ +TCLTK_LIBS = @TCLTK_LIBS@ +TCL_INC_PATH = @TCL_INC_PATH@ +TK_INC_PATH = @TK_INC_PATH@ +UMFPACK_CFLAGS = @UMFPACK_CFLAGS@ +UMFPACK_ENABLE = @UMFPACK_ENABLE@ +UMFPACK_LIB = @UMFPACK_LIB@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WITH_OCAML = @WITH_OCAML@ +WITH_TKSCI = @WITH_TKSCI@ +XCOS_ENABLE = @XCOS_ENABLE@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +XMKMF = @XMKMF@ +XMLGRAPHICS_COMMONS = @XMLGRAPHICS_COMMONS@ +XML_APIS_EXT = @XML_APIS_EXT@ +XML_CONFIG = @XML_CONFIG@ +XML_FLAGS = @XML_FLAGS@ +XML_LIBS = @XML_LIBS@ +XML_VERSION = @XML_VERSION@ +X_CFLAGS = @X_CFLAGS@ +X_EXTRA_LIBS = @X_EXTRA_LIBS@ +X_LIBS = @X_LIBS@ +X_PRE_LIBS = @X_PRE_LIBS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +ac_ct_F77 = @ac_ct_F77@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +cxx_present = @cxx_present@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ + +#### Target ###### +modulename = graphic_objects + +#### graphic_objects : Conf files #### +libscigraphic_objects_la_rootdir = $(mydatadir) +libscigraphic_objects_la_root_DATA = changelog.txt license.txt readme.txt + +#### graphic_objects : init scripts #### +libscigraphic_objects_la_etcdir = $(mydatadir)/etc +libscigraphic_objects_la_etc_DATA = etc/graphic_objects.quit \ + etc/graphic_objects.start + + +# Where all the Scilab stuff is installed (macros, help, ...) +mydatadir = $(pkgdatadir)/modules/$(modulename) + +# Set AM_* SCI detected settings +AM_CPPFLAGS = $(SCI_CPPFLAGS) +AM_CFLAGS = $(SCI_CFLAGS) +AM_CXXFLAGS = $(SCI_CXXFLAGS) +# append includes to AM_FFLAGS to manage fortran includes +AM_FFLAGS = $(SCI_FFLAGS) -I$(top_srcdir)/modules/core/includes/ + +# Tag shared libraries with the Scilab version +AM_LDFLAGS = $(SCI_LDFLAGS) -version-number $(SCILAB_LIBRARY_VERSION) + +# splint options +SPLINT_OPTIONS = -weak -booltype BOOL + +########################### JAVA ###################################### +#### We are delegating java compilation to ant... Thanks to that +#### the procedure will be the same with Microsoft Windows (C) +#### and Linux/Unix +####################################################################### +TARGETS_ALL = $(am__append_1) + +################ MACROS ###################### +# Rule to build a macro +# NOT USED AT THE MOMENT +SUFFIXES = .sci + +########### INSTALL DOCUMENTATION ################### + +# Install documentation files into the right target +# We do not use the automake mechanism (libxxxx_la_help_fr_DATA) because +# automake needs the html files to be present which is not the case when +# we are building Scilab + +# Where it should be installed +pkgdocdir = $(mydatadir) + +# What is the mask of the help source +DOCMASKXML = *.xml + +# What is the mask of the MathML sources +DOCMASKMML = *.mml + +########### INSTALL DATA ################### +# Install macros, help & demos +# Where it should be installed +pkgmacrosdir = $(mydatadir) +# Which directory we process +MACRODIRS = macros/ +# Mask of the Scilab sources macros +MACROMASK = *.sci +# Mask of the Scilab executable sources macros +MACROBUILDMASK = *.sce +# Mask of the Scilab compiled macros +MACROBINMASK = *.bin +# List of the standard directory for tests +TESTS_DIR = tests/benchmarks tests/nonreg_tests tests/unit_tests tests/java +# Where the demos should be installed +pkgdemosdir = $(mydatadir) +# List of the standard directory for demos +DEMOS_DIR = demos +# List of the standard directory for examples +EXAMPLES_DIR = examples +# Where to export JAVA archives (.jar) +JARDIR = jar/ +# JAR files mask +JARMASK = *.jar +# Chapter file +HELP_CHAPTERDIR = help/ +HELP_CHAPTERFILE = addchapter.sce +HELP_CHAPTERLANG = en_US fr_FR pt_BR +BUILT_SOURCES = includes/graphicObjectsProperties.h $(am__append_2) \ + $(am__append_4) +#This file is also generated, but can not be listed to prevent GCJ call. +#src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java +GRAPHIC_OBJECTS_JNI_SOURCES = src/jni/CallGraphicController.cpp \ + src/jni/Builder.cpp \ + src/jni/CallXmlLoader.cpp + +GRAPHIC_OBJECTS_C_SOURCES = src/jni/DataLoader_wrap.c \ + src/jni/ScilabNativeView_wrap.c \ + src/jni/PolylineData_wrap.c \ + src/jni/SurfaceData_wrap.c \ + src/jni/ObjectData_wrap.c + +GRAPHIC_OBJECTS_CXX_SOURCES = src/cpp/createGraphicObject.cpp \ + src/cpp/getGraphicObjectProperty.cpp \ + src/cpp/getConsoleIdentifier.cpp \ + src/cpp/setGraphicObjectProperty.cpp \ + src/cpp/deleteGraphicObject.cpp \ + src/cpp/dataModel.cpp \ + src/cpp/Data3D.cpp \ + src/cpp/DataLoader.cpp \ + src/cpp/NgonData.cpp \ + src/cpp/NgonGeneralData.cpp \ + src/cpp/NgonGridData.cpp \ + src/cpp/NgonGridMatplotData.cpp \ + src/cpp/NgonPolylineData.cpp \ + src/cpp/MeshData.cpp \ + src/cpp/MeshFecData.cpp \ + src/cpp/ColorComputer.cpp \ + src/cpp/DecompositionUtils.cpp \ + src/cpp/Fac3DColorComputer.cpp \ + src/cpp/Fac3DDecomposer.cpp \ + src/cpp/NgonGridDataDecomposer.cpp \ + src/cpp/NgonGridGrayplotDataDecomposer.cpp \ + src/cpp/MatPlotDecomposer.cpp \ + src/cpp/NgonGridMatplotDataDecomposer.cpp \ + src/cpp/Plot3DDecomposer.cpp \ + src/cpp/PolylineDecomposer.cpp \ + src/cpp/MeshFecDataDecomposer.cpp \ + src/cpp/Triangulator.cpp \ + src/cpp/ScilabView.cpp \ + src/cpp/FigureList.cpp \ + src/cpp/HandleManagement.cpp \ + src/cpp/AxesModel.cpp \ + src/cpp/FigureModel.cpp \ + src/cpp/CurrentFigure.cpp \ + src/cpp/CurrentObject.cpp \ + src/cpp/CurrentSubwin.cpp \ + src/cpp/createObjectData.cpp \ + src/cpp/pickSurface.cpp \ + src/cpp/Texture.cpp \ + src/cpp/NormalGenerator.cpp + +GIWS_WRAPPERS = src/jni/graphic_objects.giws.xml \ + src/jni/builder.giws.xml + +libscigraphic_objects_la_CPPFLAGS = $(JAVA_JNI_INCLUDE) \ + -I$(srcdir)/includes/ \ + -I$(srcdir)/src/cpp/ \ + -I$(srcdir)/src/c/ \ + -I$(srcdir)/src/jni/ \ + -I$(top_srcdir)/modules/api_scilab/includes/ \ + -I$(top_srcdir)/modules/commons/src/jni/ \ + -I$(top_srcdir)/modules/core/includes/ \ + -I$(top_srcdir)/modules/jvm/includes/ \ + -I$(top_srcdir)/modules/localization/includes/ \ + -I$(top_srcdir)/modules/output_stream/includes/ + + +# Without the graphic_objects module +libscigraphic_objects_disable_la_CPPFLAGS = -I$(srcdir)/includes/ \ + -I$(top_srcdir)/modules/localization/includes/ \ + -I$(top_srcdir)/modules/output_stream/includes/ + +GRAPHIC_OBJECTS_DISABLE_C_SOURCES = src/nographic_objects/nographic_objects.c +libscigraphic_objects_disable_la_SOURCES = $(GRAPHIC_OBJECTS_DISABLE_C_SOURCES) +pkglib_LTLIBRARIES = libscigraphic_objects-disable.la $(am__append_3) +libscigraphic_objects_la_LDFLAGS = $(AM_LDFLAGS) +libscigraphic_objects_la_SOURCES = $(GRAPHIC_OBJECTS_GEN_SOURCES) $(GRAPHIC_OBJECTS_C_SOURCES) $(GRAPHIC_OBJECTS_JNI_SOURCES) $(GATEWAY_C_SOURCES) $(GATEWAY_CXX_SOURCES) $(GRAPHIC_OBJECTS_CXX_SOURCES) + +# For the code check (splint) +CHECK_SRC = $(GRAPHIC_OBJECTS_C_SOURCES) $(GATEWAY_C_SOURCES) +INCLUDE_FLAGS = $(libscigraphic_objects_la_CPPFLAGS) + +#### SWIG Declaration #### +SWIG_WRAPPERS = src/jni/DataLoader.i \ + src/jni/ScilabNativeView.i \ + src/jni/PolylineData.i \ + src/jni/SurfaceData.i \ + src/jni/graphic_objects.i \ + src/jni/ObjectData.i + +libscigraphic_objects_la_LIBADD = $(top_builddir)/modules/output_stream/libscioutput_stream.la $(X_LIBS) $(X_EXTRA_LIBS) + +#### graphic_objects : gateway declaration #### +libscigraphic_objects_la_sci_gatewaydir = $(mydatadir)/sci_gateway +libscigraphic_objects_la_sci_gateway_DATA = sci_gateway/graphic_objects_gateway.xml +@GUI_TRUE@USEANT = 1 +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .sci .bin .c .cpp .lo .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.incl.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign modules/graphic_objects/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign modules/graphic_objects/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; +$(top_srcdir)/Makefile.incl.am: + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +install-pkglibLTLIBRARIES: $(pkglib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + list2=; for p in $$list; do \ + if test -f $$p; then \ + list2="$$list2 $$p"; \ + else :; fi; \ + done; \ + test -z "$$list2" || { \ + echo " $(MKDIR_P) '$(DESTDIR)$(pkglibdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" || exit 1; \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(pkglibdir)'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(pkglibdir)"; \ + } + +uninstall-pkglibLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(pkglib_LTLIBRARIES)'; test -n "$(pkglibdir)" || list=; \ + for p in $$list; do \ + $(am__strip_dir) \ + echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(pkglibdir)/$$f'"; \ + $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(pkglibdir)/$$f"; \ + done + +clean-pkglibLTLIBRARIES: + -test -z "$(pkglib_LTLIBRARIES)" || rm -f $(pkglib_LTLIBRARIES) + @list='$(pkglib_LTLIBRARIES)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } +src/nographic_objects/$(am__dirstamp): + @$(MKDIR_P) src/nographic_objects + @: > src/nographic_objects/$(am__dirstamp) +src/nographic_objects/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/nographic_objects/$(DEPDIR) + @: > src/nographic_objects/$(DEPDIR)/$(am__dirstamp) +src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo: \ + src/nographic_objects/$(am__dirstamp) \ + src/nographic_objects/$(DEPDIR)/$(am__dirstamp) + +libscigraphic_objects-disable.la: $(libscigraphic_objects_disable_la_OBJECTS) $(libscigraphic_objects_disable_la_DEPENDENCIES) $(EXTRA_libscigraphic_objects_disable_la_DEPENDENCIES) + $(AM_V_CCLD)$(LINK) -rpath $(pkglibdir) $(libscigraphic_objects_disable_la_OBJECTS) $(libscigraphic_objects_disable_la_LIBADD) $(LIBS) +src/jni/$(am__dirstamp): + @$(MKDIR_P) src/jni + @: > src/jni/$(am__dirstamp) +src/jni/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/jni/$(DEPDIR) + @: > src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-DataLoader_wrap.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-PolylineData_wrap.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-ObjectData_wrap.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-CallGraphicController.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-Builder.lo: src/jni/$(am__dirstamp) \ + src/jni/$(DEPDIR)/$(am__dirstamp) +src/jni/libscigraphic_objects_la-CallXmlLoader.lo: \ + src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp) +src/cpp/$(am__dirstamp): + @$(MKDIR_P) src/cpp + @: > src/cpp/$(am__dirstamp) +src/cpp/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) src/cpp/$(DEPDIR) + @: > src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-createGraphicObject.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-dataModel.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-Data3D.lo: src/cpp/$(am__dirstamp) \ + src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-DataLoader.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonData.lo: src/cpp/$(am__dirstamp) \ + src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonGeneralData.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonGridData.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonPolylineData.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-MeshData.lo: src/cpp/$(am__dirstamp) \ + src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-MeshFecData.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-ColorComputer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-DecompositionUtils.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-Triangulator.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-ScilabView.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-FigureList.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-HandleManagement.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-AxesModel.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-FigureModel.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-CurrentFigure.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-CurrentObject.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-CurrentSubwin.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-createObjectData.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-pickSurface.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-Texture.lo: src/cpp/$(am__dirstamp) \ + src/cpp/$(DEPDIR)/$(am__dirstamp) +src/cpp/libscigraphic_objects_la-NormalGenerator.lo: \ + src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp) + +libscigraphic_objects.la: $(libscigraphic_objects_la_OBJECTS) $(libscigraphic_objects_la_DEPENDENCIES) $(EXTRA_libscigraphic_objects_la_DEPENDENCIES) + $(AM_V_CXXLD)$(libscigraphic_objects_la_LINK) $(am_libscigraphic_objects_la_rpath) $(libscigraphic_objects_la_OBJECTS) $(libscigraphic_objects_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f src/cpp/*.$(OBJEXT) + -rm -f src/cpp/*.lo + -rm -f src/jni/*.$(OBJEXT) + -rm -f src/jni/*.lo + -rm -f src/nographic_objects/*.$(OBJEXT) + -rm -f src/nographic_objects/*.lo + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-AxesModel.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-ColorComputer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentFigure.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentObject.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentSubwin.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-Data3D.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-DataLoader.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-DecompositionUtils.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DColorComputer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DDecomposer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureList.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureModel.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-HandleManagement.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-MatPlotDecomposer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshData.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecData.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecDataDecomposer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonData.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGeneralData.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridData.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridDataDecomposer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotData.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonPolylineData.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-NormalGenerator.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-Plot3DDecomposer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-PolylineDecomposer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-ScilabView.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-Texture.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-Triangulator.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-createGraphicObject.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-createObjectData.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-dataModel.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-deleteGraphicObject.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-getConsoleIdentifier.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-getGraphicObjectProperty.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-pickSurface.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-setGraphicObjectProperty.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-Builder.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-CallGraphicController.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-CallXmlLoader.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-DataLoader_wrap.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-ObjectData_wrap.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-PolylineData_wrap.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-ScilabNativeView_wrap.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-SurfaceData_wrap.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@src/nographic_objects/$(DEPDIR)/libscigraphic_objects_disable_la-nographic_objects.Plo@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo: src/nographic_objects/nographic_objects.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_disable_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo -MD -MP -MF src/nographic_objects/$(DEPDIR)/libscigraphic_objects_disable_la-nographic_objects.Tpo -c -o src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo `test -f 'src/nographic_objects/nographic_objects.c' || echo '$(srcdir)/'`src/nographic_objects/nographic_objects.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/nographic_objects/$(DEPDIR)/libscigraphic_objects_disable_la-nographic_objects.Tpo src/nographic_objects/$(DEPDIR)/libscigraphic_objects_disable_la-nographic_objects.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/nographic_objects/nographic_objects.c' object='src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_disable_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo `test -f 'src/nographic_objects/nographic_objects.c' || echo '$(srcdir)/'`src/nographic_objects/nographic_objects.c + +src/jni/libscigraphic_objects_la-DataLoader_wrap.lo: src/jni/DataLoader_wrap.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/jni/libscigraphic_objects_la-DataLoader_wrap.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-DataLoader_wrap.Tpo -c -o src/jni/libscigraphic_objects_la-DataLoader_wrap.lo `test -f 'src/jni/DataLoader_wrap.c' || echo '$(srcdir)/'`src/jni/DataLoader_wrap.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-DataLoader_wrap.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-DataLoader_wrap.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/jni/DataLoader_wrap.c' object='src/jni/libscigraphic_objects_la-DataLoader_wrap.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/jni/libscigraphic_objects_la-DataLoader_wrap.lo `test -f 'src/jni/DataLoader_wrap.c' || echo '$(srcdir)/'`src/jni/DataLoader_wrap.c + +src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo: src/jni/ScilabNativeView_wrap.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-ScilabNativeView_wrap.Tpo -c -o src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo `test -f 'src/jni/ScilabNativeView_wrap.c' || echo '$(srcdir)/'`src/jni/ScilabNativeView_wrap.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-ScilabNativeView_wrap.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-ScilabNativeView_wrap.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/jni/ScilabNativeView_wrap.c' object='src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo `test -f 'src/jni/ScilabNativeView_wrap.c' || echo '$(srcdir)/'`src/jni/ScilabNativeView_wrap.c + +src/jni/libscigraphic_objects_la-PolylineData_wrap.lo: src/jni/PolylineData_wrap.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/jni/libscigraphic_objects_la-PolylineData_wrap.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-PolylineData_wrap.Tpo -c -o src/jni/libscigraphic_objects_la-PolylineData_wrap.lo `test -f 'src/jni/PolylineData_wrap.c' || echo '$(srcdir)/'`src/jni/PolylineData_wrap.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-PolylineData_wrap.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-PolylineData_wrap.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/jni/PolylineData_wrap.c' object='src/jni/libscigraphic_objects_la-PolylineData_wrap.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/jni/libscigraphic_objects_la-PolylineData_wrap.lo `test -f 'src/jni/PolylineData_wrap.c' || echo '$(srcdir)/'`src/jni/PolylineData_wrap.c + +src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo: src/jni/SurfaceData_wrap.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-SurfaceData_wrap.Tpo -c -o src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo `test -f 'src/jni/SurfaceData_wrap.c' || echo '$(srcdir)/'`src/jni/SurfaceData_wrap.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-SurfaceData_wrap.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-SurfaceData_wrap.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/jni/SurfaceData_wrap.c' object='src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo `test -f 'src/jni/SurfaceData_wrap.c' || echo '$(srcdir)/'`src/jni/SurfaceData_wrap.c + +src/jni/libscigraphic_objects_la-ObjectData_wrap.lo: src/jni/ObjectData_wrap.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT src/jni/libscigraphic_objects_la-ObjectData_wrap.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-ObjectData_wrap.Tpo -c -o src/jni/libscigraphic_objects_la-ObjectData_wrap.lo `test -f 'src/jni/ObjectData_wrap.c' || echo '$(srcdir)/'`src/jni/ObjectData_wrap.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-ObjectData_wrap.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-ObjectData_wrap.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/jni/ObjectData_wrap.c' object='src/jni/libscigraphic_objects_la-ObjectData_wrap.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o src/jni/libscigraphic_objects_la-ObjectData_wrap.lo `test -f 'src/jni/ObjectData_wrap.c' || echo '$(srcdir)/'`src/jni/ObjectData_wrap.c + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< + +src/jni/libscigraphic_objects_la-CallGraphicController.lo: src/jni/CallGraphicController.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/jni/libscigraphic_objects_la-CallGraphicController.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-CallGraphicController.Tpo -c -o src/jni/libscigraphic_objects_la-CallGraphicController.lo `test -f 'src/jni/CallGraphicController.cpp' || echo '$(srcdir)/'`src/jni/CallGraphicController.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-CallGraphicController.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-CallGraphicController.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/jni/CallGraphicController.cpp' object='src/jni/libscigraphic_objects_la-CallGraphicController.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/jni/libscigraphic_objects_la-CallGraphicController.lo `test -f 'src/jni/CallGraphicController.cpp' || echo '$(srcdir)/'`src/jni/CallGraphicController.cpp + +src/jni/libscigraphic_objects_la-Builder.lo: src/jni/Builder.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/jni/libscigraphic_objects_la-Builder.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-Builder.Tpo -c -o src/jni/libscigraphic_objects_la-Builder.lo `test -f 'src/jni/Builder.cpp' || echo '$(srcdir)/'`src/jni/Builder.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-Builder.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-Builder.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/jni/Builder.cpp' object='src/jni/libscigraphic_objects_la-Builder.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/jni/libscigraphic_objects_la-Builder.lo `test -f 'src/jni/Builder.cpp' || echo '$(srcdir)/'`src/jni/Builder.cpp + +src/jni/libscigraphic_objects_la-CallXmlLoader.lo: src/jni/CallXmlLoader.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/jni/libscigraphic_objects_la-CallXmlLoader.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-CallXmlLoader.Tpo -c -o src/jni/libscigraphic_objects_la-CallXmlLoader.lo `test -f 'src/jni/CallXmlLoader.cpp' || echo '$(srcdir)/'`src/jni/CallXmlLoader.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-CallXmlLoader.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-CallXmlLoader.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/jni/CallXmlLoader.cpp' object='src/jni/libscigraphic_objects_la-CallXmlLoader.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/jni/libscigraphic_objects_la-CallXmlLoader.lo `test -f 'src/jni/CallXmlLoader.cpp' || echo '$(srcdir)/'`src/jni/CallXmlLoader.cpp + +src/cpp/libscigraphic_objects_la-createGraphicObject.lo: src/cpp/createGraphicObject.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-createGraphicObject.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-createGraphicObject.Tpo -c -o src/cpp/libscigraphic_objects_la-createGraphicObject.lo `test -f 'src/cpp/createGraphicObject.cpp' || echo '$(srcdir)/'`src/cpp/createGraphicObject.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-createGraphicObject.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-createGraphicObject.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/createGraphicObject.cpp' object='src/cpp/libscigraphic_objects_la-createGraphicObject.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-createGraphicObject.lo `test -f 'src/cpp/createGraphicObject.cpp' || echo '$(srcdir)/'`src/cpp/createGraphicObject.cpp + +src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo: src/cpp/getGraphicObjectProperty.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-getGraphicObjectProperty.Tpo -c -o src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo `test -f 'src/cpp/getGraphicObjectProperty.cpp' || echo '$(srcdir)/'`src/cpp/getGraphicObjectProperty.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-getGraphicObjectProperty.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-getGraphicObjectProperty.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/getGraphicObjectProperty.cpp' object='src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo `test -f 'src/cpp/getGraphicObjectProperty.cpp' || echo '$(srcdir)/'`src/cpp/getGraphicObjectProperty.cpp + +src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo: src/cpp/getConsoleIdentifier.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-getConsoleIdentifier.Tpo -c -o src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo `test -f 'src/cpp/getConsoleIdentifier.cpp' || echo '$(srcdir)/'`src/cpp/getConsoleIdentifier.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-getConsoleIdentifier.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-getConsoleIdentifier.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/getConsoleIdentifier.cpp' object='src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo `test -f 'src/cpp/getConsoleIdentifier.cpp' || echo '$(srcdir)/'`src/cpp/getConsoleIdentifier.cpp + +src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo: src/cpp/setGraphicObjectProperty.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-setGraphicObjectProperty.Tpo -c -o src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo `test -f 'src/cpp/setGraphicObjectProperty.cpp' || echo '$(srcdir)/'`src/cpp/setGraphicObjectProperty.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-setGraphicObjectProperty.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-setGraphicObjectProperty.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/setGraphicObjectProperty.cpp' object='src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo `test -f 'src/cpp/setGraphicObjectProperty.cpp' || echo '$(srcdir)/'`src/cpp/setGraphicObjectProperty.cpp + +src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo: src/cpp/deleteGraphicObject.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-deleteGraphicObject.Tpo -c -o src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo `test -f 'src/cpp/deleteGraphicObject.cpp' || echo '$(srcdir)/'`src/cpp/deleteGraphicObject.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-deleteGraphicObject.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-deleteGraphicObject.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/deleteGraphicObject.cpp' object='src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo `test -f 'src/cpp/deleteGraphicObject.cpp' || echo '$(srcdir)/'`src/cpp/deleteGraphicObject.cpp + +src/cpp/libscigraphic_objects_la-dataModel.lo: src/cpp/dataModel.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-dataModel.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-dataModel.Tpo -c -o src/cpp/libscigraphic_objects_la-dataModel.lo `test -f 'src/cpp/dataModel.cpp' || echo '$(srcdir)/'`src/cpp/dataModel.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-dataModel.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-dataModel.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/dataModel.cpp' object='src/cpp/libscigraphic_objects_la-dataModel.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-dataModel.lo `test -f 'src/cpp/dataModel.cpp' || echo '$(srcdir)/'`src/cpp/dataModel.cpp + +src/cpp/libscigraphic_objects_la-Data3D.lo: src/cpp/Data3D.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-Data3D.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-Data3D.Tpo -c -o src/cpp/libscigraphic_objects_la-Data3D.lo `test -f 'src/cpp/Data3D.cpp' || echo '$(srcdir)/'`src/cpp/Data3D.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-Data3D.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-Data3D.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/Data3D.cpp' object='src/cpp/libscigraphic_objects_la-Data3D.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-Data3D.lo `test -f 'src/cpp/Data3D.cpp' || echo '$(srcdir)/'`src/cpp/Data3D.cpp + +src/cpp/libscigraphic_objects_la-DataLoader.lo: src/cpp/DataLoader.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-DataLoader.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-DataLoader.Tpo -c -o src/cpp/libscigraphic_objects_la-DataLoader.lo `test -f 'src/cpp/DataLoader.cpp' || echo '$(srcdir)/'`src/cpp/DataLoader.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-DataLoader.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-DataLoader.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/DataLoader.cpp' object='src/cpp/libscigraphic_objects_la-DataLoader.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-DataLoader.lo `test -f 'src/cpp/DataLoader.cpp' || echo '$(srcdir)/'`src/cpp/DataLoader.cpp + +src/cpp/libscigraphic_objects_la-NgonData.lo: src/cpp/NgonData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonData.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonData.lo `test -f 'src/cpp/NgonData.cpp' || echo '$(srcdir)/'`src/cpp/NgonData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonData.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/NgonData.cpp' object='src/cpp/libscigraphic_objects_la-NgonData.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonData.lo `test -f 'src/cpp/NgonData.cpp' || echo '$(srcdir)/'`src/cpp/NgonData.cpp + +src/cpp/libscigraphic_objects_la-NgonGeneralData.lo: src/cpp/NgonGeneralData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonGeneralData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGeneralData.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonGeneralData.lo `test -f 'src/cpp/NgonGeneralData.cpp' || echo '$(srcdir)/'`src/cpp/NgonGeneralData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGeneralData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGeneralData.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/NgonGeneralData.cpp' object='src/cpp/libscigraphic_objects_la-NgonGeneralData.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonGeneralData.lo `test -f 'src/cpp/NgonGeneralData.cpp' || echo '$(srcdir)/'`src/cpp/NgonGeneralData.cpp + +src/cpp/libscigraphic_objects_la-NgonGridData.lo: src/cpp/NgonGridData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonGridData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridData.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonGridData.lo `test -f 'src/cpp/NgonGridData.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridData.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/NgonGridData.cpp' object='src/cpp/libscigraphic_objects_la-NgonGridData.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonGridData.lo `test -f 'src/cpp/NgonGridData.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridData.cpp + +src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo: src/cpp/NgonGridMatplotData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotData.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo `test -f 'src/cpp/NgonGridMatplotData.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridMatplotData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotData.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/NgonGridMatplotData.cpp' object='src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo `test -f 'src/cpp/NgonGridMatplotData.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridMatplotData.cpp + +src/cpp/libscigraphic_objects_la-NgonPolylineData.lo: src/cpp/NgonPolylineData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonPolylineData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonPolylineData.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonPolylineData.lo `test -f 'src/cpp/NgonPolylineData.cpp' || echo '$(srcdir)/'`src/cpp/NgonPolylineData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonPolylineData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonPolylineData.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/NgonPolylineData.cpp' object='src/cpp/libscigraphic_objects_la-NgonPolylineData.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonPolylineData.lo `test -f 'src/cpp/NgonPolylineData.cpp' || echo '$(srcdir)/'`src/cpp/NgonPolylineData.cpp + +src/cpp/libscigraphic_objects_la-MeshData.lo: src/cpp/MeshData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-MeshData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshData.Tpo -c -o src/cpp/libscigraphic_objects_la-MeshData.lo `test -f 'src/cpp/MeshData.cpp' || echo '$(srcdir)/'`src/cpp/MeshData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshData.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/MeshData.cpp' object='src/cpp/libscigraphic_objects_la-MeshData.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-MeshData.lo `test -f 'src/cpp/MeshData.cpp' || echo '$(srcdir)/'`src/cpp/MeshData.cpp + +src/cpp/libscigraphic_objects_la-MeshFecData.lo: src/cpp/MeshFecData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-MeshFecData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecData.Tpo -c -o src/cpp/libscigraphic_objects_la-MeshFecData.lo `test -f 'src/cpp/MeshFecData.cpp' || echo '$(srcdir)/'`src/cpp/MeshFecData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecData.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/MeshFecData.cpp' object='src/cpp/libscigraphic_objects_la-MeshFecData.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-MeshFecData.lo `test -f 'src/cpp/MeshFecData.cpp' || echo '$(srcdir)/'`src/cpp/MeshFecData.cpp + +src/cpp/libscigraphic_objects_la-ColorComputer.lo: src/cpp/ColorComputer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-ColorComputer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-ColorComputer.Tpo -c -o src/cpp/libscigraphic_objects_la-ColorComputer.lo `test -f 'src/cpp/ColorComputer.cpp' || echo '$(srcdir)/'`src/cpp/ColorComputer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-ColorComputer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-ColorComputer.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/ColorComputer.cpp' object='src/cpp/libscigraphic_objects_la-ColorComputer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-ColorComputer.lo `test -f 'src/cpp/ColorComputer.cpp' || echo '$(srcdir)/'`src/cpp/ColorComputer.cpp + +src/cpp/libscigraphic_objects_la-DecompositionUtils.lo: src/cpp/DecompositionUtils.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-DecompositionUtils.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-DecompositionUtils.Tpo -c -o src/cpp/libscigraphic_objects_la-DecompositionUtils.lo `test -f 'src/cpp/DecompositionUtils.cpp' || echo '$(srcdir)/'`src/cpp/DecompositionUtils.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-DecompositionUtils.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-DecompositionUtils.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/DecompositionUtils.cpp' object='src/cpp/libscigraphic_objects_la-DecompositionUtils.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-DecompositionUtils.lo `test -f 'src/cpp/DecompositionUtils.cpp' || echo '$(srcdir)/'`src/cpp/DecompositionUtils.cpp + +src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo: src/cpp/Fac3DColorComputer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DColorComputer.Tpo -c -o src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo `test -f 'src/cpp/Fac3DColorComputer.cpp' || echo '$(srcdir)/'`src/cpp/Fac3DColorComputer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DColorComputer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DColorComputer.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/Fac3DColorComputer.cpp' object='src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo `test -f 'src/cpp/Fac3DColorComputer.cpp' || echo '$(srcdir)/'`src/cpp/Fac3DColorComputer.cpp + +src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo: src/cpp/Fac3DDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo `test -f 'src/cpp/Fac3DDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/Fac3DDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-Fac3DDecomposer.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/Fac3DDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo `test -f 'src/cpp/Fac3DDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/Fac3DDecomposer.cpp + +src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo: src/cpp/NgonGridDataDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridDataDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo `test -f 'src/cpp/NgonGridDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridDataDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridDataDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridDataDecomposer.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/NgonGridDataDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo `test -f 'src/cpp/NgonGridDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridDataDecomposer.cpp + +src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo: src/cpp/NgonGridGrayplotDataDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo `test -f 'src/cpp/NgonGridGrayplotDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridGrayplotDataDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/NgonGridGrayplotDataDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo `test -f 'src/cpp/NgonGridGrayplotDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridGrayplotDataDecomposer.cpp + +src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo: src/cpp/MatPlotDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-MatPlotDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo `test -f 'src/cpp/MatPlotDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/MatPlotDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-MatPlotDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-MatPlotDecomposer.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/MatPlotDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo `test -f 'src/cpp/MatPlotDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/MatPlotDecomposer.cpp + +src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo: src/cpp/NgonGridMatplotDataDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo `test -f 'src/cpp/NgonGridMatplotDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridMatplotDataDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/NgonGridMatplotDataDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo `test -f 'src/cpp/NgonGridMatplotDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/NgonGridMatplotDataDecomposer.cpp + +src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo: src/cpp/Plot3DDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-Plot3DDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo `test -f 'src/cpp/Plot3DDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/Plot3DDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-Plot3DDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-Plot3DDecomposer.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/Plot3DDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo `test -f 'src/cpp/Plot3DDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/Plot3DDecomposer.cpp + +src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo: src/cpp/PolylineDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-PolylineDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo `test -f 'src/cpp/PolylineDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/PolylineDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-PolylineDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-PolylineDecomposer.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/PolylineDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo `test -f 'src/cpp/PolylineDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/PolylineDecomposer.cpp + +src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo: src/cpp/MeshFecDataDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecDataDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo `test -f 'src/cpp/MeshFecDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/MeshFecDataDecomposer.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecDataDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-MeshFecDataDecomposer.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/MeshFecDataDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo `test -f 'src/cpp/MeshFecDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/MeshFecDataDecomposer.cpp + +src/cpp/libscigraphic_objects_la-Triangulator.lo: src/cpp/Triangulator.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-Triangulator.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-Triangulator.Tpo -c -o src/cpp/libscigraphic_objects_la-Triangulator.lo `test -f 'src/cpp/Triangulator.cpp' || echo '$(srcdir)/'`src/cpp/Triangulator.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-Triangulator.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-Triangulator.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/Triangulator.cpp' object='src/cpp/libscigraphic_objects_la-Triangulator.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-Triangulator.lo `test -f 'src/cpp/Triangulator.cpp' || echo '$(srcdir)/'`src/cpp/Triangulator.cpp + +src/cpp/libscigraphic_objects_la-ScilabView.lo: src/cpp/ScilabView.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-ScilabView.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-ScilabView.Tpo -c -o src/cpp/libscigraphic_objects_la-ScilabView.lo `test -f 'src/cpp/ScilabView.cpp' || echo '$(srcdir)/'`src/cpp/ScilabView.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-ScilabView.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-ScilabView.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/ScilabView.cpp' object='src/cpp/libscigraphic_objects_la-ScilabView.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-ScilabView.lo `test -f 'src/cpp/ScilabView.cpp' || echo '$(srcdir)/'`src/cpp/ScilabView.cpp + +src/cpp/libscigraphic_objects_la-FigureList.lo: src/cpp/FigureList.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-FigureList.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureList.Tpo -c -o src/cpp/libscigraphic_objects_la-FigureList.lo `test -f 'src/cpp/FigureList.cpp' || echo '$(srcdir)/'`src/cpp/FigureList.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureList.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureList.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/FigureList.cpp' object='src/cpp/libscigraphic_objects_la-FigureList.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-FigureList.lo `test -f 'src/cpp/FigureList.cpp' || echo '$(srcdir)/'`src/cpp/FigureList.cpp + +src/cpp/libscigraphic_objects_la-HandleManagement.lo: src/cpp/HandleManagement.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-HandleManagement.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-HandleManagement.Tpo -c -o src/cpp/libscigraphic_objects_la-HandleManagement.lo `test -f 'src/cpp/HandleManagement.cpp' || echo '$(srcdir)/'`src/cpp/HandleManagement.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-HandleManagement.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-HandleManagement.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/HandleManagement.cpp' object='src/cpp/libscigraphic_objects_la-HandleManagement.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-HandleManagement.lo `test -f 'src/cpp/HandleManagement.cpp' || echo '$(srcdir)/'`src/cpp/HandleManagement.cpp + +src/cpp/libscigraphic_objects_la-AxesModel.lo: src/cpp/AxesModel.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-AxesModel.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-AxesModel.Tpo -c -o src/cpp/libscigraphic_objects_la-AxesModel.lo `test -f 'src/cpp/AxesModel.cpp' || echo '$(srcdir)/'`src/cpp/AxesModel.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-AxesModel.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-AxesModel.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/AxesModel.cpp' object='src/cpp/libscigraphic_objects_la-AxesModel.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-AxesModel.lo `test -f 'src/cpp/AxesModel.cpp' || echo '$(srcdir)/'`src/cpp/AxesModel.cpp + +src/cpp/libscigraphic_objects_la-FigureModel.lo: src/cpp/FigureModel.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-FigureModel.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureModel.Tpo -c -o src/cpp/libscigraphic_objects_la-FigureModel.lo `test -f 'src/cpp/FigureModel.cpp' || echo '$(srcdir)/'`src/cpp/FigureModel.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureModel.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-FigureModel.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/FigureModel.cpp' object='src/cpp/libscigraphic_objects_la-FigureModel.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-FigureModel.lo `test -f 'src/cpp/FigureModel.cpp' || echo '$(srcdir)/'`src/cpp/FigureModel.cpp + +src/cpp/libscigraphic_objects_la-CurrentFigure.lo: src/cpp/CurrentFigure.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-CurrentFigure.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentFigure.Tpo -c -o src/cpp/libscigraphic_objects_la-CurrentFigure.lo `test -f 'src/cpp/CurrentFigure.cpp' || echo '$(srcdir)/'`src/cpp/CurrentFigure.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentFigure.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentFigure.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/CurrentFigure.cpp' object='src/cpp/libscigraphic_objects_la-CurrentFigure.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-CurrentFigure.lo `test -f 'src/cpp/CurrentFigure.cpp' || echo '$(srcdir)/'`src/cpp/CurrentFigure.cpp + +src/cpp/libscigraphic_objects_la-CurrentObject.lo: src/cpp/CurrentObject.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-CurrentObject.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentObject.Tpo -c -o src/cpp/libscigraphic_objects_la-CurrentObject.lo `test -f 'src/cpp/CurrentObject.cpp' || echo '$(srcdir)/'`src/cpp/CurrentObject.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentObject.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentObject.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/CurrentObject.cpp' object='src/cpp/libscigraphic_objects_la-CurrentObject.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-CurrentObject.lo `test -f 'src/cpp/CurrentObject.cpp' || echo '$(srcdir)/'`src/cpp/CurrentObject.cpp + +src/cpp/libscigraphic_objects_la-CurrentSubwin.lo: src/cpp/CurrentSubwin.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-CurrentSubwin.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentSubwin.Tpo -c -o src/cpp/libscigraphic_objects_la-CurrentSubwin.lo `test -f 'src/cpp/CurrentSubwin.cpp' || echo '$(srcdir)/'`src/cpp/CurrentSubwin.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentSubwin.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-CurrentSubwin.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/CurrentSubwin.cpp' object='src/cpp/libscigraphic_objects_la-CurrentSubwin.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-CurrentSubwin.lo `test -f 'src/cpp/CurrentSubwin.cpp' || echo '$(srcdir)/'`src/cpp/CurrentSubwin.cpp + +src/cpp/libscigraphic_objects_la-createObjectData.lo: src/cpp/createObjectData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-createObjectData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-createObjectData.Tpo -c -o src/cpp/libscigraphic_objects_la-createObjectData.lo `test -f 'src/cpp/createObjectData.cpp' || echo '$(srcdir)/'`src/cpp/createObjectData.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-createObjectData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-createObjectData.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/createObjectData.cpp' object='src/cpp/libscigraphic_objects_la-createObjectData.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-createObjectData.lo `test -f 'src/cpp/createObjectData.cpp' || echo '$(srcdir)/'`src/cpp/createObjectData.cpp + +src/cpp/libscigraphic_objects_la-pickSurface.lo: src/cpp/pickSurface.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-pickSurface.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-pickSurface.Tpo -c -o src/cpp/libscigraphic_objects_la-pickSurface.lo `test -f 'src/cpp/pickSurface.cpp' || echo '$(srcdir)/'`src/cpp/pickSurface.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-pickSurface.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-pickSurface.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/pickSurface.cpp' object='src/cpp/libscigraphic_objects_la-pickSurface.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-pickSurface.lo `test -f 'src/cpp/pickSurface.cpp' || echo '$(srcdir)/'`src/cpp/pickSurface.cpp + +src/cpp/libscigraphic_objects_la-Texture.lo: src/cpp/Texture.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-Texture.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-Texture.Tpo -c -o src/cpp/libscigraphic_objects_la-Texture.lo `test -f 'src/cpp/Texture.cpp' || echo '$(srcdir)/'`src/cpp/Texture.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-Texture.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-Texture.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/Texture.cpp' object='src/cpp/libscigraphic_objects_la-Texture.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-Texture.lo `test -f 'src/cpp/Texture.cpp' || echo '$(srcdir)/'`src/cpp/Texture.cpp + +src/cpp/libscigraphic_objects_la-NormalGenerator.lo: src/cpp/NormalGenerator.cpp +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/cpp/libscigraphic_objects_la-NormalGenerator.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-NormalGenerator.Tpo -c -o src/cpp/libscigraphic_objects_la-NormalGenerator.lo `test -f 'src/cpp/NormalGenerator.cpp' || echo '$(srcdir)/'`src/cpp/NormalGenerator.cpp +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-NormalGenerator.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-NormalGenerator.Plo +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='src/cpp/NormalGenerator.cpp' object='src/cpp/libscigraphic_objects_la-NormalGenerator.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/cpp/libscigraphic_objects_la-NormalGenerator.lo `test -f 'src/cpp/NormalGenerator.cpp' || echo '$(srcdir)/'`src/cpp/NormalGenerator.cpp + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf src/cpp/.libs src/cpp/_libs + -rm -rf src/jni/.libs src/jni/_libs + -rm -rf src/nographic_objects/.libs src/nographic_objects/_libs +install-libscigraphic_objects_la_etcDATA: $(libscigraphic_objects_la_etc_DATA) + @$(NORMAL_INSTALL) + @list='$(libscigraphic_objects_la_etc_DATA)'; test -n "$(libscigraphic_objects_la_etcdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscigraphic_objects_la_etcdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscigraphic_objects_la_etcdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscigraphic_objects_la_etcdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscigraphic_objects_la_etcdir)" || exit $$?; \ + done + +uninstall-libscigraphic_objects_la_etcDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscigraphic_objects_la_etc_DATA)'; test -n "$(libscigraphic_objects_la_etcdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscigraphic_objects_la_etcdir)'; $(am__uninstall_files_from_dir) +install-libscigraphic_objects_la_rootDATA: $(libscigraphic_objects_la_root_DATA) + @$(NORMAL_INSTALL) + @list='$(libscigraphic_objects_la_root_DATA)'; test -n "$(libscigraphic_objects_la_rootdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscigraphic_objects_la_rootdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscigraphic_objects_la_rootdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscigraphic_objects_la_rootdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscigraphic_objects_la_rootdir)" || exit $$?; \ + done + +uninstall-libscigraphic_objects_la_rootDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscigraphic_objects_la_root_DATA)'; test -n "$(libscigraphic_objects_la_rootdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscigraphic_objects_la_rootdir)'; $(am__uninstall_files_from_dir) +install-libscigraphic_objects_la_sci_gatewayDATA: $(libscigraphic_objects_la_sci_gateway_DATA) + @$(NORMAL_INSTALL) + @list='$(libscigraphic_objects_la_sci_gateway_DATA)'; test -n "$(libscigraphic_objects_la_sci_gatewaydir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)" || exit $$?; \ + done + +uninstall-libscigraphic_objects_la_sci_gatewayDATA: + @$(NORMAL_UNINSTALL) + @list='$(libscigraphic_objects_la_sci_gateway_DATA)'; test -n "$(libscigraphic_objects_la_sci_gatewaydir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-local +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-am +all-am: Makefile $(LTLIBRARIES) $(DATA) all-local +installdirs: + for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(libscigraphic_objects_la_etcdir)" "$(DESTDIR)$(libscigraphic_objects_la_rootdir)" "$(DESTDIR)$(libscigraphic_objects_la_sci_gatewaydir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f src/cpp/$(DEPDIR)/$(am__dirstamp) + -rm -f src/cpp/$(am__dirstamp) + -rm -f src/jni/$(DEPDIR)/$(am__dirstamp) + -rm -f src/jni/$(am__dirstamp) + -rm -f src/nographic_objects/$(DEPDIR)/$(am__dirstamp) + -rm -f src/nographic_objects/$(am__dirstamp) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-am + +clean-am: clean-generic clean-libtool clean-local \ + clean-pkglibLTLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -rf src/cpp/$(DEPDIR) src/jni/$(DEPDIR) src/nographic_objects/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-local distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-data-local \ + install-libscigraphic_objects_la_etcDATA \ + install-libscigraphic_objects_la_rootDATA \ + install-libscigraphic_objects_la_sci_gatewayDATA + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-pkglibLTLIBRARIES + +install-html: install-html-am + +install-html-am: install-html-local + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf src/cpp/$(DEPDIR) src/jni/$(DEPDIR) src/nographic_objects/$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-libscigraphic_objects_la_etcDATA \ + uninstall-libscigraphic_objects_la_rootDATA \ + uninstall-libscigraphic_objects_la_sci_gatewayDATA \ + uninstall-pkglibLTLIBRARIES + +.MAKE: all check check-am install install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-am \ + check-local clean clean-generic clean-libtool clean-local \ + clean-pkglibLTLIBRARIES cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-local distclean-tags distdir dvi dvi-am html html-am \ + info info-am install install-am install-data install-data-am \ + install-data-local install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am \ + install-html-local install-info install-info-am \ + install-libscigraphic_objects_la_etcDATA \ + install-libscigraphic_objects_la_rootDATA \ + install-libscigraphic_objects_la_sci_gatewayDATA install-man \ + install-pdf install-pdf-am install-pkglibLTLIBRARIES \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am \ + uninstall-libscigraphic_objects_la_etcDATA \ + uninstall-libscigraphic_objects_la_rootDATA \ + uninstall-libscigraphic_objects_la_sci_gatewayDATA \ + uninstall-pkglibLTLIBRARIES + + +# This target enables tests for Scilab +check-local: $(top_builddir)/scilab-bin test + if test -d $(mydatadir)/tests; then \ + @COMMAND="try test_run('$(modulename)');catch exit(-1);end;exit(0)"; export LANG=C; $(top_builddir)/bin/scilab -nwni -nb -e "$$COMMAND"; \ + fi +check-code: + if test -f build.xml; then \ + $(ANT) checkstyle; \ + fi + if test -x "$(SPLINT)"; then \ + $(SPLINT) $(SPLINT_OPTIONS) -I$(top_srcdir)/modules/core/includes/ -I$(top_srcdir)/libs/MALLOC/includes/ -I$(top_srcdir)/modules/localization/includes/ $(INCLUDE_FLAGS) $(CHECK_SRC); \ + fi +@NEED_JAVA_TRUE@java: +# Some configurations needs to export JAVA_HOME in the current env +@NEED_JAVA_TRUE@ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \ +@NEED_JAVA_TRUE@ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ +@NEED_JAVA_TRUE@ if test -f build.xml -a $$USEANT -eq 1; then \ +@NEED_JAVA_TRUE@ $(ANT); \ +@NEED_JAVA_TRUE@ fi + +@NEED_JAVA_TRUE@clean-java: +# Some configurations needs to export JAVA_HOME in the current env +@NEED_JAVA_TRUE@ @if test "$(JAVA_HOME)"; then export JAVA_HOME=$(JAVA_HOME); fi; \ +@NEED_JAVA_TRUE@ if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ +@NEED_JAVA_TRUE@ if test -f build.xml -a $$USEANT -eq 1; then \ +@NEED_JAVA_TRUE@ $(ANT) clean; \ +@NEED_JAVA_TRUE@ fi; + +# If the user request for the SWIG generation of the wrappers Java => C/C++ +# We call the target swig-build on the variable SWIG_WRAPPERS + +@SWIG_TRUE@swig: $(SWIG_WRAPPERS) +@SWIG_TRUE@ @SWIG_PACKAGENAME=org.scilab.modules.$(modulename); \ +@SWIG_TRUE@ SWIG_OUTDIR=src/java/org/scilab/modules/$(modulename)/; \ +@SWIG_TRUE@ if test -n "$(SWIG_WRAPPERS)"; then \ +@SWIG_TRUE@ for file in $(SWIG_WRAPPERS) ; do \ +@SWIG_TRUE@ echo "Swig process of $$file (Java) ..."; \ +@SWIG_TRUE@ $(SWIG_BIN) $(SWIG_JAVA) -package $$SWIG_PACKAGENAME -outdir $$SWIG_OUTDIR $$file; \ +@SWIG_TRUE@ done; \ +@SWIG_TRUE@ fi + +@SWIG_TRUE@swig-scilab: $(SWIG_SCILAB_WRAPPERS) +@SWIG_TRUE@ @SWIG_OUTDIR=src/swig/; \ +@SWIG_TRUE@ if test -n "$(SWIG_SCILAB_WRAPPERS)"; then \ +@SWIG_TRUE@ for file in $(SWIG_SCILAB_WRAPPERS) ; do \ +@SWIG_TRUE@ echo "Swig process of $$file (Scilab) ..."; \ +@SWIG_TRUE@ $(SWIG_BIN) $(SWIG_SCILAB) -outdir $$SWIG_OUTDIR $$file; \ +@SWIG_TRUE@ done; \ +@SWIG_TRUE@ fi + +# If the user request for the SWIG generation of the wrappers Java => C/C++ +# We call the target swig-build on the variable SWIG_WRAPPERS + +@GIWS_TRUE@giws: $(GIWS_WRAPPERS) +@GIWS_TRUE@ @GIWS_OUTPUTDIR=src/jni/; \ +@GIWS_TRUE@ MANDATORY_OPTIONS="--throws-exception-on-error --description-file"; \ +@GIWS_TRUE@ if test -n "$(GIWS_WRAPPERS)"; then \ +@GIWS_TRUE@ for file in $(GIWS_WRAPPERS) ; do \ +@GIWS_TRUE@ echo "GIWS process of $$file ..."; \ +@GIWS_TRUE@ if test -z "$(GIWS_OPTIONS)"; then \ +@GIWS_TRUE@ $(GIWS_BIN) --disable-return-size-array --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \ +@GIWS_TRUE@ else \ +@GIWS_TRUE@ echo "Custom GIWS call with '$$GIWS_OPTIONS'"; \ +@GIWS_TRUE@ $(GIWS_BIN) $$GIWS_OPTIONS --output-dir $$GIWS_OUTPUTDIR $$MANDATORY_OPTIONS $$file; \ +@GIWS_TRUE@ fi \ +@GIWS_TRUE@ done; \ +@GIWS_TRUE@ fi + +@GIWS_TRUE@giws-exception: +@GIWS_TRUE@ @GIWS_OUTPUTDIR=src/jni/;\ +@GIWS_TRUE@ echo "GIWS: Generation of exception class ..."; \ +@GIWS_TRUE@ $(GIWS_BIN) --generate-exception-class --output-dir $$GIWS_OUTPUTDIR + +macros: + -@( if test ! -x $(top_builddir)/scilab-bin; then \ + echo "Error : Cannot build $< : Scilab has not been built"; \ + else \ + $(top_builddir)/bin/scilab -ns -nwni -e "exec('macros/buildmacros.sce');quit;";\ + fi) + +# Removes the macros +clean-macros: +# Removes macros (*.bin generated from .sci) + @for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \ + echo "rm -f $(builddir)/$$dir/$(MACROBINMASK)"; \ + rm -f $(builddir)/$$dir/$(MACROBINMASK); \ + done + +test: +# More tests could be added here + @if test -z "$(USEANT)"; then USEANT=0; else USEANT=1; fi; \ + if test -f build.xml -a $$USEANT -eq 1; then \ + $(ANT) test; \ + fi + +all-local: $(TARGETS_ALL) + +.sci.bin: + -@( if test ! -x $(top_builddir)/scilab-bin; then \ + echo "Error : Cannot build $< : Scilab has not been build"; \ + else \ + echo "Creating $@"; \ + $(top_builddir)/bin/scilab -ns -nwni -e "exec('$(abs_srcdir)/$<');save('$(abs_srcdir)/$@');exit;"; \ + fi ) + +install-html-local: + +install-data-local-local: +# Mainly for javasci + @if test -d $(srcdir)/javadoc; then \ + cp -R $(srcdir)/javadoc $(DESTDIR)/$(mydatadir)/; \ + fi +# If the user wants the help sources to be installed +@INSTALL_HELP_XML_TRUE@ @echo "-------- Install of XML sources of help files --------"; \ +@INSTALL_HELP_XML_TRUE@ for lang in $(ALL_LINGUAS); do \ +@INSTALL_HELP_XML_TRUE@ if test -d $(srcdir)/help/$$lang; then \ +@INSTALL_HELP_XML_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/$$lang && \ +@INSTALL_HELP_XML_TRUE@ if ls -lLd $(srcdir)/help/$$lang/$(DOCMASKXML) >/dev/null 2>&1; then \ +@INSTALL_HELP_XML_TRUE@ for file in $(srcdir)/help/$$lang/$(DOCMASKXML) ; do \ +@INSTALL_HELP_XML_TRUE@ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/$$lang" ; \ +@INSTALL_HELP_XML_TRUE@ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/$$lang ; \ +@INSTALL_HELP_XML_TRUE@ done ; \ +@INSTALL_HELP_XML_TRUE@ fi; \ +@INSTALL_HELP_XML_TRUE@ fi; \ +@INSTALL_HELP_XML_TRUE@ done; \ +@INSTALL_HELP_XML_TRUE@ @echo "-------- Install of MathML sources --------"; \ +@INSTALL_HELP_XML_TRUE@ if test -d $(srcdir)/help/mml/; then \ +@INSTALL_HELP_XML_TRUE@ $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/help/mml/ && \ +@INSTALL_HELP_XML_TRUE@ if ls -lLd $(srcdir)/help/mml/$(DOCMASKMML) >/dev/null 2>&1; then \ +@INSTALL_HELP_XML_TRUE@ for file in $(srcdir)/help/mml/$(DOCMASKMML) ; do \ +@INSTALL_HELP_XML_TRUE@ echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/help/mml" ; \ +@INSTALL_HELP_XML_TRUE@ $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/help/mml ; \ +@INSTALL_HELP_XML_TRUE@ done ; \ +@INSTALL_HELP_XML_TRUE@ fi; \ +@INSTALL_HELP_XML_TRUE@ fi +install-data-local: +# Install the tests + @echo "-------- Install tests (if any) --------"; \ + for dir in $(TESTS_DIR) $(TESTS_DIREXT) ; do \ + if test -d $(srcdir)/$$dir/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \ + for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \ + if test -d "$(srcdir)/$$dir/$$file"; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir/$$file; \ + $(mkinstalldirs) "$(DESTDIR)$(pkgmacrosdir)/$$dir/$$file"; \ + else \ + echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \ + $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgmacrosdir)/`dirname $$dir/$$file`" ; \ + fi \ + done; \ + fi; \ + done +# Install the help chapter + @echo "-------- Install the help chapter (if any) --------"; \ + for lang in $(HELP_CHAPTERLANG); do \ + HELPFILE=$(srcdir)/$(HELP_CHAPTERDIR)$$lang/$(HELP_CHAPTERFILE); \ + if test -f $$HELPFILE; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(HELP_CHAPTERDIR)/$$lang/; \ + echo $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \ + $(INSTALL_DATA) $$HELPFILE $(DESTDIR)$(pkgdocdir)/$$HELPFILE; \ + fi; \ + done +# Install the demos & examples + @echo "-------- Install demos & examples (if any) --------"; \ + for dir in $(DEMOS_DIR) $(DEMOS_DIREXT) $(EXAMPLES_DIR) $(EXAMPLES_DIREXT) ; do \ + if test -d $(srcdir)/$$dir/; then \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir && \ + for file in `find $(srcdir)/$$dir | sed "s|^$(srcdir)/$$dir||" 2>/dev/null`; do \ + if test -d "$(srcdir)/$$dir/$$file"; then \ + echo $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$$dir/$$file; \ + $(mkinstalldirs) "$(DESTDIR)$(pkgdocdir)/$$dir/$$file"; \ + else \ + echo "$(INSTALL_DATA) $(srcdir)/$$dir/$$file $(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \ + $(INSTALL_DATA) "$(srcdir)/$$dir/$$file" "$(DESTDIR)$(pkgdocdir)/`dirname $$dir/$$file`" ; \ + fi \ + done; \ + fi; \ + done +# Install the macros + @echo "-------- Install macros (if any) --------"; \ + for dir in $(MACRODIRS) $(MACROSDIRSEXT) ; do \ + $(mkinstalldirs) $(DESTDIR)$(pkgmacrosdir)/$$dir && \ + if test -d $(srcdir)/$$dir/; then \ + FILELIST="$(srcdir)/$$dir/$(MACROMASK) $(srcdir)/$$dir/$(MACROBINMASK) $(srcdir)/$$dir/$(MACROBUILDMASK) $(srcdir)/$$dir/names $(srcdir)/$$dir/lib";\ + if test -n "$(MACROSSPECIALEXT)"; then \ + specialExtDir=""; \ + for specialExt in $(MACROSSPECIALEXT); do \ + specialExtDir="$$specialExtDir $(srcdir)/$$dir/$$specialExt"; \ + done; \ + FILELIST="$$FILELIST $$specialExtDir"; \ + fi; \ + for file in `ls -1 $$FILELIST 2>/dev/null`; do \ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgmacrosdir)/$$dir" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgmacrosdir)/$$dir ; \ + done; \ + fi; \ + done +# Install java files (.jar) + @if ls -lLd $(srcdir)/$(JARDIR)$(JARMASK) >/dev/null 2>&1; then \ + echo "-------- Install jar files --------"; \ + $(mkinstalldirs) $(DESTDIR)$(pkgdocdir)/$(JARDIR); \ + for file in $(srcdir)/$(JARDIR)$(JARMASK); do\ + echo "$(INSTALL_DATA) $$file $(DESTDIR)$(pkgdocdir)/$(JARDIR)" ; \ + $(INSTALL_DATA) "$$file" $(DESTDIR)$(pkgdocdir)/$(JARDIR) ; \ + done ; \ + fi + +########### CLEAN ################### +# Clean help (generated automatically by Scilab) +# It used to clean the macro (clean-macros) but this was causing +# make clean && make to fail Scilab startup +@NEED_JAVA_TRUE@clean-local: clean-java +@NEED_JAVA_FALSE@clean-local: + +distclean-local: + rm -f $(builddir)/help/*/.last_successful_build_javaHelp $(builddir)/help/*/.list_* + +.PHONY: macros java swig giws + $(AM_CPPFLAGS) + $(AM_CPPFLAGS) + +includes/graphicObjectsProperties.h: Makefile.am src/scripts/propertiesMap.properties + @$(top_srcdir)/modules/graphic_objects/src/scripts/genPropertiesName.sh --C $(top_srcdir)/modules/graphic_objects/src/scripts/propertiesMap.properties $(top_srcdir)/modules/graphic_objects/includes/graphicObjectProperties.h + @$(top_srcdir)/modules/graphic_objects/src/scripts/genPropertiesName.sh --java $(top_srcdir)/modules/graphic_objects/src/scripts/propertiesMap.properties $(top_srcdir)/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/graphic_objects/build.xml b/modules/graphic_objects/build.xml new file mode 100755 index 000000000..a235a0192 --- /dev/null +++ b/modules/graphic_objects/build.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + --> + +<project name="graphic_objects" default="jar"> + + <import file="../../build.incl.xml"/> + <property name="library.name" value="${library.graphic_objects.name}" /> + + <description> + Build the Scilab graphic_objects module + </description> + +</project> diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/CallGraphicController.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/CallGraphicController.class Binary files differnew file mode 100755 index 000000000..1282e3284 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/CallGraphicController.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/CallXmlLoader.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/CallXmlLoader.class Binary files differnew file mode 100755 index 000000000..1bec6f189 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/CallXmlLoader.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/DataLoader.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/DataLoader.class Binary files differnew file mode 100755 index 000000000..1d83270da --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/DataLoader.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/DataLoaderJNI.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/DataLoaderJNI.class Binary files differnew file mode 100755 index 000000000..4687a64f7 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/DataLoaderJNI.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/JavaObjectLoader.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/JavaObjectLoader.class Binary files differnew file mode 100755 index 000000000..0e698b91f --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/JavaObjectLoader.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/MainDataLoader.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/MainDataLoader.class Binary files differnew file mode 100755 index 000000000..6efc9671a --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/MainDataLoader.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ObjectData.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ObjectData.class Binary files differnew file mode 100755 index 000000000..4aaa38902 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ObjectData.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ObjectDataJNI.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ObjectDataJNI.class Binary files differnew file mode 100755 index 000000000..760c00e3e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ObjectDataJNI.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ObjectRemovedException.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ObjectRemovedException.class Binary files differnew file mode 100755 index 000000000..2acddefd8 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ObjectRemovedException.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/PolylineData.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/PolylineData.class Binary files differnew file mode 100755 index 000000000..aadc89a91 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/PolylineData.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/PolylineDataJNI.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/PolylineDataJNI.class Binary files differnew file mode 100755 index 000000000..7d5c838eb --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/PolylineDataJNI.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ScilabNativeView.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ScilabNativeView.class Binary files differnew file mode 100755 index 000000000..b3a833c50 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ScilabNativeView.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ScilabNativeViewJNI.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ScilabNativeViewJNI.class Binary files differnew file mode 100755 index 000000000..2fa1196f1 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/ScilabNativeViewJNI.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/SurfaceData.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/SurfaceData.class Binary files differnew file mode 100755 index 000000000..97cec565e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/SurfaceData.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/SurfaceDataJNI.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/SurfaceDataJNI.class Binary files differnew file mode 100755 index 000000000..b0f72a303 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/SurfaceDataJNI.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/arc/Arc$ArcDrawingMethod.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/arc/Arc$ArcDrawingMethod.class Binary files differnew file mode 100755 index 000000000..05ffb0925 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/arc/Arc$ArcDrawingMethod.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/arc/Arc$ArcProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/arc/Arc$ArcProperty.class Binary files differnew file mode 100755 index 000000000..0b72cb4b2 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/arc/Arc$ArcProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/arc/Arc.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/arc/Arc.class Binary files differnew file mode 100755 index 000000000..4856c04f0 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/arc/Arc.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/arc/ArcDecomposer.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/arc/ArcDecomposer.class Binary files differnew file mode 100755 index 000000000..e7aebaef9 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/arc/ArcDecomposer.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Axes$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Axes$1.class Binary files differnew file mode 100755 index 000000000..d3b0825dc --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Axes$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Axes$AxesProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Axes$AxesProperty.class Binary files differnew file mode 100755 index 000000000..d3715f529 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Axes$AxesProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Axes$GridPosition.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Axes$GridPosition.class Binary files differnew file mode 100755 index 000000000..3712fc04f --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Axes$GridPosition.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Axes.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Axes.class Binary files differnew file mode 100755 index 000000000..fba52bbbf --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Axes.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/AxesContainer.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/AxesContainer.class Binary files differnew file mode 100755 index 000000000..128c89035 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/AxesContainer.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/AxisProperty$AxisLocation.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/AxisProperty$AxisLocation.class Binary files differnew file mode 100755 index 000000000..b947aff89 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/AxisProperty$AxisLocation.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/AxisProperty$AxisPropertyProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/AxisProperty$AxisPropertyProperty.class Binary files differnew file mode 100755 index 000000000..907822b76 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/AxisProperty$AxisPropertyProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/AxisProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/AxisProperty.class Binary files differnew file mode 100755 index 000000000..ca4773cb8 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/AxisProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Box$BoxProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Box$BoxProperty.class Binary files differnew file mode 100755 index 000000000..ca410e62b --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Box$BoxProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Box$BoxType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Box$BoxType.class Binary files differnew file mode 100755 index 000000000..62dc25e27 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Box$BoxType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Box.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Box.class Binary files differnew file mode 100755 index 000000000..f68d7c1d5 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Box.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Camera$CameraProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Camera$CameraProperty.class Binary files differnew file mode 100755 index 000000000..ffd1df8cc --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Camera$CameraProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Camera$ViewType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Camera$ViewType.class Binary files differnew file mode 100755 index 000000000..2224e5c2a --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Camera$ViewType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Camera.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Camera.class Binary files differnew file mode 100755 index 000000000..f31ab0d1e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/Camera.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/TicksProperty$TicksArrays.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/TicksProperty$TicksArrays.class Binary files differnew file mode 100755 index 000000000..6b6200b2b --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/TicksProperty$TicksArrays.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/TicksProperty$TicksPropertyProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/TicksProperty$TicksPropertyProperty.class Binary files differnew file mode 100755 index 000000000..fff9116e6 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/TicksProperty$TicksPropertyProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/TicksProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/TicksProperty.class Binary files differnew file mode 100755 index 000000000..a2eb107c0 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axes/TicksProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axis/Axis$AxisProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axis/Axis$AxisProperty.class Binary files differnew file mode 100755 index 000000000..dd8ed9ec9 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axis/Axis$AxisProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axis/Axis$TicksDirection.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axis/Axis$TicksDirection.class Binary files differnew file mode 100755 index 000000000..938bc5de8 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axis/Axis$TicksDirection.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axis/Axis.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axis/Axis.class Binary files differnew file mode 100755 index 000000000..c71d75a67 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/axis/Axis.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/builder/Builder.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/builder/Builder.class Binary files differnew file mode 100755 index 000000000..616ba96bd --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/builder/Builder.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/compound/Compound.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/compound/Compound.class Binary files differnew file mode 100755 index 000000000..a7da0a0cf --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/compound/Compound.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/console/Console$ConsoleProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/console/Console$ConsoleProperty.class Binary files differnew file mode 100755 index 000000000..ab805e72c --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/console/Console$ConsoleProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/console/Console$ScilabMode.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/console/Console$ScilabMode.class Binary files differnew file mode 100755 index 000000000..f24d0e936 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/console/Console$ScilabMode.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/console/Console.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/console/Console.class Binary files differnew file mode 100755 index 000000000..a9359bc03 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/console/Console.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/ClippableContouredObject$ClippableContouredObjectPropertyType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/ClippableContouredObject$ClippableContouredObjectPropertyType.class Binary files differnew file mode 100755 index 000000000..993f7ae14 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/ClippableContouredObject$ClippableContouredObjectPropertyType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/ClippableContouredObject.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/ClippableContouredObject.class Binary files differnew file mode 100755 index 000000000..936519f35 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/ClippableContouredObject.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/ContouredObject$ContouredObjectPropertyType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/ContouredObject$ContouredObjectPropertyType.class Binary files differnew file mode 100755 index 000000000..d8f0ee7e9 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/ContouredObject$ContouredObjectPropertyType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/ContouredObject.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/ContouredObject.class Binary files differnew file mode 100755 index 000000000..c3337595d --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/ContouredObject.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Line$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Line$1.class Binary files differnew file mode 100755 index 000000000..03ff86c62 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Line$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Line$LinePropertyType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Line$LinePropertyType.class Binary files differnew file mode 100755 index 000000000..6e83ac732 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Line$LinePropertyType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Line$LineType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Line$LineType.class Binary files differnew file mode 100755 index 000000000..7b8e6572f --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Line$LineType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Line.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Line.class Binary files differnew file mode 100755 index 000000000..480600dd8 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Line.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Mark$MarkPropertyType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Mark$MarkPropertyType.class Binary files differnew file mode 100755 index 000000000..a7a0c266d --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Mark$MarkPropertyType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Mark$MarkSizeUnitType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Mark$MarkSizeUnitType.class Binary files differnew file mode 100755 index 000000000..7a8b3989c --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Mark$MarkSizeUnitType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Mark.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Mark.class Binary files differnew file mode 100755 index 000000000..5defd2417 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/contouredObject/Mark.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/datatip/Datatip$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/datatip/Datatip$1.class Binary files differnew file mode 100755 index 000000000..d94a49fee --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/datatip/Datatip$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/datatip/Datatip$DatatipObjectProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/datatip/Datatip$DatatipObjectProperty.class Binary files differnew file mode 100755 index 000000000..f51f685ce --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/datatip/Datatip$DatatipObjectProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/datatip/Datatip$TipOrientation.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/datatip/Datatip$TipOrientation.class Binary files differnew file mode 100755 index 000000000..3b3dadeb6 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/datatip/Datatip$TipOrientation.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/datatip/Datatip.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/datatip/Datatip.class Binary files differnew file mode 100755 index 000000000..806761f7d --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/datatip/Datatip.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/event/EventHandler.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/event/EventHandler.class Binary files differnew file mode 100755 index 000000000..433ce2f93 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/event/EventHandler.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/fec/Fec$FecProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/fec/Fec$FecProperty.class Binary files differnew file mode 100755 index 000000000..a80fc7363 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/fec/Fec$FecProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/fec/Fec.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/fec/Fec.class Binary files differnew file mode 100755 index 000000000..b61650a83 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/fec/Fec.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/ColorMap.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/ColorMap.class Binary files differnew file mode 100755 index 000000000..9452c41c5 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/ColorMap.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$1.class Binary files differnew file mode 100755 index 000000000..4bb7d854b --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$BarType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$BarType.class Binary files differnew file mode 100755 index 000000000..3b3de61f8 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$BarType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$Canvas.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$Canvas.class Binary files differnew file mode 100755 index 000000000..97b233125 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$Canvas.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$CanvasProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$CanvasProperty.class Binary files differnew file mode 100755 index 000000000..132220cda --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$CanvasProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$EventHandlerProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$EventHandlerProperty.class Binary files differnew file mode 100755 index 000000000..26e088e7c --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$EventHandlerProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureDimensions.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureDimensions.class Binary files differnew file mode 100755 index 000000000..af7c3d0c5 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureDimensions.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureDimensionsProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureDimensionsProperty.class Binary files differnew file mode 100755 index 000000000..9f0bb28fc --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureDimensionsProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureName.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureName.class Binary files differnew file mode 100755 index 000000000..0041f8ab8 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureName.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureNameProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureNameProperty.class Binary files differnew file mode 100755 index 000000000..045ecba3d --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureNameProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureProperty.class Binary files differnew file mode 100755 index 000000000..6f70593d4 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$FigureProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$PixelDrawingMode.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$PixelDrawingMode.class Binary files differnew file mode 100755 index 000000000..93df7bc13 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$PixelDrawingMode.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$RenderingMode.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$RenderingMode.class Binary files differnew file mode 100755 index 000000000..8dc5524da --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$RenderingMode.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$RenderingModeProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$RenderingModeProperty.class Binary files differnew file mode 100755 index 000000000..942fd4f45 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$RenderingModeProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$RotationType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$RotationType.class Binary files differnew file mode 100755 index 000000000..e33854d4c --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure$RotationType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure.class Binary files differnew file mode 100755 index 000000000..13490cc5f --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/figure/Figure.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController$1.class Binary files differnew file mode 100755 index 000000000..1ff2a0754 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController$2.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController$2.class Binary files differnew file mode 100755 index 000000000..8d91440b2 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController$2.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController$3.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController$3.class Binary files differnew file mode 100755 index 000000000..3941439bf --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController$3.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController$4.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController$4.class Binary files differnew file mode 100755 index 000000000..e96ed1fec --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController$4.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController.class Binary files differnew file mode 100755 index 000000000..881d79bc1 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicController/GraphicController.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicModel/GraphicModel$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicModel/GraphicModel$1.class Binary files differnew file mode 100755 index 000000000..4cb8c160b --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicModel/GraphicModel$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicModel/GraphicModel.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicModel/GraphicModel.class Binary files differnew file mode 100755 index 000000000..78f6700d7 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicModel/GraphicModel.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/CallBack.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/CallBack.class Binary files differnew file mode 100755 index 000000000..3fc378c7d --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/CallBack.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/ClippableProperty$ClipStateType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/ClippableProperty$ClipStateType.class Binary files differnew file mode 100755 index 000000000..282b07661 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/ClippableProperty$ClipStateType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/ClippableProperty$ClippablePropertyType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/ClippableProperty$ClippablePropertyType.class Binary files differnew file mode 100755 index 000000000..b27b8e760 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/ClippableProperty$ClippablePropertyType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/ClippableProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/ClippableProperty.class Binary files differnew file mode 100755 index 000000000..993a7d47d --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/ClippableProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicClippableObject$GraphicClippableObjectProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicClippableObject$GraphicClippableObjectProperty.class Binary files differnew file mode 100755 index 000000000..9cd4c7f9a --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicClippableObject$GraphicClippableObjectProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicClippableObject.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicClippableObject.class Binary files differnew file mode 100755 index 000000000..4e0c472f0 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicClippableObject.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject$1.class Binary files differnew file mode 100755 index 000000000..466838c1e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject$GraphicObjectPropertyType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject$GraphicObjectPropertyType.class Binary files differnew file mode 100755 index 000000000..2992bd7e4 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject$GraphicObjectPropertyType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject$Type.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject$Type.class Binary files differnew file mode 100755 index 000000000..bf352fb6e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject$Type.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject$UpdateStatus.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject$UpdateStatus.class Binary files differnew file mode 100755 index 000000000..c94caa00d --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject$UpdateStatus.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject.class Binary files differnew file mode 100755 index 000000000..40dc1752e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObject.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.class Binary files differnew file mode 100755 index 000000000..26d07ae82 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/Visitor.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/Visitor.class Binary files differnew file mode 100755 index 000000000..111b5a38f --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicObject/Visitor.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/FlattenTreeView.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/FlattenTreeView.class Binary files differnew file mode 100755 index 000000000..52830a297 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/FlattenTreeView.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/GedTreeView.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/GedTreeView.class Binary files differnew file mode 100755 index 000000000..5c6faf35e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/GedTreeView.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/GraphicView.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/GraphicView.class Binary files differnew file mode 100755 index 000000000..a1849d440 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/GraphicView.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/GuiLogView.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/GuiLogView.class Binary files differnew file mode 100755 index 000000000..82c6f8abf --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/GuiLogView.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/LogView.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/LogView.class Binary files differnew file mode 100755 index 000000000..d0579177b --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/LogView.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/ScilabView.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/ScilabView.class Binary files differnew file mode 100755 index 000000000..aff8d2060 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/ScilabView.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/TreeView$GraphicObjectNode.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/TreeView$GraphicObjectNode.class Binary files differnew file mode 100755 index 000000000..392c6437a --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/TreeView$GraphicObjectNode.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/TreeView.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/TreeView.class Binary files differnew file mode 100755 index 000000000..87146d15c --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/graphicView/TreeView.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Grayplot$DataMapping.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Grayplot$DataMapping.class Binary files differnew file mode 100755 index 000000000..f1553f114 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Grayplot$DataMapping.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Grayplot$GrayplotProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Grayplot$GrayplotProperty.class Binary files differnew file mode 100755 index 000000000..e6c8846e1 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Grayplot$GrayplotProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Grayplot.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Grayplot.class Binary files differnew file mode 100755 index 000000000..43a0d316e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Grayplot.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Imageplot$ImageplotProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Imageplot$ImageplotProperty.class Binary files differnew file mode 100755 index 000000000..6b619bd8c --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Imageplot$ImageplotProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Imageplot.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Imageplot.class Binary files differnew file mode 100755 index 000000000..c988148c1 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Imageplot.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Matplot.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Matplot.class Binary files differnew file mode 100755 index 000000000..3590d763e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/imageplot/Matplot.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/label/Label$LabelProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/label/Label$LabelProperty.class Binary files differnew file mode 100755 index 000000000..44ecaae1f --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/label/Label$LabelProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/label/Label.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/label/Label.class Binary files differnew file mode 100755 index 000000000..7a27555af --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/label/Label.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/legend/Legend$LegendLocation.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/legend/Legend$LegendLocation.class Binary files differnew file mode 100755 index 000000000..ffab12dcd --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/legend/Legend$LegendLocation.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/legend/Legend$LegendProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/legend/Legend$LegendProperty.class Binary files differnew file mode 100755 index 000000000..55f535d33 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/legend/Legend$LegendProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/legend/Legend.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/legend/Legend.class Binary files differnew file mode 100755 index 000000000..db938a9af --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/legend/Legend.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/ColorTriplet$ColorTripletProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/ColorTriplet$ColorTripletProperty.class Binary files differnew file mode 100755 index 000000000..470533572 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/ColorTriplet$ColorTripletProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/ColorTriplet.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/ColorTriplet.class Binary files differnew file mode 100755 index 000000000..03bf7e932 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/ColorTriplet.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Light$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Light$1.class Binary files differnew file mode 100755 index 000000000..6c0f57534 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Light$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Light$LightProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Light$LightProperty.class Binary files differnew file mode 100755 index 000000000..96e56a004 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Light$LightProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Light$LightType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Light$LightType.class Binary files differnew file mode 100755 index 000000000..d1d5ecbf7 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Light$LightType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Light.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Light.class Binary files differnew file mode 100755 index 000000000..e8801d306 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Light.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Material$MaterialProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Material$MaterialProperty.class Binary files differnew file mode 100755 index 000000000..41e3de9ad --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Material$MaterialProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Material.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Material.class Binary files differnew file mode 100755 index 000000000..ac3170da2 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/lighting/Material.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/polyline/Polyline$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/polyline/Polyline$1.class Binary files differnew file mode 100755 index 000000000..347ed5533 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/polyline/Polyline$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/polyline/Polyline$PolylineProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/polyline/Polyline$PolylineProperty.class Binary files differnew file mode 100755 index 000000000..feb2e427b --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/polyline/Polyline$PolylineProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/polyline/Polyline.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/polyline/Polyline.class Binary files differnew file mode 100755 index 000000000..d605d140c --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/polyline/Polyline.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/rectangle/Rectangle$RectangleProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/rectangle/Rectangle$RectangleProperty.class Binary files differnew file mode 100755 index 000000000..16f40c904 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/rectangle/Rectangle$RectangleProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/rectangle/Rectangle.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/rectangle/Rectangle.class Binary files differnew file mode 100755 index 000000000..c513acc76 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/rectangle/Rectangle.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/rectangle/RectangleDecomposer.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/rectangle/RectangleDecomposer.class Binary files differnew file mode 100755 index 000000000..0d39420d3 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/rectangle/RectangleDecomposer.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Fac3d$DataMapping.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Fac3d$DataMapping.class Binary files differnew file mode 100755 index 000000000..5314bd3d0 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Fac3d$DataMapping.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Fac3d$Fac3dProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Fac3d$Fac3dProperty.class Binary files differnew file mode 100755 index 000000000..0152c8143 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Fac3d$Fac3dProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Fac3d.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Fac3d.class Binary files differnew file mode 100755 index 000000000..12832f09c --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Fac3d.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Plot3d.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Plot3d.class Binary files differnew file mode 100755 index 000000000..8ac3c6008 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Plot3d.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Surface$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Surface$1.class Binary files differnew file mode 100755 index 000000000..f89261571 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Surface$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Surface$SurfaceProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Surface$SurfaceProperty.class Binary files differnew file mode 100755 index 000000000..b1bf0d662 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Surface$SurfaceProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Surface.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Surface.class Binary files differnew file mode 100755 index 000000000..822636869 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/surface/Surface.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/ClippableTextObject$ClippableTextObjectProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/ClippableTextObject$ClippableTextObjectProperty.class Binary files differnew file mode 100755 index 000000000..5cfc673ef --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/ClippableTextObject$ClippableTextObjectProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/ClippableTextObject.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/ClippableTextObject.class Binary files differnew file mode 100755 index 000000000..3bfcdc908 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/ClippableTextObject.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Font$FontProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Font$FontProperty.class Binary files differnew file mode 100755 index 000000000..e43fccfce --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Font$FontProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Font.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Font.class Binary files differnew file mode 100755 index 000000000..653d3d257 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Font.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/FormattedText$FormattedTextProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/FormattedText$FormattedTextProperty.class Binary files differnew file mode 100755 index 000000000..4d7f48dfd --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/FormattedText$FormattedTextProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/FormattedText.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/FormattedText.class Binary files differnew file mode 100755 index 000000000..e0bdbd93c --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/FormattedText.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Text$Alignment.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Text$Alignment.class Binary files differnew file mode 100755 index 000000000..68c76dc90 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Text$Alignment.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Text$TextBoxMode.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Text$TextBoxMode.class Binary files differnew file mode 100755 index 000000000..783b40f3a --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Text$TextBoxMode.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Text$TextProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Text$TextProperty.class Binary files differnew file mode 100755 index 000000000..67e2e0b2f --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Text$TextProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Text.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Text.class Binary files differnew file mode 100755 index 000000000..7875d9538 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/Text.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/TextObject$TextObjectProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/TextObject$TextObjectProperty.class Binary files differnew file mode 100755 index 000000000..621f2f8a1 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/TextObject$TextObjectProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/TextObject.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/TextObject.class Binary files differnew file mode 100755 index 000000000..0b9d249ae --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/textObject/TextObject.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uibar/Uibar$UibarProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uibar/Uibar$UibarProperty.class Binary files differnew file mode 100755 index 000000000..2d7a878d6 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uibar/Uibar$UibarProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uibar/Uibar.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uibar/Uibar.class Binary files differnew file mode 100755 index 000000000..0c742d46d --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uibar/Uibar.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uibar/progressionbar/Progressionbar.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uibar/progressionbar/Progressionbar.class Binary files differnew file mode 100755 index 000000000..8717217d8 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uibar/progressionbar/Progressionbar.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uibar/waitbar/Waitbar.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uibar/waitbar/Waitbar.class Binary files differnew file mode 100755 index 000000000..e908e2bdc --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uibar/waitbar/Waitbar.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontextmenu/Uicontextmenu.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontextmenu/Uicontextmenu.class Binary files differnew file mode 100755 index 000000000..9db026f4a --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontextmenu/Uicontextmenu.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$1.class Binary files differnew file mode 100755 index 000000000..319dea994 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$AnchorType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$AnchorType.class Binary files differnew file mode 100755 index 000000000..66c24b167 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$AnchorType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$BorderLayoutType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$BorderLayoutType.class Binary files differnew file mode 100755 index 000000000..a76b0b2e5 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$BorderLayoutType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$FillType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$FillType.class Binary files differnew file mode 100755 index 000000000..1d9ba0ee3 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$FillType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$TitlePositionType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$TitlePositionType.class Binary files differnew file mode 100755 index 000000000..ff501e09a --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$TitlePositionType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$UicontrolProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$UicontrolProperty.class Binary files differnew file mode 100755 index 000000000..47a97f82e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$UicontrolProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$UicontrolStyle.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$UicontrolStyle.class Binary files differnew file mode 100755 index 000000000..81e4ad6d9 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol$UicontrolStyle.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol.class Binary files differnew file mode 100755 index 000000000..93a6e32bc --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/Uicontrol.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/checkbox/CheckBox.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/checkbox/CheckBox.class Binary files differnew file mode 100755 index 000000000..cf75cd910 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/checkbox/CheckBox.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/edit/Edit.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/edit/Edit.class Binary files differnew file mode 100755 index 000000000..56641cc8d --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/edit/Edit.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/edit/Spinner.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/edit/Spinner.class Binary files differnew file mode 100755 index 000000000..195cf1bad --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/edit/Spinner.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/Frame.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/Frame.class Binary files differnew file mode 100755 index 000000000..e08103e58 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/Frame.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$1.class Binary files differnew file mode 100755 index 000000000..90cb2676b --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$BorderType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$BorderType.class Binary files differnew file mode 100755 index 000000000..b031ace32 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$BorderType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$FrameBorderProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$FrameBorderProperty.class Binary files differnew file mode 100755 index 000000000..41a1d4dcc --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$FrameBorderProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$JustificationType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$JustificationType.class Binary files differnew file mode 100755 index 000000000..293cd7351 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$JustificationType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$TitlePositionType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$TitlePositionType.class Binary files differnew file mode 100755 index 000000000..23cad6ff7 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder$TitlePositionType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder.class Binary files differnew file mode 100755 index 000000000..1644f6713 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorderType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorderType.class Binary files differnew file mode 100755 index 000000000..6eb2f2f35 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorderType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/layer/Layer$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/layer/Layer$1.class Binary files differnew file mode 100755 index 000000000..48051b1b9 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/layer/Layer$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/layer/Layer$LayerProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/layer/Layer$LayerProperty.class Binary files differnew file mode 100755 index 000000000..d253c7087 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/layer/Layer$LayerProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/layer/Layer.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/layer/Layer.class Binary files differnew file mode 100755 index 000000000..0baf06b63 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/layer/Layer.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/listbox/ListBox.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/listbox/ListBox.class Binary files differnew file mode 100755 index 000000000..caf4903cd --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/listbox/ListBox.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/popupmenu/PopupMenu.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/popupmenu/PopupMenu.class Binary files differnew file mode 100755 index 000000000..fc47ae01e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/popupmenu/PopupMenu.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/pushbutton/PushButton.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/pushbutton/PushButton.class Binary files differnew file mode 100755 index 000000000..acbda13e6 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/pushbutton/PushButton.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/radiobutton/RadioButton.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/radiobutton/RadioButton.class Binary files differnew file mode 100755 index 000000000..88a51cc75 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/radiobutton/RadioButton.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/slider/Slider.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/slider/Slider.class Binary files differnew file mode 100755 index 000000000..fd9088c41 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/slider/Slider.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/tab/Tab$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/tab/Tab$1.class Binary files differnew file mode 100755 index 000000000..c1b99cbb8 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/tab/Tab$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/tab/Tab$TabProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/tab/Tab$TabProperty.class Binary files differnew file mode 100755 index 000000000..249f65947 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/tab/Tab$TabProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/tab/Tab.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/tab/Tab.class Binary files differnew file mode 100755 index 000000000..6cd1fe83e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/tab/Tab.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/table/Table.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/table/Table.class Binary files differnew file mode 100755 index 000000000..bbb3c123c --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/table/Table.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/uiimage/UiImage.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/uiimage/UiImage.class Binary files differnew file mode 100755 index 000000000..30f3047c4 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/uiimage/UiImage.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/uitext/UiText.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/uitext/UiText.class Binary files differnew file mode 100755 index 000000000..e38356a2f --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uicontrol/uitext/UiText.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uimenu/Uimenu$UimenuProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uimenu/Uimenu$UimenuProperty.class Binary files differnew file mode 100755 index 000000000..4742b7a2e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uimenu/Uimenu$UimenuProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uimenu/Uimenu.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uimenu/Uimenu.class Binary files differnew file mode 100755 index 000000000..de69e6286 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/uimenu/Uimenu.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/LayoutType$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/LayoutType$1.class Binary files differnew file mode 100755 index 000000000..b9ab22d67 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/LayoutType$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/LayoutType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/LayoutType.class Binary files differnew file mode 100755 index 000000000..39f91d083 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/LayoutType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/MenuBarBuilder$MenuBarConfigurationHandler.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/MenuBarBuilder$MenuBarConfigurationHandler.class Binary files differnew file mode 100755 index 000000000..06ebc65bd --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/MenuBarBuilder$MenuBarConfigurationHandler.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/MenuBarBuilder.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/MenuBarBuilder.class Binary files differnew file mode 100755 index 000000000..783be80cc --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/MenuBarBuilder.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/MenuBarConfiguration.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/MenuBarConfiguration.class Binary files differnew file mode 100755 index 000000000..6251ee715 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/MenuBarConfiguration.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/Utils.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/Utils.class Binary files differnew file mode 100755 index 000000000..119953c56 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/utils/Utils.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Arrow$ArrowProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Arrow$ArrowProperty.class Binary files differnew file mode 100755 index 000000000..146d8573e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Arrow$ArrowProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Arrow.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Arrow.class Binary files differnew file mode 100755 index 000000000..f19e5a7b4 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Arrow.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Champ$ChampProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Champ$ChampProperty.class Binary files differnew file mode 100755 index 000000000..96704d781 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Champ$ChampProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Champ.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Champ.class Binary files differnew file mode 100755 index 000000000..56eb79c30 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Champ.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/ChampDecomposer.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/ChampDecomposer.class Binary files differnew file mode 100755 index 000000000..cb51e01f3 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/ChampDecomposer.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Segs$SegsProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Segs$SegsProperty.class Binary files differnew file mode 100755 index 000000000..085051b3e --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Segs$SegsProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Segs.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Segs.class Binary files differnew file mode 100755 index 000000000..a64ee384b --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/Segs.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/SegsDecomposer.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/SegsDecomposer.class Binary files differnew file mode 100755 index 000000000..56c03ea58 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/SegsDecomposer.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/VectField$VectFieldProperty.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/VectField$VectFieldProperty.class Binary files differnew file mode 100755 index 000000000..9dca6bad9 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/VectField$VectFieldProperty.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/VectField.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/VectField.class Binary files differnew file mode 100755 index 000000000..cffc29631 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/VectField.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/VectFieldDecomposer.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/VectFieldDecomposer.class Binary files differnew file mode 100755 index 000000000..327978a62 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/vectfield/VectFieldDecomposer.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/CSSParser.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/CSSParser.class Binary files differnew file mode 100755 index 000000000..a3d39db6a --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/CSSParser.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/CSSParserException.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/CSSParserException.class Binary files differnew file mode 100755 index 000000000..ed9896bc0 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/CSSParserException.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/GOBuilder$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/GOBuilder$1.class Binary files differnew file mode 100755 index 000000000..79c515ed0 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/GOBuilder$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/GOBuilder.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/GOBuilder.class Binary files differnew file mode 100755 index 000000000..f164de4e9 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/GOBuilder.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/Pair.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/Pair.class Binary files differnew file mode 100755 index 000000000..44ad6f45d --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/Pair.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XMLDomLoader$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XMLDomLoader$1.class Binary files differnew file mode 100755 index 000000000..f08db4f7c --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XMLDomLoader$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XMLDomLoader$ModelType.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XMLDomLoader$ModelType.class Binary files differnew file mode 100755 index 000000000..326a5a436 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XMLDomLoader$ModelType.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XMLDomLoader.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XMLDomLoader.class Binary files differnew file mode 100755 index 000000000..f8fbec15c --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XMLDomLoader.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XmlLoader.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XmlLoader.class Binary files differnew file mode 100755 index 000000000..65aadedc7 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XmlLoader.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XmlSaver$1.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XmlSaver$1.class Binary files differnew file mode 100755 index 000000000..2bc13c7c0 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XmlSaver$1.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XmlSaver.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XmlSaver.class Binary files differnew file mode 100755 index 000000000..ed7d2d636 --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XmlSaver.class diff --git a/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XmlTools.class b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XmlTools.class Binary files differnew file mode 100755 index 000000000..724d0aa1a --- /dev/null +++ b/modules/graphic_objects/build/classes/org/scilab/modules/graphic_objects/xmlloader/XmlTools.class diff --git a/modules/graphic_objects/changelog.txt b/modules/graphic_objects/changelog.txt new file mode 100755 index 000000000..ce4aa992d --- /dev/null +++ b/modules/graphic_objects/changelog.txt @@ -0,0 +1,4 @@ +graphic_objects (0.1-1) stable; urgency=medium + + * First version of the module + diff --git a/modules/graphic_objects/etc/graphic_objects.quit b/modules/graphic_objects/etc/graphic_objects.quit new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/graphic_objects/etc/graphic_objects.quit diff --git a/modules/graphic_objects/etc/graphic_objects.start b/modules/graphic_objects/etc/graphic_objects.start new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/graphic_objects/etc/graphic_objects.start diff --git a/modules/graphic_objects/graphic_objects.iss b/modules/graphic_objects/graphic_objects.iss new file mode 100755 index 000000000..9d12251a0 --- /dev/null +++ b/modules/graphic_objects/graphic_objects.iss @@ -0,0 +1,34 @@ +; +; Scilab ( http://mwww.scilab.org/ ) - This file is part of Scilab +; Copyright (C) 2012 - DIGITEO - Allan CORNET +; Copyright (C) 2015 - Scilab Enterprises - Vincent COUVERT +; +; This file must be used under the terms of the CeCILL. +; This source file is licensed as described in the file COPYING, which +; you should have received as part of this distribution. The terms +; are also available at +; http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +; +;-------------------------------------------------------------------------------------------------------------- +; Inno Setup Script (5.3 and more) for Scilab (UNICODE version required) +; +;-------------------------------------------------------------------------------------------------------------- +; graphic_objects module +;-------------------------------------------------------------------------------------------------------------- +; +#define GRAPHIC_OBJECTS "graphic_objects" +; +Source: modules\{#GRAPHIC_OBJECTS}\license.txt; DestDir: {app}\modules\{#GRAPHIC_OBJECTS}; Components: {#COMPN_GRAPHICS} +; +Source: bin\sci{#GRAPHIC_OBJECTS}.dll; DestDir: {app}\bin; Components: {#COMPN_GRAPHICS} +; +Source: bin\nosci{#GRAPHIC_OBJECTS}.dll; DestDir: {app}\bin; DestName: sci{#GRAPHIC_OBJECTS}.dll; Components: not ({#COMPN_GRAPHICS}) +; +Source: modules\{#GRAPHIC_OBJECTS}\etc\{#GRAPHIC_OBJECTS}.quit; DestDir: {app}\modules\{#GRAPHIC_OBJECTS}\etc; Components: {#COMPN_GRAPHICS} +Source: modules\{#GRAPHIC_OBJECTS}\etc\{#GRAPHIC_OBJECTS}.start; DestDir: {app}\modules\{#GRAPHIC_OBJECTS}\etc; Components: {#COMPN_GRAPHICS} +; +Source: modules\{#GRAPHIC_OBJECTS}\tests\*.*; DestDir: {app}\modules\{#GRAPHIC_OBJECTS}\tests; Flags: recursesubdirs; Components: {#COMPN_GRAPHICS} and {#COMPN_TESTS} +; +Source: modules\{#GRAPHIC_OBJECTS}\jar\org.scilab.modules.{#GRAPHIC_OBJECTS}.jar;DestDir: {app}\modules\{#GRAPHIC_OBJECTS}\jar; Components: {#COMPN_GRAPHICS} +; +;-------------------------------------------------------------------------------------------------------------- diff --git a/modules/graphic_objects/includes/AxesModel.h b/modules/graphic_objects/includes/AxesModel.h new file mode 100755 index 000000000..fa4676a33 --- /dev/null +++ b/modules/graphic_objects/includes/AxesModel.h @@ -0,0 +1,24 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#ifndef __AXES_MODEL_H__ +#define __AXES_MODEL_H__ + +#include "dynlib_graphic_objects.h" +#include "BOOL.h" + +GRAPHIC_OBJECTS_IMPEXP int getAxesModel(void); + +GRAPHIC_OBJECTS_IMPEXP void setAxesModel(int iUID); + +GRAPHIC_OBJECTS_IMPEXP BOOL isAxesModel(int iUID); + +#endif /* !__AXES_MODEL_H__ */ diff --git a/modules/graphic_objects/includes/ColorComputer.hxx b/modules/graphic_objects/includes/ColorComputer.hxx new file mode 100755 index 000000000..3de603445 --- /dev/null +++ b/modules/graphic_objects/includes/ColorComputer.hxx @@ -0,0 +1,244 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef COLORCOMPUTER_HXX +#define COLORCOMPUTER_HXX + +#include "DecompositionUtils.hxx" + +/** + * Offset passed to the getColor function for colors mapped to z values. + */ +#define Z_COLOR_OFFSET 0.5 + +/** + * Offset passed to the getColor function for linearly mapped colors. + */ +#define COLOR_OFFSET 0.1 + +/** + * Special color index values. + */ +enum SpecialColorIndexValues +{ + WHITE_LOWER_INDEX = -4, + BLACK_LOWER_INDEX = -3, + BLACK_UPPER_INDEX = 0 +}; + +/** + * The minimum value of a single R, G or B component. + */ +#define MIN_COMPONENT_VALUE 0.0 + +/** + * The maximum value of a single R, G or B component. + */ +#define MAX_COMPONENT_VALUE 1.0 + +/** + * The index value corresponding to white. + */ +#define WHITE_INDEX -2.0 + +/** + * The index value corresponding to black. + */ +#define BLACK_INDEX -1.0 + +/** + * An offset used to center the color index when computing + * colormap texture coordinates. + */ +#define COLOR_TEXTURE_OFFSET 0.5 + +/** + * ColorComputer class + * Various utility functions used to compute colors. + * To be extended. + */ +class ColorComputer +{ + +public : + + /** + * Ouputs an RGB color mapped to a scalar value s belonging to an [smin, smax] interval. + * The output color is looked up in an RGB colormap, using a linear mapping between the latter and s. + * It does not currently check whether srange is greater than 0. + * If s is a Nan value, the black color is output. + * @param[in] the scalar value. + * @param[in] the interval's minimum value. + * @param[in] the interval's range (smax-smin). + * @param[in] an offset added to the index computed from s. + * @param[in] a pointer to the colormap used. + * @param[in] the colormap's size. + * @param[out] a pointer to the array into which the resulting color is output (its R, G, B components are written consecutively). + */ + static void getColor(double s, double smin, double srange, double indexOffset, double* colormap, int colormapSize, float* returnedColor); + + /** + * Outputs an RGB color mapped to a scalar value s belonging to an [smin, smax] interval. + * The output color is looked up in an RGB colormap, using a linear mapping between a sub-interval of the latter and s. + * It neither checks whether srange is greater than 0 nor verifies that the sub-interval is included within the colormap's + * range (which must be ensured when specifying the sub-interval's bounds). + * If s is a Nan value, the black color is output. + * @param[in] the scalar value. + * @param[in] the interval's minimum value. + * @param[in] the interval's range (smax-smin). + * @param[in] an offset added to the index computed from s. + * @param[in] a pointer to the colormap used. + * @param[in] the colormap's size. + * @param[in] the index specifying the colormap sub-interval's lower bound. + * @param[in] the index specifying the colormap sub-interval's upper bound. + * @param[out] a pointer to the array into which the resulting color is output (its R, G, B components are written consecutively). + */ + static void getColor(double s, double smin, double srange, double indexOffset, double* colormap, int minIndex, int maxIndex, + int colormapSize, float* returnedColor); + + /** + * Outputs an RGB color directly mapped to a scalar value s. + * The output color is looked up in an RGB colormap, using s as a direct index. + * White and black are respectively output when s <= -3 and -3 < s < 0 ; s is also + * clamped to the colormap's upper bound (colormapSize-1). If s is a Nan value, black is also + * output. + * @param[in] the scalar value used as an index. + * @param[in] a pointer to the colormap used. + * @param[in] the colormap's size. + * @param[out] a pointer to the array into which the resulting color is output (its R, G, B components are written consecutively). + * @param[in] a boolean to indicate if the color is clamped (by default true). + */ + template <typename T> + inline static void getDirectColor(T s, double* colormap, int colormapSize, float* returnedColor, bool clamped = true) + { + int index = 0; + + if (s <= (T) BLACK_LOWER_INDEX) + { + /* Clamp to white */ + returnedColor[0] = MAX_COMPONENT_VALUE; + returnedColor[1] = MAX_COMPONENT_VALUE; + returnedColor[2] = MAX_COMPONENT_VALUE; + } + else if ((((T) BLACK_LOWER_INDEX < s) && (s < (T) BLACK_UPPER_INDEX)) || !DecompositionUtils::isANumber(s)) + { + /* Black is also output for Nan values */ + returnedColor[0] = MIN_COMPONENT_VALUE; + returnedColor[1] = MIN_COMPONENT_VALUE; + returnedColor[2] = MIN_COMPONENT_VALUE; + } + else + { + if (s > (T)(colormapSize - 1)) + { + if (clamped) + { + s = (T) (colormapSize - 1); + } + else + { + returnedColor[0] = -1; + return; + } + } + + index = (int) s; + + returnedColor[0] = (float)colormap[index]; + returnedColor[1] = (float)colormap[colormapSize + index]; + returnedColor[2] = (float)colormap[2 * colormapSize + index]; + } + } + + /** + * Outputs an RGB color directly mapped to a scalar value s. + * The output color is looked up in an RGB colormap, using s as a direct index. + * White and black are respectively output when s <= -3 and -3 < s < 0 ; s is also + * clamped to the colormap's upper bound (colormapSize-1). If s is a Nan value, black is also + * output. + * @param[in] the scalar value used as an index. + * @param[in] a pointer to the colormap used. + * @param[in] the colormap's size. + * @param[out] a pointer to the array into which the resulting color is output (its R, G, B components are written consecutively). + * @param[in] a boolean to indicate if the color is clamped (by default true). + */ + template <typename T> + inline static void getDirectByteColor(T s, double* colormap, int colormapSize, unsigned char* returnedColor, bool clamped = true) + { + float color[3]; + unsigned int * rc = (unsigned int *)returnedColor; + getDirectColor(s, colormap, colormapSize, color, clamped); + + if (!clamped && color[0] == -1) + { + *rc = 0; + } + else + { + returnedColor[0] = (unsigned char)(color[0] * 255); + returnedColor[1] = (unsigned char)(color[1] * 255); + returnedColor[2] = (unsigned char)(color[2] * 255); + returnedColor[3] = 0xFF; + } + } + + /** + * Returns a colormap index from a scalar value s. + * Indices corresponding to white and black are respectively output when -4 < s <= -3 and -3 < s < 0; + * if s <= -4, the lower colormap index is returned (0). + * s is also clamped to the colormap's uppderbound (colormapSize-1). + * @param[in] the scalar value used as an index. + * @param[in] the colormap's size. + * @return the index obtained from s. + */ + static double getDirectIndex(double s, int colormapSize); + + /** + * Outputs an RGB color directly mapped to a scalar value s. + * The output color is looked up in an RGB colormap, using s as a direct index, + * which is clamped to the colormap bounds, that is [0, colormapSize-1] . If s is a Nan value, + * the black color is output. + * @param[in] the scalar value used as an index. + * @param[in] a pointer to the colormap used. + * @param[in] the colormap's size. + * @param[out] a pointer to the array into which the resulting color is output (its R, G, B components are written consecutively). + */ + static void getClampedDirectColor(double s, double* colormap, int colormapSize, float* returnedColor); + + /** + * Returns the given index rounded down and clamped to the colormap size. + * @param[in] the scalar value used as an index. + * @param[in] the colormap's size. + * @return the index clamped to the colormap size. + */ + static double getClampedDirectIndex(double s, int colormapSize); + + /** + * Returns a colormap index mapped to a scalar value s belonging to an [smin, smax] interval. + * The index belongs to an [imin, imax] interval which is linearly mapped to s, smin and smax respectively + * corresponding to the imin and imax indices. The computed index is rounded down and then clamped to + * the [imin, imax] interval. + * It neither checks whether srange is greater than 0 nor verifies than minIndex and maxIndex are valid colormap + * indices. + * @param[in] the scalar value. + * @param[in] the scale value's minimum value. + * @param[in] the scalar value interval's range (smax-smin). + * @param[in] an offset added to the index computed from s. + * @param[in] the index specifying the index interval's lower bound. + * @param[in] the index specifying the index interval's upper bound. + * @return the computed index. + */ + static double getIndex(double s, double smin, double srange, double indexOffset, int minIndex, int maxIndex); +}; + +#endif + diff --git a/modules/graphic_objects/includes/CurrentFigure.h b/modules/graphic_objects/includes/CurrentFigure.h new file mode 100755 index 000000000..4e16fa0ff --- /dev/null +++ b/modules/graphic_objects/includes/CurrentFigure.h @@ -0,0 +1,32 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __CURRENT_FIGURE_H__ +#define __CURRENT_FIGURE_H__ + +#include "dynlib_graphic_objects.h" +/** + * Returns UID of the current selected figure. + */ +GRAPHIC_OBJECTS_IMPEXP int getCurrentFigure(void); + +/** + * Modify the current figure if needed. + */ +GRAPHIC_OBJECTS_IMPEXP void setCurrentFigure(int iUID); + +/** + * To know if a figure is the selected one. + */ +GRAPHIC_OBJECTS_IMPEXP BOOL isCurrentFigure(int iUID); + +#endif /* !__CURRENT_FIGURE_H__ */ diff --git a/modules/graphic_objects/includes/CurrentObject.h b/modules/graphic_objects/includes/CurrentObject.h new file mode 100755 index 000000000..d882fe0ba --- /dev/null +++ b/modules/graphic_objects/includes/CurrentObject.h @@ -0,0 +1,39 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __CURRENT_OBJECT_H__ +#define __CURRENT_OBJECT_H__ + +#include "dynlib_graphic_objects.h" +#include "BOOL.h" +/** + * Returns UID of the current selected object. + */ +GRAPHIC_OBJECTS_IMPEXP int getCurrentObject(void); + +/** + * Modify the current object if needed. + */ +GRAPHIC_OBJECTS_IMPEXP void setCurrentObject(int iUID); + +/** + * To know if an object is the selected one. + */ +GRAPHIC_OBJECTS_IMPEXP BOOL isCurrentObject(int iUID); + +/** + * get parent object + */ +GRAPHIC_OBJECTS_IMPEXP int getParentObject(int iUID); +GRAPHIC_OBJECTS_IMPEXP void setParentObject(int iUID, int iParent); + +#endif /* !__CURRENT_OBJECT_H__ */ diff --git a/modules/graphic_objects/includes/CurrentSubwin.h b/modules/graphic_objects/includes/CurrentSubwin.h new file mode 100755 index 000000000..f84d2ffb2 --- /dev/null +++ b/modules/graphic_objects/includes/CurrentSubwin.h @@ -0,0 +1,22 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __CURRENT_SUBWIN_H__ +#define __CURRENT_SUBWIN_H__ + +#include "dynlib_graphic_objects.h" + +GRAPHIC_OBJECTS_IMPEXP int getCurrentSubWin(void); + +GRAPHIC_OBJECTS_IMPEXP void setCurrentSubWin(int iUID); + +#endif /* !__CURRENT_SUBWIN_H__ */ diff --git a/modules/graphic_objects/includes/Data3D.hxx b/modules/graphic_objects/includes/Data3D.hxx new file mode 100755 index 000000000..53b082886 --- /dev/null +++ b/modules/graphic_objects/includes/Data3D.hxx @@ -0,0 +1,71 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef DATA_3D_HXX +#define DATA_3D_HXX + +#include <string> + +#include "DataProperties.hxx" + +extern "C" { +#include "BOOL.h" + +#include <stdio.h> +} + +/** + * An abstract 3D data class + * To be completed + */ + +class Data3D +{ +protected: + /* To be added: a member indicating how color is specified (per-vertex or per-facet) */ + +public : + /** + * Constructor + */ + Data3D(void); + + /** + * Destructor + */ + virtual ~Data3D(void); + + /** + * Returns the identifier associated to a property name + * @param[in] propertyName the property name + * @return the property identifier + */ + virtual int getPropertyFromName(int propertyName); + + /** + * Sets a data property + * @param[in] property the property identifier + * @param[in] value a pointer to the property values + * @param[in] numElements the number of elements to set + * @return 1 if the property has been successfully set, 0 otherwise + */ + virtual int setDataProperty(int property, void const* value, int numElements); + + /** + * Returns a data property + * @param[in] property the property identifier + * @param[out] a pointer to a pointer to the returned property values + */ + virtual void getDataProperty(int property, void **_pvData); +}; + +#endif diff --git a/modules/graphic_objects/includes/DataController.hxx b/modules/graphic_objects/includes/DataController.hxx new file mode 100755 index 000000000..9ae2e11b4 --- /dev/null +++ b/modules/graphic_objects/includes/DataController.hxx @@ -0,0 +1,43 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "DataModel.hxx" + +extern "C" { +#include "BOOL.h" +} + +class DataController +{ + +public : + static BOOL setGraphicObjectProperty(int iUID, int _iName, void const* _dblValue, int numElements) + { + return DataModel::get()->setGraphicObjectProperty(iUID, _iName, _dblValue, numElements); + } + + static void getGraphicObjectProperty(int iUID, int _iName, void **_pvData) + { + return DataModel::get()->getGraphicObjectProperty(iUID, _iName, _pvData); + } + + static int createDataObject(int iUID, int _iType) + { + return DataModel::get()->createDataObject(iUID, _iType); + } + + static void deleteDataObject(int iUID) + { + DataModel::get()->deleteDataObject(iUID); + } + +}; diff --git a/modules/graphic_objects/includes/DataLoader.hxx b/modules/graphic_objects/includes/DataLoader.hxx new file mode 100755 index 000000000..b039c40e3 --- /dev/null +++ b/modules/graphic_objects/includes/DataLoader.hxx @@ -0,0 +1,213 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Pierre Lando + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef DATA_LOADER_HXX +#define DATA_LOADER_HXX + +#ifdef __cplusplus +extern "C" +{ +#endif + + typedef struct + { + void * address; + unsigned int size; + } JavaDirectBuffer; + + /** + * Return the texture width for the given object. + * @param[in] the given object id. + * @return the texture width for the given object. + */ + int getTextureWidth(int id); + + /** + * Return the texture height for the given object. + * @param[in] the given object id. + * @return the texture height for the given object. + */ + int getTextureHeight(int id); + + /** + * Fill the given buffer with texture data. + * @param[in] the id of the object texture. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @return the length of writed data. + */ + int fillTextureData(int id, unsigned char* buffer, int bufferLength); + + /** + * Fill the given buffer with sub-texture data. + * @param[in] the id of the object texture. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the x-coordinate of the first pixel. + * @param[in] the y-coordinate of the first pixel. + * @param[in] the width of the sub-texture. + * @param[in] the length of the sub-texture. + * @return the length of writed data. + */ + int fillSubTextureData(int id, unsigned char* buffer, int bufferLength, int x, int y, int width, int height); + + /** + * Return the number of data elements for the given object. + * @param[in] the given object id. + * @return the number of data elements. + */ + int getDataSize(int id); + + /** + * Fill the given buffer with vertex data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinate taken by one element in the buffer. + * @param[in] this byte mask specifies which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation factor to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + */ + void fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double scale[], double translation[], int logMask); + + /** + * Fill the given buffer with normal data from the given object. + * @param[in] the id of the given object. + * @param[in] the buffer with position data. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinate taken by one element in the buffer. + */ + void fillNormals(int id, float* position, float* buffer, int bufferLength, int elementsSize); + + + /** + * Fill the given buffer with color data from the given object. + * @param[in] the id of the given object. + * @param[in] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinate taken by one element in the buffer (3 for RGB, 4 for RGBA). + */ + void fillColors(int id, float* buffer, int bufferLength, int elementsSize); + + /** + * Fill the given buffer with texture coordinates data from the given object. + * @param[in] the id of the given object. + * @param[in] the buffer to fill. + * @param[in] the buffer length in number of elements. + */ + void fillTextureCoordinates(int id, float* buffer, int bufferLength); + + /** + * Return the number of indices for the given object. + * @param[in] the given object id. + * @return the object's number of indices. + */ + int getIndicesSize(int id); + + /** + * Fill the given buffer with indices data of the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + int fillIndices(int id, int* buffer, int bufferLength, int logMask); + + /** + * Return the number of indices for the wire of the given object. + * @param[in] the given object id. + * @return the object's number of indices. + */ + int getWireIndicesSize(int id); + + /** + * Fill the given buffer with wire indices data of the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + int fillWireIndices(int id, int* buffer, int bufferLength, int logMask); + + /** + * Return the number of mark indices of the given object. + * @param[in] the given object id. + * @return the number of mark indices. + */ + int getMarkIndicesSize(int id); + + /** + * Fill the given buffer with mark indices data of the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length. + * @return the number of indices actually written. + */ + int fillMarkIndices(int id, int* buffer, int bufferLength); + + /** + * Get texture data of the given object. + * @param[in] the id of the given object. + * @return a JavaDirectBuffer struct which will be converted into a java.nio.ByteBuffer. + */ + JavaDirectBuffer getTextureData(int id); + + /** + * Get texture image type of the given object. + * @param[in] id the id of the given object. + * @return the image type. + */ + int getTextureImageType(int id); + + /** + * Get the Scilab data type associated with the texture of the given object. + * @param[in] id the id of the given object. + * @return the image type (0 for RGB, 1 for RGBA, 2 for GRAY). + */ + int getTextureDataType(int id); + + /** + * Get texture OpenGL type of the given object. + * @param[in] id the id of the given object. + * @return the OpenGL type. + */ + int getTextureGLType(int id); + + /** + * Dispose texture data of the given object. + * @param[in] id the id of the given object. + * @param[in] buffer the address of the buffer to dipose. + */ + void disposeTextureData(int id, unsigned char * buffer); + + /** + * Dispose texture data of the given object. + * @param[in] id the id of the given object. + * @return 1 if the texture is ROW_MAJOR_ORDER + */ + int isTextureRowOrder(int id); + + /** + * Set tha availability of the ABGR extension + * @param[in] isAvailable 0 if it is not available + */ + void setABGRExt(int isAvailable); + +#ifdef __cplusplus +} //extern "C" +#endif + +#endif /* DATA_LOADER_HXX */ diff --git a/modules/graphic_objects/includes/DataModel.hxx b/modules/graphic_objects/includes/DataModel.hxx new file mode 100755 index 000000000..a5f9b13aa --- /dev/null +++ b/modules/graphic_objects/includes/DataModel.hxx @@ -0,0 +1,82 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef DATA_MODEL_H +#define DATA_MODEL_H + +#include <map> +#include <string> + +#include "Data3D.hxx" + +#include "NgonGeneralData.hxx" +#include "NgonGridData.hxx" +#include "NgonGridMatplotData.hxx" +#include "NgonPolylineData.hxx" +#include "MeshData.hxx" +#include "MeshFecData.hxx" + +#include "graphicObjectProperties.h" + +extern "C" { +#include "BOOL.h" + +#include <stdio.h> +} + +class DataModel +{ +private : + DataModel() + { + m_dataMap = new std::map<int, Data3D*>(); + } + +public : + static DataModel *get() + { + if (m_me == NULL) + { + m_me = new DataModel(); + } + + return m_me; + } + +public : + /** + * Sets a graphic object property + * As some set methods allocate memory, the FALSE return value also indicates + * a failed allocation for these methods, which overlaps with the non-existing + * property return value (also FALSE); returning an int, with -1 for a failed + * allocation would possibly solve this problem. + */ + BOOL setGraphicObjectProperty(int iUID, int _iName, void const* _dblValue, int numElements); + + /** Returns a graphic object vector property */ + void getGraphicObjectProperty(int iUID, int _iName, void **_pvData); + + /** Creates a data object */ + int createDataObject(int iUID, int _iType); + + /** + * Deletes a data object + */ + void deleteDataObject(int iUID); + +private : + static DataModel *m_me; + + std::map<int, Data3D*> *m_dataMap; +}; + +#endif diff --git a/modules/graphic_objects/includes/DataProperties.hxx b/modules/graphic_objects/includes/DataProperties.hxx new file mode 100755 index 000000000..a037232d1 --- /dev/null +++ b/modules/graphic_objects/includes/DataProperties.hxx @@ -0,0 +1,73 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef DATA_PROPERTIES_H +#define DATA_PROPERTIES_H + +/* + * Properties values + * A static enum would probably be better. + * To be modified. + */ + +#define UNKNOWN_DATA_PROPERTY 0 + +#define NUM_GONS 1 +#define NUM_VERTICES_PER_GON 2 + +#define NUM_ELEMENTS 3 +#define NUM_ELEMENTS_ARRAY 4 +#define COORDINATES 5 +#define X_COORDINATES 6 +#define Y_COORDINATES 7 +#define Z_COORDINATES 8 + +#define X_COORDINATES_SHIFT 9 +#define Y_COORDINATES_SHIFT 10 +#define Z_COORDINATES_SHIFT 11 +#define X_COORDINATES_SHIFT_SET 12 +#define Y_COORDINATES_SHIFT_SET 13 +#define Z_COORDINATES_SHIFT_SET 14 +#define Z_COORDINATES_SET 15 + +#define NUM_VERTICES 16 +#define NUM_INDICES 17 +#define INDICES 18 +#define VALUES 19 + +#define FEC_ELEMENTS 20 +#define NUM_VERTICES_BY_ELEM 21 + +#define NUM_X 22 +#define NUM_Y 23 +#define NUM_Z 24 +#define GRID_SIZE 25 +#define X_DIMENSIONS 26 +#define Y_DIMENSIONS 27 + +#define COLORS 28 +#define NUM_COLORS 29 + +#define MATPLOT_BOUNDS 30 +#define MATPLOT_TYPE 31 +#define MATPLOT_VIDEO_MODE 32 +#define MATPLOT_GL_TYPE 33 +#define MATPLOT_DATA_INFOS 34 +#define MATPLOT_DATA_TYPE 35 +#define MATPLOT_DATA_ORDER 36 +#define MATPLOT_IMAGE_TYPE 37 +#define MATPLOT_IMAGE_DATA 38 +#define MATPLOT_IMAGE_DATASIZE 39 +#define DISPLAY_FUNCTION_DATA 40 +#define DISPLAY_FUNCTION_DATA_SIZE 41 + +#endif diff --git a/modules/graphic_objects/includes/DecompositionUtils.hxx b/modules/graphic_objects/includes/DecompositionUtils.hxx new file mode 100755 index 000000000..387428af4 --- /dev/null +++ b/modules/graphic_objects/includes/DecompositionUtils.hxx @@ -0,0 +1,182 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef DECOMPOSITION_UTILS_HXX +#define DECOMPOSITION_UTILS_HXX + +/** + * Decomposition utility class + * A set of various static utility methods. + */ + +class DecompositionUtils +{ + +public : + + /** + * Tests whether a scalar value is a valid number, + * that is, not a NaN. + * @param[in] the scalar value to test. + * @return 1 if the value is not a Nan, 0 if it is. + */ + static int isANumber(double x); + + static int isANumber(int x) + { + return 1; + } + + static int isANumber(unsigned int x) + { + return 1; + } + + static int isANumber(char x) + { + return 1; + } + + static int isANumber(unsigned char x) + { + return 1; + } + + static int isANumber(short x) + { + return 1; + } + + static int isANumber(unsigned short x) + { + return 1; + } + + /** + * Tests whether a scalar value is finite. + * @param[in] the scalar value to test. + * @return 1 if the value is finite, 0 if it is infinite. + */ + static int isFinite(double x); + + /** + * Tests whether a scalar value is valid. + * The value is valid if it is neither infinite nor a NaN. + * @param[in] the scalar value to test. + * @return 1 if the value is valid, 0 if it is not. + */ + static int isValid(double x); + + /** + * Tests whether a point is valid. + * The point is valid if none of its coordinates is infinite or a NaN. + * @param[in] the point's x-coordinate. + * @param[in] the point's y-coordinate. + * @param[in] the point's z-coordinate. + * @return 1 if the point is valid, 0 if it is not. + */ + static int isValid(double x, double y, double z); + + /** + * Tests whether a point is valid. + * The point is valid if none of its coordinates is infinite or a NaN. + * @param[in] the point's x-coordinate. + * @param[in] the point's y-coordinate. + * @return 1 if the point is valid, 0 if it is not. + */ + static int isValid(double x, double y); + + /** + * Returns the base-10 logarithm of the input value. + * @param[in] the input value. + * @return the base-10 logarithm of the input value. + */ + static double getLog10Value(double value); + + /** + * Determines if a single-component point is valid in logarithmic scale. + * @param[in] the point's coordinate. + * @return 1 if the point is valid, 0 if it is not. + */ + static int isLogValid(double x); + + /** + * Determines if a point is valid in logarithmic scale. + * It checks whether any of its coordinates is strictly less than 0 (if the + * logarithmic scale applies). In the event of the former, the point is + * determined as not valid. + * @param[in] the point's x-coordinate. + * @param[in] the point's y-coordinate. + * @param[in] the bit mask specifying for which coordinates the logarithmic scale is used. + * @return 1 if the point is valid, 0 if it is not. + */ + static int isLogValid(double x, double y, int logMask); + + /** + * Determines if a point is valid in logarithmic scale. + * It checks whether any of its coordinates is strictly less than 0 (if the + * logarithmic scale applies). In the event of the former, the point is + * determined as not valid. + * @param[in] the point's x-coordinate. + * @param[in] the point's y-coordinate. + * @param[in] the point's z-coordinate. + * @param[in] the bit mask specifying for which coordinates the logarithmic scale is used. + * @return 1 if the point is valid, 0 if it is not. + */ + static int isLogValid(double x, double y, double z, int logMask); + + /** + * Returns the maximum representable double value. + * @return the maximum representable double value. + */ + static double getMaxDoubleValue(void); + + /** + * Returns the minimum representable double value. + * @return the minimum representable double value. + */ + static double getMinDoubleValue(void); + + /** + * Returns the absolute value of its input value. + * @param[in] the value. + * @return the absolute value. + */ + static double getAbsoluteValue(double value); + + /** + * Returns the square root of its input value. + * @param[in] the value. + * @return the value's square root. + */ + static double getSquareRoot(double value); + + /** + * Utility function which outputs the triangle indices of a rectangle decomposed + * into 2 adjacent triangles. Decomposition is always performed the same way as it does not + * depend on input vertex values. This function should therefore be used only for rectangles. + * @param[out] the triangle indices (v0, v1, v2), (v3, v4, v5). + */ + static void getDecomposedRectangleTriangleIndices(int* indices); + + /** + * Decomposes a quadrilateral facet into two triangles and outputs the resulting vertex indices. + * As there are two possible decompositions, it chooses the one which has the most coplanar triangles. + * The output triangles' vertex indices are in counter-clockwise order. + * @param[in] the facet vertices (4 (x,y,z) triplets, in counter-clockwise order). + * @param[in] the facet vertices' indices (4 elements, in counter-clockwise order). + * @param[out] the triangles' vertex indices (6 elements: two consecutive index triplets). + */ + static void getDecomposedQuadTriangleIndices(double vertices[4][3], int* facetVertexIndices, int* triangleVertexIndices); +}; + +#endif diff --git a/modules/graphic_objects/includes/Fac3DColorComputer.hxx b/modules/graphic_objects/includes/Fac3DColorComputer.hxx new file mode 100755 index 000000000..22c3e04cf --- /dev/null +++ b/modules/graphic_objects/includes/Fac3DColorComputer.hxx @@ -0,0 +1,181 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef FAC3DCOLORCOMPUTER_HXX +#define FAC3DCOLORCOMPUTER_HXX + +#include <string> + +extern "C" { +#include <stdlib.h> +} + +/** + * Fac3D color computer class + * Outputs color values depending on the corresponding Fac3D objects's color + * values and properties (color_flag, data_mapping, etc.). + * + * To do: + * -extend to take into account constant or z-mapped colors (respectively color_flag == 0 + * and color_flag == 1). + */ + +class Fac3DColorComputer +{ +private : + /* To do: rename colors to values in order to take into account Z values */ + + /** The Fac3D object's color values array */ + double* colors; + + /** + * The Fac3D object's total number of color values + * Must be equal either to numGons (per-facet colors) or + * to numGons*numVerticesPerGon (per-vertex colors). + */ + int numColors; + + /** The Fac3D object's color flag value */ + int colorFlag; + + /** A flag specifying whether color values are directly mapped (1) or scaled (0) */ + int dataMapping; + + /** The number of n-gons */ + int numGons; + + /** The number of vertices per n-gon */ + int numVerticesPerGon; + + /** + * The number of colors per facet + * Must be equal either to numVerticesPerGon (per-vertex colors) or 1 (per-facet colors). + */ + int numColorsPerFacet; + + /** A flag specifying whether colors are defined per-facet (0) or per-vertex (1) */ + int perVertex; + + /** The maximum color value */ + double minColorValue; + + /** The minimum color value */ + double maxColorValue; + + /** The color range actually used (used maximum - used minimum) */ + double colorRange; + + /** The actual minimum value used */ + double usedMinColorValue; + + /* A flag specifying whether the color range's min and max bounds are different (1) or not (0) */ + int colorRangeValid; + +public : + + /** + * Fac3DColorComputer default constructor. + * Initializes the value array to NULL and all other values to 0 + * (except dataMapping, set to 1). + */ + Fac3DColorComputer(void); + + /** + * Fac3DColorComputer constructor. + * @param[in] the color array. + * @param[in] the number of colors. + * @param[in] the color flag. + * @param[in] a flag specifying whether colors are direct indices into the colormap (1) or must be scaled (0). + * @param[in] the number of n-gons. + * @param[in] the number of vertices per n-gon. + */ + Fac3DColorComputer(double* colors, int numColors, int colorFlag, int dataMapping, int numGons, int numVerticesPerGon); + + /** + * Fac3DColorComputer destructor. + */ + ~Fac3DColorComputer(); + + /** + * Indicates whether facets are shaded with a single color or using interpolated shading. + * Interpolated shading is used only if colors are defined per vertex and color flag is equal to 3. + * Single color (flat) shading is used in any other case. + * @return 1 if interpolated shading is used, 0 if flat shading is used. + */ + int isInterpolatedShadingUsed(void); + + /** + * Returns the color of facet i at vertex j which is actually output for rendering, + * where 0 <= j < numVerticesPerGon. + * The colors actually output for rendering may differ from the facet's color values for scaled + * colors if the color range is invalid, that is, if the min and max color + * values are equal. In this case, it returns the color at half the actually used color range. + * In any other case, it returns the facet's color values by calling getFacetColor. + * @param[in] the facet index. + * @param[in] the vertex index j. + * @return the facet color at vertex j. + */ + double getOutputFacetColor(int facetIndex, int vertexIndex); + + /** + * Returns the color of facet i at vertex j, + * where 0 <= j < numVerticesPerGon. + * The vertex index j is relevant only when per-vertex colors are specified and + * color_flag is equal to 3. In any other case, a given facet's color + * is the same for all its vertices, j is therefore ignored. + * @param[in] the facet index. + * @param[in] the vertex index j. + * @return the facet color at vertex j. + */ + double getFacetColor(int facetIndex, int vertexIndex); + + /** + * Compute a facet's average color value. + * @param[in] the facet index. + * @return the facet's average color value. + */ + double computeAverageValue(int facetIndex); + + /** + * Determines whether a facet's color values are valid or not. + * @param[in] the facet index. + * @return 1 if the facet's color values are valid, 0 otherwise. + */ + int isFacetColorValid(int facetIndex); + + /** + * Computes the minimum and maximum color values, + * which are then stored as members. + */ + void computeMinMaxValues(void); + + /** + * Computes the minimum and maximum values of a facet. + * The input minimum and maximum values are updated to the facet's ones if the latter + * are respectively less than and greater than the former. + * @param[in] the facet index. + * @param[in,out] the current minimum value, updated to the facet's minimum. + * @param[in,out] the current maximum value, updated to the facet's maximum. + */ + void computeFacetMinMax(int facetIndex, double* currentMin, double* currentMax); + + /** + * Returns the minimum color value and the color range which are + * actually used to get scaled colors. + * The maximum color value is equal to the minimum one added to the color range. + * @param[out] the minimum color value. + * @param[out] the color range. + */ + void getColorRangeValue(double* minColorValue, double* colorRange); +}; + +#endif diff --git a/modules/graphic_objects/includes/Fac3DDecomposer.hxx b/modules/graphic_objects/includes/Fac3DDecomposer.hxx new file mode 100755 index 000000000..62a1fbc89 --- /dev/null +++ b/modules/graphic_objects/includes/Fac3DDecomposer.hxx @@ -0,0 +1,184 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef FAC3DDECOMPOSER_DECOMPOSER_HXX +#define FAC3DDECOMPOSER_DECOMPOSER_HXX + +#include <string> + +extern "C" { +#include <stdlib.h> +} + +/** + * Fac3D decomposer class + * Determines the vertices and the segments indices to be rendered + * as a function of the decomposed Fac3D object's properties. + * Fac3D data is represented by an N-gon set, as referred by the + * various comments. + */ + +class Fac3DDecomposer +{ + +private : + + /** + * Specifies how the minimum and maximum values are computed from an input array + * of per-vertex or per-face values. + * The first enum value corresponds to either per-face or per-vertex input values + * whereas the last two are only relevant to per-vertex input values. + */ + enum MinMaxComputation { + ALL_VALUES, /** all input values are used */ + FACE_AVERAGE, /** per-face averaged values */ + FIRST_VERTEX_VALUE /** only each face's first value */ + }; + + /** + * Fills a buffer with texture coordinate computed from z values. + * Colors are looked up in a color map, which is linearly mapped to the N-gon set's normalized z values. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] a pointer to the colormap used. + * @param[in] the colormap's size. + * @param[in] the z coordinate array. + * @param[in] the number of N-gons. + * @param[in] the number of vertices per N-gon. + */ + static void fillNormalizedZColorsTextureCoordinates(float* buffer, int bufferLength, double* colormap, int colormapSize, + double* z, int numGons, int numVerticesPerGon); + + /** + * Fills a buffer with a single color. + * The color buffer is filled with a single color value, looked up in a color map. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] a pointer to the colormap used. + * @param[in] the colormap's size. + * @param[in] the single color value used to fill the buffer. + * @param[in] the number of N-gons. + * @param[in] the number of vertices per N-gon. + */ + static void fillConstantColorsTextureCoordinates(float* buffer, int bufferLength, double* colormap, int colormapSize, + double colorValue, int numGons, int numVerticesPerGon); + + /** + * Fills a buffer with color data. + * Colors are looked up in a color map, using the N-gon set's color data array as an input. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] a pointer to the colormap used. + * @param[in] the colormap's size. + * @param[in] the N-gon set's color values array. + * @param[in] the color flag value. + * @param[in] a flag specifying whether color values are defined per-vertex (1) or per-facet (0). + * @param[in] a flag specifying whether color values are linearly mapped to the color map (0) or a direct mapping is used (1). + * @param[in] the number of N-gons. + * @param[in] the number of vertices per N-gon. + */ + static void fillDataColorsTextureCoordinates(float* buffer, int bufferLength, double* colormap, int colormapSize, + double* colors, int colorFlag, int perVertex, int dataMapping, int numGons, int numVerticesPerGon); + + /** + * Computes the average value of an N-gon's vertex values. + * @param[in] a pointer to the N-gon's first vertex value. + * @param[in] the number of vertices. + * @return the average value. + */ + static double computeAverageValue(double* values, int numVertices); + + /** + * Computes and returns an N-gon set's minimum and maximum values. + * @param[in] the N-gon set's value array. + * @param[in] the number of values + * @param[in] the number of N-gons. + * @param[in] the number of vertices per N-gon. + * @param[in] specifies the way the minimum and maximum are computed: using all the input values, per-face averaged ones, or only each face's first value. + * The first case corresponds to either per-face or per-vertex values whereas the last two are valid only for per-vertex values. + * @param[out] a pointer to the returned minimum value. + * @param[out] a pointer to the returned maximum value. + */ + static void computeMinMaxValues(double* values, int numValues, int numGons, int numVerticesPerGon, int minMaxComputation, double* valueMin, double* valueMax); + +public : + + /** + * Returns the number of data elements for the given object. + * @param[in] the given object id. + * @return the number of data elements. + */ + static int getDataSize(int id); + + /** + * Fills the given buffer with vertex data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinates taken by one element in the buffer. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation factor to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + */ + static void fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask); + + /** + * Fills the given buffer with color data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + */ + static void fillTextureCoordinates(int id, float* buffer, int bufferLength); + + /** + * Returns the number of indices for the given object. + * @param[in] the given object id. + * @return the object's number of indices. + */ + static int getIndicesSize(int id); + + /** + * Fills the given buffer with indices data of the given object. + * @param[in] the given object id. + * @param[out] the buffer to fill. + * @param[in] the buffer length. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + static int fillIndices(int id, int* buffer, int bufferLength, int logMask); + + /** + * Returns the number of wireframe indices for the given object. + * It is equal to twice the number of segments that can be at most + * drawn according to the Fac3d object's properties and therefore does not + * take non-representable points into account. + * @param[in] the given object id. + * @return the object's number of indices. + */ + static int getWireIndicesSize(int id); + + /** + * Fills the given buffer with wireframe indices data of the given object. + * The number of indices actually written is equal to or less than + * the buffer length, which is the object's maximum number of indices. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + static int fillWireIndices(int id, int* buffer, int bufferLength, int logMask); + +}; + +#endif diff --git a/modules/graphic_objects/includes/FigureList.h b/modules/graphic_objects/includes/FigureList.h new file mode 100755 index 000000000..a65f850ba --- /dev/null +++ b/modules/graphic_objects/includes/FigureList.h @@ -0,0 +1,65 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __FIGURE_LIST_H__ +#define __FIGURE_LIST_H__ + +#include "dynlib_graphic_objects.h" +#include "BOOL.h" + +/** + * @return number of opened windows in Scilab. + */ +GRAPHIC_OBJECTS_IMPEXP int sciGetNbFigure(void); + +/** + * @return the next free figure id. + */ +GRAPHIC_OBJECTS_IMPEXP int getValidDefaultFigureId(); + +/** + * Fill the array Ids with all the figure ids currently used by Scilab. + * @param ids should be as long as there are figures. + */ +GRAPHIC_OBJECTS_IMPEXP void sciGetFiguresId(int ids[]); + +/** + * @return TRUE if the figure with index id exists + */ +GRAPHIC_OBJECTS_IMPEXP BOOL sciIsExistingFigure(int figNum); + +/** + * Register Scilab View to Graphic Controller + */ +GRAPHIC_OBJECTS_IMPEXP void registerToController(void); + +/** + * Unregister Scilab View to Graphic Controller + */ +GRAPHIC_OBJECTS_IMPEXP void unregisterToController(void); + +/** + * to know if there are some opened graphic windows + */ +GRAPHIC_OBJECTS_IMPEXP BOOL sciHasFigures(void); + +/** + * returns the UID of window i + * or NULL if this window does not exists + */ +GRAPHIC_OBJECTS_IMPEXP int getFigureFromIndex(int figNum); + +GRAPHIC_OBJECTS_IMPEXP int search_path(char* _pstPath); +GRAPHIC_OBJECTS_IMPEXP char* get_path(int uid); + + +#endif /* !__FIGURE_LIST_H__ */ diff --git a/modules/graphic_objects/includes/FigureModel.h b/modules/graphic_objects/includes/FigureModel.h new file mode 100755 index 000000000..1a3e224cc --- /dev/null +++ b/modules/graphic_objects/includes/FigureModel.h @@ -0,0 +1,25 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __FIGURE_MODEL_H__ +#define __FIGURE_MODEL_H__ + +#include "dynlib_graphic_objects.h" +#include "BOOL.h" + +GRAPHIC_OBJECTS_IMPEXP int getFigureModel(void); + +GRAPHIC_OBJECTS_IMPEXP void setFigureModel(int iUID); + +GRAPHIC_OBJECTS_IMPEXP BOOL isFigureModel(int iUID); + +#endif /* !__FIGURE_MODEL_H__ */ diff --git a/modules/graphic_objects/includes/HandleManagement.h b/modules/graphic_objects/includes/HandleManagement.h new file mode 100755 index 000000000..9be38f856 --- /dev/null +++ b/modules/graphic_objects/includes/HandleManagement.h @@ -0,0 +1,48 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2001 - 2002 - INRIA - Mathieu Philipe + * Copyright (C) 2002 - 2004 - INRIA - Djalel Abdemouche + * Copyright (C) 2004 - 2006 - INRIA - Fabrice Leray + * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy + * Copyright (C) 2011 - 2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/*------------------------------------------------------------------------ + * Graphic library + * newGraph Library header + * Comment: + * This file contains all functions used in graphics handle management. + --------------------------------------------------------------------------*/ + +#ifndef __HANDLE_MANAGEMENT_H__ +#define __HANDLE_MANAGEMENT_H__ + +#include "dynlib_graphic_objects.h" + +/** + * @brief Get the handle for an UID. + * + * This should also allocate a new handle on demand. UID can be safely + * deallocated after this call. + * + * @param any uid + * @return a handle mapped to the uid + */ +GRAPHIC_OBJECTS_IMPEXP long getHandle(int iUID); + +/** + * @brief Get the uid of an handle. + * + * @param a valid handle + * @return a reference to an existing uid or null if invalid. + */ +GRAPHIC_OBJECTS_IMPEXP int getObjectFromHandle(long handle); + +#endif /* !__HANDLE_MANAGEMENT_H__ */ diff --git a/modules/graphic_objects/includes/MatPlotDecomposer.hxx b/modules/graphic_objects/includes/MatPlotDecomposer.hxx new file mode 100755 index 000000000..61b043e94 --- /dev/null +++ b/modules/graphic_objects/includes/MatPlotDecomposer.hxx @@ -0,0 +1,32 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Pierre Lando + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef MATPLOT_DECOMPOSER_HXX +#define MATPLOT_DECOMPOSER_HXX + +class MatPlotDecomposer +{ +public: + static int getTextureWidth(int id); + static int getTextureHeight(int id); + static int fillTextureData(int id, unsigned char* buffer, int bufferLength); + static int fillTextureData(int id, unsigned char* buffer, int bufferLength, int x, int y, int width, int height); + static int getTextureData(int id, void ** address, unsigned int * size); + static void disposeTextureData(int id, unsigned char * buffer); + static int getTextureImageType(int id); + static int getTextureDataType(int id); + static int getTextureGLType(int id); + static int isTextureRowOrder(int id); +}; + +#endif diff --git a/modules/graphic_objects/includes/Matplot.h b/modules/graphic_objects/includes/Matplot.h new file mode 100755 index 000000000..e9511b5f4 --- /dev/null +++ b/modules/graphic_objects/includes/Matplot.h @@ -0,0 +1,100 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef MATPLOT_H +#define MATPLOT_H + +#include "dynlib_graphic_objects.h" + +typedef enum +{ + MATPLOT_HM1_Char = 0, + MATPLOT_HM1_UChar = 1, + MATPLOT_HM1_Double = 2, + MATPLOT_HM3_Char = 3, + MATPLOT_HM3_UChar = 4, + MATPLOT_HM3_Double = 5, + MATPLOT_HM4_Char = 6, + MATPLOT_HM4_UChar = 7, + MATPLOT_HM4_Double = 8, + MATPLOT_Char = 9, + MATPLOT_UChar = 10, + MATPLOT_Int = 11, + MATPLOT_UInt = 12, + MATPLOT_Short = 13, + MATPLOT_UShort = 14, + MATPLOT_Double = 15 +} DataType; + +typedef enum +{ + MATPLOT_FORTRAN = 0, + MATPLOT_C = 1 +} DataOrder; + +typedef enum +{ + MATPLOT_NONE = -1, + MATPLOT_RGB = 0, + MATPLOT_RGBA = 1, + MATPLOT_GRAY = 2, + MATPLOT_INDEX = 3, + MATPLOT_RED = 4, + MATPLOT_GREEN = 5, + MATPLOT_BLUE = 6, + MATPLOT_RGB_332 = 7, + MATPLOT_RGB_444 = 8, + MATPLOT_RGB_555 = 9, + MATPLOT_RGBA_4444 = 10, + MATPLOT_RGBA_5551 = 11, + MATPLOT_ARGB = 12, +} ImageType; + +typedef enum +{ + MATPLOT_GL_RGB = 0, + MATPLOT_GL_RGB_RGBA = 1, + MATPLOT_GL_BGR = 2, + MATPLOT_GL_GRAY = 3, + MATPLOT_GL_GRAY_16 = 4, + MATPLOT_GL_RGBA = 5, + MATPLOT_GL_RGBA_REV = 6, + MATPLOT_GL_ABGR = 7, + MATPLOT_GL_RGB_332 = 8, + MATPLOT_GL_RED = 9, + MATPLOT_GL_GREEN = 10, + MATPLOT_GL_BLUE = 11, + MATPLOT_GL_INTENSITY = 12, + MATPLOT_GL_RGBA_4444 = 13, + MATPLOT_GL_RGBA_5551 = 14, + MATPLOT_GL_RGB_FLOAT = 15, + MATPLOT_GL_RGBA_FLOAT = 16, + MATPLOT_GL_GRAY_FLOAT = 17, + MATPLOT_GL_RED_16 = 18, + MATPLOT_GL_GREEN_16 = 19, + MATPLOT_GL_BLUE_16 = 20, + MATPLOT_GL_RED_FLOAT = 21, + MATPLOT_GL_GREEN_FLOAT = 22, + MATPLOT_GL_BLUE_FLOAT = 23, + MATPLOT_GL_RGBA_BYTE = 24 +} GLType; + +/** + * Build an integer which contains the given info + * @param[in] datatype the data type + * @param[in] dataorder the data order + * @param[in] imagetype the image type + * @return an int + */ +GRAPHIC_OBJECTS_IMPEXP int buildMatplotType(DataType datatype, DataOrder dataorder, ImageType imagetype); + +#endif // MATPLOT_H diff --git a/modules/graphic_objects/includes/MeshData.hxx b/modules/graphic_objects/includes/MeshData.hxx new file mode 100755 index 000000000..b50c8dc25 --- /dev/null +++ b/modules/graphic_objects/includes/MeshData.hxx @@ -0,0 +1,198 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef MESH_DATA_HXX +#define MESH_DATA_HXX + +#include "Data3D.hxx" + +extern "C" { +#include "BOOL.h" +} + +/** + * Mesh data class + */ + +class MeshData: public Data3D +{ + +protected: + + /** + * Vertex coordinates array + * Contiguous (x, y, z) triplets + */ + double* vertices; + + /** Element indices array + * Contiguous (v0, v1, v2, ...) triplets + */ + unsigned int* indices; + + /** + * Per-vertex or per-facet scalar values + * Considered to be per-vertex for now + * To be correctly implemented + */ + double* values; + + /** Number of vertices */ + unsigned int numberVertices; + + /** Number of elements */ + unsigned int numberElements; + + unsigned int numberVerticesByElem; + +public: + /** + * Constructor + */ + MeshData(void); + + /** + * Constructor + * To be implemented + */ + MeshData(unsigned int numberVertices, unsigned int numberElements, unsigned int numberVerticesByElem = 3); + + /** + * Destructor + */ + virtual ~MeshData(); + + /** + * Returns the identifier associated to a property name + * @param[in] propertyName the property name + * @return the property identifier + */ + int getPropertyFromName(int propertyName); + + /** + * Sets a data property + * @param[in] property the property identifier + * @param[in] value a pointer to the property values + * @param[in] numElements the number of elements to set + * @return 1 if the property has been successfully set, 0 otherwise + */ + int setDataProperty(int property, void const* value, int numElements); + + /** + * Returns a data property + * @param[in] property the property identifier + * @param[out] a pointer to a pointer to the returned property values + */ + void getDataProperty(int property, void **_pvData); + + /** + * Returns the number of vertices composing the mesh + * @return the number of vertices + */ + unsigned int getNumVertices(); + + /** + * Sets the number of vertices + * Resizes the vertex array if required + * @param[in] numVertices the number of vertices to set + * @return 1 if the number of vertices has been successfully set, 0 otherwise (failed allocation) + */ + int setNumVertices(unsigned int numVertices); + + /** + * Returns the number of index triplets (number of elements) + * @return the number of index triplets + */ + unsigned int getNumIndices(); + + /** + * Returns the array of vertex coordinates + * @return a pointer to the array of vertex coordinates + */ + double* getVertices(void); + + /** + * Sets vertex coordinates + * @param[in] vertices a pointer the array of vertex {x,y,z} coordinates to set + * @param[in] numElements the number of vertices + */ + void setVertices(double const* vertices, unsigned int numElements); + + /** + * Returns the array of indices + * @return a pointer to the array indices + */ + unsigned int* getIndices(void); + + /** + * Sets the number of index triplets + * Resizes the array of indices if required + * @param[in] numIndices the number of index triplets to set + * @return 1 if the number of index triplets has been successfully set, 0 otherwise (failed allocation) + */ + int setNumIndices(unsigned int numIndices); + + /** + * Sets the array of index triplet values + * @param[in] indices a pointer to the array of index triplet values + * @param[in] numElements the number of triplets + */ + void setIndices(unsigned int const* indices, unsigned int numElements); + + /** + * Sets the x coordinates + * @param[in] data a pointer to the array of x coordinates + * @param[in] numElements the number of x coordinates to set + */ + void setDataX(double const* data, unsigned int numElements); + + /** + * Sets the y coordinates + * @param[in] data a pointer to the array of y coordinates + * @param[in] numElements the number of y coordinates to set + */ + void setDataY(double const* data, unsigned int numElements); + + /** + * Sets the z coordinates + * @param[in] data a pointer to the array of z coordinates + * @param[in] numElements the number of z coordinates to set + */ + void setDataZ(double const* data, unsigned int numElements); + + /** + * Returns the array of per-vertex values + * @return a pointer to the array of per-vertex values + */ + double* getValues(void); + + /** + * Sets the array of per-vertex values + * @param[in] data a pointer to the array of per-vertex values + * @param[in] numElements the number of values to set + */ + void setValues(double const* data, unsigned int numElements); + + /** + * Resets the vertex coordinates + */ + void resetCoordinates(void); + + /** + * Converts a vertex index as seen by Scilab to an internal format vertex index + * @param[in] scilabIndex the Scilab index to convert + * @return the internal format vertex index + */ + static unsigned int scilabIndexToIndex(unsigned int scilabIndex); +}; + +#endif diff --git a/modules/graphic_objects/includes/MeshFecData.hxx b/modules/graphic_objects/includes/MeshFecData.hxx new file mode 100755 index 000000000..715174e73 --- /dev/null +++ b/modules/graphic_objects/includes/MeshFecData.hxx @@ -0,0 +1,109 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef MESH_FEC_DATA_HXX +#define MESH_FEC_DATA_HXX + +#include "Data3D.hxx" +#include "MeshData.hxx" + +extern "C" { +#include "BOOL.h" +} + +/** + * Fec triangle mesh data class + */ + +class MeshFecData: public MeshData +{ + +private: + + /** + * Fec-specific triangle values array + * Each fec triangle is a 5-tuple (number, v0, v1, v2, flag), the numTriangles + * values being stored contiguously for each element (numTriangles number values, + * numTriangles v0 values, etc.) + * The v0, v1, v2 values are duplicate with the parent class' indices. + */ + double* fecValues; + +public: + /** + * Constructor + */ + MeshFecData(void); + + /** + * Constructor + * To be implemented + */ + MeshFecData(unsigned int numberVertices, unsigned int numberTriangles, unsigned int numberVerticesByElem = 3); + + /** + * Destructor + */ + virtual ~MeshFecData(); + + /** + * Returns the identifier associated to a property name + * @param[in] propertyName the property name + * @return the property identifier + */ + int getPropertyFromName(int propertyName); + + /** + * Sets a data property + * @param[in] property the property identifier + * @param[in] value a pointer to the property values + * @param[in] numElements the number of elements to set + * @return 1 if the property has been successfully set, 0 otherwise + */ + int setDataProperty(int property, void const* value, int numElements); + + /** + * Returns a data property + * @param[in] property the property identifier + * @param[out] a pointer to a pointer to the returned property values + */ + void getDataProperty(int property, void **_pvData); + + /** + * Returns the number of index triplets + * @return the number of index triplets + */ + unsigned int getNumIndices(); + + /** + * Sets the number of number of index triplets + * Resizes the arrays of indices and fec triangle values if required + * @param[in] numIndices the number of index triplets to set + * @return 1 if the number of index triplets has been successfully set, 0 otherwise (failed allocation) + */ + int setNumIndices(unsigned int numIndices); + + /** + * Sets the array of fec triangle values + * @param[in] a pointer to the array of fec triangles values + * @param[in] numElements the number of triangles to set + */ + void setFecElements(double const* data, int numElements); + + /** + * Returns the array of fec triangle values + * @return a pointer to the array of fec triangle values + */ + double* getFecElements(void); +}; + +#endif diff --git a/modules/graphic_objects/includes/MeshFecDataDecomposer.hxx b/modules/graphic_objects/includes/MeshFecDataDecomposer.hxx new file mode 100755 index 000000000..6303eb69a --- /dev/null +++ b/modules/graphic_objects/includes/MeshFecDataDecomposer.hxx @@ -0,0 +1,185 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef MESHFECDATA_DECOMPOSER_HXX +#define MESHFECDATA_DECOMPOSER_HXX + +/** + * TriangleMeshFecData decomposer class + * Determines the vertices and the segments indices to be rendered + * as a function of the decomposed TriangleMeshFecData object's properties. + * It only has static member functions since it stores no actual state. + */ + +class MeshFecDataDecomposer +{ + +private : + + /** + * Computes and returns the minimum and maximum values of an array. + * @param[in] the value array. + * @param[in] the array's number of values. + * @param[out] a pointer to the returned minimum value. + * @param[out] a pointer to the returned maximum value. + */ + static void computeMinMaxValues(double* values, int numValues, double* valueMin, double* valueMax); + + /** + * Determines whether a face's vertices are valid or not. + * @param[in] the coordinates array. + * @param[in] the first vertex index. + * @param[in] the second vertex index. + * @param[in] the third vertex index. + * @param[in] a flag specifying whether logarithmic coordinates are used. + * @return 1 if the face is valid, 0 if it is not. + */ + static int areFaceVerticesValid(double* coordinates, int v0, int v1, int v2, int logMask); + + /** + * Determines whether a face's vertices are valid or not. + * @param[in] the coordinates array. + * @param[in] the first vertex index. + * @param[in] the second vertex index. + * @param[in] a flag specifying whether logarithmic coordinates are used. + * @return 1 if the face is valid, 0 if it is not. + */ + static int areSegmentVerticesValid(double* coordinates, int v0, int v1, int logMask); + + /** + * Determines whether a face's vertex values are valid or not. + * @param[in] the values array. + * @param[in] the first vertex index. + * @param[in] the second vertex index. + * @param[in] the third vertex index. + * @return 1 if all face values are valid, 0 if not. + */ + static int areFaceValuesValid(double* values, int v0, int v1, int v2); + + /** + * Determines whether a face's vertex values are valid or not. + * @param[in] the values array. + * @param[in] the first vertex index. + * @param[in] the second vertex index. + * @return 1 if all face values are valid, 0 if not. + */ + static int areSegmentValuesValid(double* values, int v0, int v1); + + /** + * Determines whether all the vertex indices making up a face are valid. + * To be valid, an index must belong to the interval [0, numVertices-1] + * @param[in] the number of vertices giving the largest valid vertex index. + * @param[in] the first vertex index. + * @param[in] the second vertex index. + * @param[in] the third vertex index. + * @return 1 if all indices are valid, 0 if not. + */ + static int areFaceIndicesValid(int numVertices, int v0, int v1, int v2); + + /** + * Determines whether all the vertex indices making up a face are valid. + * To be valid, an index must belong to the interval [0, numVertices-1] + * @param[in] the number of vertices giving the largest valid vertex index. + * @param[in] the first vertex index. + * @param[in] the second vertex index. + * @return 1 if all indices are valid, 0 if not. + */ + static int areSegmentIndicesValid(int numVertices, int v0, int v1); + + /** + * Returns the coordinates of a single vertex. + * @param[in] the coordinates array. + * @param[in] the vertex index. + * @param[out] a pointer to the returned coordinates {x, y, z}. + */ + static void getVertexCoordinates(double* coordinates, int index, double* vertexCoordinates); + +public : + + /** + * Returns the number of data elements for the given object. + * @param[in] the given object id. + * @return the number of data elements. + */ + static int getDataSize(int id); + + /** + * Fills the given buffer with vertex data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinates taken by one element in the buffer. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation factor to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + */ + static void fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask); + + /** + * Fills the given buffer with color data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of components taken by one element in the buffer (3 or 4). + */ + static void fillColors(int id, float* buffer, int bufferLength, int elementsSize); + + /** + * Fills the given buffer with texture coordinates data from the given object. + * @param[in] the id of the given object. + * @param[in] the buffer to fill. + * @param[in] the buffer length in number of elements. + */ + static void fillTextureCoordinates(int id, float* buffer, int bufferLength); + + /** + * Returns the number of indices for the given object. + * @param[in] the given object id. + * @return the object's number of indices. + */ + static int getIndicesSize(int id); + + /** + * Fills the given buffer with indices data of the given object. + * @param[in] the given object id. + * @param[out] the buffer to fill. + * @param[in] the buffer length. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + static int fillIndices(int id, int* buffer, int bufferLength, int logMask); + + /** + * Returns the number of wireframe indices for the given object. + * It is equal to twice the number of segments that can be at most + * drawn according to the Fec object's properties and therefore does not + * take non-representable points into account. + * @param[in] the given object id. + * @return the object's number of indices. + */ + static int getWireIndicesSize(int id); + + /** + * Fills the given buffer with wireframe indices data of the given object. + * The number of indices actually written is equal to or less than + * the buffer length, which is the object's maximum number of indices. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + static int fillWireIndices(int id, int* buffer, int bufferLength, int logMask); +}; + +#endif diff --git a/modules/graphic_objects/includes/NgonData.hxx b/modules/graphic_objects/includes/NgonData.hxx new file mode 100755 index 000000000..97c6a42c4 --- /dev/null +++ b/modules/graphic_objects/includes/NgonData.hxx @@ -0,0 +1,99 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef NGON_DATA_HXX +#define NGON_DATA_HXX + +#include <string> + +#include "Data3D.hxx" + +extern "C" { +#include "BOOL.h" + +#include <stdio.h> +} + +/** + * Abstract class for n-gon data + */ + +class NgonData : public Data3D +{ +protected : + + /** The total number of n-gons */ + int numGons; + + /** The number of vertices making up a single n-gon */ + int numVerticesPerGon; + +public : + /** + * Constructor + */ + NgonData(void); + + /** + * Destructor + */ + ~NgonData(void); + + /** + * Returns the identifier associated to a property name + * @param[in] propertyName the property name + * @return the property identifier + */ + int getPropertyFromName(int propertyName); + + /** + * Sets a data property + * @param[in] property the property identifier + * @param[in] value a pointer to the property values + * @param[in] numElements the number of elements to set + * @return 1 if the property has been successfully set, 0 otherwise + */ + int setDataProperty(int property, void const* value, int numElements); + + /** + * Returns a data property + * @param[in] property the property identifier + * @param[out] a pointer to a pointer to the returned property values + */ + void getDataProperty(int property, void **_pvData); + + /** + * Sets the number of n-gons + * @param[in] the number of n-gons + */ + void setNumGons(int numGons); + + /** + * Returns the number of n-gons + * @return the number of n-gons + */ + int getNumGons(void); + + /** + * Sets the number of vertices making up a single n-gon + * @param[in] the number of vertices per n-gon + */ + void setNumVerticesPerGon(int numVerticesPerGon); + + /** + * Returns the number of vertices making up a single n-gon + * @return the number of vertices per n-gon + */ + int getNumVerticesPerGon(void); +}; + +#endif diff --git a/modules/graphic_objects/includes/NgonGeneralData.hxx b/modules/graphic_objects/includes/NgonGeneralData.hxx new file mode 100755 index 000000000..89a449472 --- /dev/null +++ b/modules/graphic_objects/includes/NgonGeneralData.hxx @@ -0,0 +1,166 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef NGON_GENERAL_DATA_HXX +#define NGON_GENERAL_DATA_HXX + +#include <string> + +#include "NgonData.hxx" + +extern "C" { +#include "BOOL.h" + +} + +/** + * General n-gon data class + */ + +class NgonGeneralData : public NgonData +{ +private : + + /** The array of color values */ + double* colorValues; + + /** The size of the color values array */ + int numColors; + +protected : + /** The coordinates array */ + double* coordinates; + +public : + /** + * Constructor + */ + NgonGeneralData(void); + + /** + * Destructor + */ + virtual ~NgonGeneralData(void); + + /** + * Returns the identifier associated to a property name + * @param[in] propertyName the property name + * @return the property identifier + */ + int getPropertyFromName(int propertyName); + + /** + * Sets a data property + * @param[in] property the property identifier + * @param[in] value a pointer to the property values + * @param[in] numElements the number of elements to set + * @return 1 if the property has been successfully set, 0 otherwise + */ + int setDataProperty(int property, void const* value, int numElements); + + /** + * Returns a data property + * @param[in] property the property identifier + * @param[out] a pointer to a pointer to the returned property values + */ + void getDataProperty(int property, void **_pvData); + + /** + * Returns the data coordinates array + * @return a pointer to the coordinates array + */ + double* getData(); + + /** + * Returns the data x coordinates array + * @return a pointer to the x coordinates + */ + double* getDataX(void); + + /** + * Returns the data y coordinates array + * @return a pointer to the y coordinates + */ + double* getDataY(void); + + /** + * Returns the data z coordinates array + * @return a pointer to the z coordinates + */ + double* getDataZ(void); + + /** + * Sets the coordinates data + * @param[in] data a pointer to the data (3 * numElements values) + * @param[in] numElements the number of points in the data array ( #n-gons * #vertices per n-gon) + */ + void setData(double const* data, int numElements); + + /** + * Sets the x coordinates data + * @param[in] data a pointer to the data (numElements values) + * @param[in] numElements the number of points in the data array ( #n-gons * #vertices per n-gon) + */ + void setDataX(double const* data, int numElements); + + /** + * Sets the y coordinates data + * @param[in] data a pointer to the data (numElements values) + * @param[in] numElements the number of points in the data array ( #n-gons * #vertices per n-gon) + */ + void setDataY(double const* data, int numElements); + + /** + * Sets the z coordinates data + * @param[in] data a pointer to the data (numElements values) + * @param[in] numElements the number of points in the data array ( #n-gons * #vertices per n-gon) + */ + void setDataZ(double const* data, int numElements); + + /** + * Returns the number of elements (number of n-gons) + * @return the number of n-gons + */ + int getNumElements(void); + + /** + * Sets the number of elements (number of n-gons, + * number of vertices per n-gon, and number of color values) + * Resizes the data coordinates array if required, must therefore + * be called before any setData call. + * @param[in] numElementsArray a pointer to a 3-element array (# n-gons, # vertices per n-gon, # color values) + * @return 1 if it succeeded, 0 if the allocation failed + */ + int setNumElementsArray(int const* numElementsArray); + + /** + * Returns the color values array + * @return a pointer to the color values array + */ + double* getColors(void); + + /** + * Sets the color values array + * @param[in] colors a pointer to the color values array + * @param[in] numElements the number of color values in the data array + */ + void setColors(double const* colors, int numElements); + + /** + * Returns the number of colors + * @return the number of colors + */ + int getNumColors(void); + +}; + +#endif diff --git a/modules/graphic_objects/includes/NgonGridData.hxx b/modules/graphic_objects/includes/NgonGridData.hxx new file mode 100755 index 000000000..1ab4b8a94 --- /dev/null +++ b/modules/graphic_objects/includes/NgonGridData.hxx @@ -0,0 +1,193 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef NGON_GRID_DATA_HXX +#define NGON_GRID_DATA_HXX + +#include <string> + +#include "NgonData.hxx" + +extern "C" { +#include "BOOL.h" +} + +/** + * N-gons grid data class + */ + +class NgonGridData : public NgonData +{ +protected : + + /** The x coordinates array */ + double* xCoordinates; + + /** The y coordinates array */ + double* yCoordinates; + + /** The z coordinates array */ + double* zCoordinates; + + /** + * The z coordinates shift value + * It is used exclusively to modify the z-position of Grayplot and Matplot objects, + * as their z coordinates actually correspond to data values, and must be set to 0 + * in any other case. + */ + double zCoordinatesShift; + + /** The grid x size */ + int xSize; + + /** The grid y size */ + int ySize; + + /** + * The grid x vector dimensions (rows, columns) + * One of them must be equal to 1 and the other one to xSize. + */ + int xDimensions[2]; + + /** + * The grid y vector dimensions (rows, colums) + * One of them must be equal to 1 and the other one to ySize. + */ + int yDimensions[2]; + +public : + + /** + * Constructor + */ + NgonGridData(void); + + /** + * Destructor + */ + ~NgonGridData(void); + + /** + * Returns the identifier associated to a property name + * @param[in] propertyName the property name + * @return the property identifier + */ + int getPropertyFromName(int propertyName); + + /** + * Sets a data property + * @param[in] property the property identifier + * @param[in] value a pointer to the property values + * @param[in] numElements the number of elements to set + * @return 1 if the property has been successfully set, 0 otherwise + */ + int setDataProperty(int property, void const* value, int numElements); + + /** + * Returns a data property + * @param[in] property the property identifier + * @param[out] a pointer to a pointer to the returned property values + */ + void getDataProperty(int property, void **_pvData); + + /** + * Returns the grid's x size + * @return the grid's x size + */ + int getNumX(void); + + /** + * Returns the grid's y size + * @return the grid's y size + */ + int getNumY(void); + + /** + * Returns the grid's z size + * @return the grid's number of elements + */ + int getNumZ(void); + + /** + * Returns the grid's x vector dimensions + * @return a pointer to a 2-element array (nb rows, nb columns) + */ + int* getXDimensions(void); + + /** + * Returns the grid's y vector dimensions + * @return a pointer to a 2-element array (nb rows, nb columns) + */ + int* getYDimensions(void); + + /** + * Sets the grid's x and y vectors dimensions + * Resizes the x, y, and z data coordinates arrays if required + * and must therefore be called prior to any setData call + * @param[in] gridSize a pointer to a 4-element array: x vector (nb rows, nb cols) and y vector (nb rows, nb cols) dimensions + * @return 1 if the property has been successfully set, 0 otherwise (failed allocation) + */ + int setGridSize(int const* gridSize); + + /** + * Sets the grid's x data + * @param[in] data a pointer to the x data (numElements values) + * @param[in] numElements the number of elements to set + */ + void setDataX(double const* data, int numElements); + + /** + * Sets the grid's y data + * @param[in] data a pointer to the y data (numElements values) + * @param[in] numElements the number of elements to set + */ + void setDataY(double const* data, int numElements); + + /** + * Sets the grid's z data + * @param[in] data a pointer to the z data (numElements values) + * @param[in] numElements the number of elements to set + */ + void setDataZ(double const* data, int numElements); + + /** + * Sets the grid's z coordinates shift + * @param[in] data a pointer to the z shift value + */ + void setZCoordinatesShift(double const* data); + + /** + * Returns the grid's x data + * @return a pointer to the grid's x data + */ + double* getDataX(void); + + /** + * Returns the grid's y data + * @return a pointer to the grid's y data + */ + double* getDataY(void); + + /** + * Returns the grid's z data + * @return a pointer to the grid's z data + */ + double* getDataZ(void); + + /** + * Returns the grid's z coordinates shift + * @return the z shift value + */ + double getZCoordinatesShift(void); +}; + +#endif diff --git a/modules/graphic_objects/includes/NgonGridDataDecomposer.hxx b/modules/graphic_objects/includes/NgonGridDataDecomposer.hxx new file mode 100755 index 000000000..ae7971c89 --- /dev/null +++ b/modules/graphic_objects/includes/NgonGridDataDecomposer.hxx @@ -0,0 +1,340 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef NGONGRIDDATA_DECOMPOSER_HXX +#define NGONGRIDDATA_DECOMPOSER_HXX + +#include <string> + +extern "C" { +#include <stdlib.h> +} + +/** + * NgonGridData decomposer class + * Determines the vertices and the segments indices to be rendered + * as a function of the decomposed NgonGridData object's properties. + * + * To do: being able to specify either per-facet or per-vertex colors at execution time. + * Specifying per-facet colors and using flat shading at render time would reduce + * the vertex and color data duplication made necessary by using smooth shading + * when rendering flag-shaded facets (see the vertex and color data fill functions), + * with only a few additional modifications to the aforementioned functions. + */ + +class NgonGridDataDecomposer +{ + +private : + + /** NgonGridData decomposer instance */ + static NgonGridDataDecomposer* decomposer; + +protected : + + /** + * Fills a buffer with vertex data from a grid. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinates taken by one element in the buffer. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation factor to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the grid x-coordinate array. + * @param[in] the grid y-coordinate array. + * @param[in] the grid z-coordinate array. + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + */ + virtual void fillGridVertices(float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask, + double* x, double* y, double* z, int numX, int numY); + + /** + * Fills a buffer with color data from a grid. + * Colors are looked up in a color map, which is linearly mapped to the grid's normalized z values. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of components taken by a color element (3 or 4). + * @param[in] a pointer to the colormap used. + * @param[in] the colormap's size. + * @param[in] the grid z-coordinate array. + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + */ + void fillNormalizedZGridColors(float* buffer, int bufferLength, int elementsSize, double* colormap, int colormapSize, + double* z, int numX, int numY); + + /** + * Fills a buffer with color data from a grid. + * Colors are looked up in a color map, which is directly mapped to the grid's z values. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of components taken by a color element (3 or 4). + * @param[in] a pointer to the colormap used. + * @param[in] the colormap's size. + * @param[in] the grid z-coordinate array. + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + */ + void fillDirectGridColors(float* buffer, int bufferLength, int elementsSize, double* colormap, int colormapSize, + double* z, int numX, int numY); + + /** + * Returns the coordinates of the (i,j) facet's four vertices, where (i,j) is the facet's + * lower-left corner. Vertices are output in the following order: (i,j), (i+1,j), (i+1,j+1) and (i,j+1). + * @param[in] the grid x-coordinate array. + * @param[in] the grid y-coordinate array. + * @param[in] the grid z-coordinate array. + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + * @param[in] the lower-left corner's x index. + * @param[in] the lower-left corner's y index. + * @param[out] the facet's vertices (4 (x,y,z) triplets). + */ + void getFacetCoordinates(double* x, double* y, double* z, int numX, int numY, int i, int j, + double vertices[4][3]); + + /** + * Returns the z-coordinate of the (i,j) grid point. + * It treats z as a 1-element array, hence all grid points have the same z-value. + * @param[in] the grid z-coordinate array. + * @param[in] the grid's number of points along the x-axis. + * @param[in] the grid's number of points along the y-axis. + * @param[in] the point's x index. + * @param[in] the point's y index. + * @return the (i,j) grid point's z-coordinate. + */ + virtual double getZCoordinate(double* z, int numX, int numY, int i, int j); + + /** + * Returns the z-coordinate of the (i,j) grid point, taking + * into account logarithmic scaling. + * It treats z as a 1-element array, hence all grid points have the same z-value. + * @param[in] the grid z-coordinate array. + * @param[in] the grid's number of points along the x-axis. + * @param[in] the grid's number of points along the y-axis. + * @param[in] the point's x index. + * @param[in] the point's y index. + * @param[in] a flag specifying whether logarithmic scaling is used. + * @return the (i,j) grid point's z-coordinate. + */ + virtual double getZCoordinate(double* z, int numX, int numY, int i, int j, int logUsed); + + /** + * Returns the value of the (i,j) grid point. + * @param[in] the grid value array. + * @param[in] the grid's number of points along the x-axis. + * @param[in] the grid's number of points along the y-axis. + * @param[in] the point's x index. + * @param[in] the point's y index. + * @return the (i,j) grid point's value. + */ + virtual double getValue(double* values, int numX, int numY, int i, int j); + + /** + * Fills a buffer with triangle indices from a decomposed grid. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the grid x-coordinate array. + * @param[in] the grid y-coordinate array. + * @param[in] the grid z-coordinate array. + * @param[in] the grid value array. + * @param[in] a flag indicating whether grid values are defined per node (1) or per facet (0). + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + * @return the number of indices actually written. + */ + int fillTriangleIndices(int* buffer, int bufferLength, int logMask, double* x, double* y, double* z, double* values, int perNodeValues, + int numX, int numY); + + /** + * Decomposes facet (i,j) into triangles and outputs the resulting vertex indices, where (i,j) is + * the facet's lower-left corner. As N-gon grid objects are plane, it always decomposes facets + * exactly the same way. The output triangles' vertex indices are in counter-clockwise order. + * @param[in] the grid x-coordinate array. + * @param[in] the grid y-coordinate array. + * @param[in] the grid z-coordinate array. + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + * @param[in] the lower-left corner's x index. + * @param[in] the lower-left corner's y index. + * @param[in] the facet vertices' indices (4-element array: (i,j), (i+1,j), (i+1,j+1) and (i,j+1) indices). + * @param[out] the triangles' indices (6-element array: two consecutive triplets). + */ + virtual void getFacetTriangles(double* x, double* y, double* z, int numX, int numY, int i, int j, + int* facetVertexIndices, int* triangleVertexIndices); + + /** + * Determines whether a facet is valid. + * The facet is identified by its lower left-corner (i,j). It requires a flag (computed beforehand) + * as an input which indicates whether the (i,j) to (i,j+1) edge is valid or not, and outputs + * another flag indicating whether the (i+1,j) to (i+1,j+1) edge is valid or not. + * @param[in] the grid z-coordinate array. + * @param[in] the grid value array. + * @param[in] a flag indicating whether grid values are defined per node (1) or per facet (0). + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + * @param[in] the lower-left corner's x index. + * @param[in] the lower-left corner's y index. + * @param[in] a flag specifying whether logarithmic coordinates are used. + * @param[in] a flag indicating whether the (i,j) to (i,j+1) edge is valid. + * @param[out] a pointer to the output flag indicating whether the (i+1,j) to (i+1,j+1) edge is valid. + * @return 1 if the facet is valid, 0 if it is not. + */ + virtual int isFacetValid(double* z, double* values, int perNodeValues, int numX, int numY, int i, int j, int logUsed, int currentEdgeValid, int* nextEdgeValid); + + /** + * Determines whether the left edge of a facet is valid. + * The left edge is between the lower-left corner (i,j) and the + * upper-left corner (i,j+1). The edge's validity depends only + * on its endpoints' z coordinates. + * @param[in] the grid z-coordinate array. + * @param[in] the grid value array. + * @param[in] a flag indicating whether grid values are defined per node (1) or per facet (0). + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + * @param[in] the lower-left corner's x index. + * @param[in] the lower-left corner's y index. + * @param[in] a flag specifying whether logarithmic coordinates are used. + * @return 1 if the edge valid, 0 if it is not. + */ + virtual int isFacetEdgeValid(double* z, double* values, int perNodeValues, int numX, int numY, int i, int j, int logUsed); + + /** + * Returns a 1D vertex index from its x and y indices. + * @param[in] the number of vertices along the x-axis. + * @param[in] the number of vertices along the y-axis. + * @param[in] the x index. + * @param[in] the y index. + * @return the 1D vertex index. + */ + static int getPointIndex(int numX, int numY, int i, int j); + + /** + * Computes and returns the grid's minimum and maximum z values. + * @param[in] the grid z-coordinate array. + * @param[in] the grid's number of z values along the x-axis. + * @param[in] the grid's number of z values along the y-axis. + * @param[out] a pointer to the returned minimum z value. + * @param[out] a pointer to the returned maximum z value. + */ + static void computeMinMaxZValues(double* z, int numX, int numY, double* zMin, double* zMax); + + /** + * Computes a facet's average z value. + * @param[in] the grid z-coordinate array. + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + * @param[in] the facet's lower-left corner x index. + * @param[in] the facet's lower-left corner y index. + * @return the facet's average z value. + */ + static double computeFacetAverageZValue(double* z, int numX, int numY, int i, int j); + + /** + * Writes the color value of a facet's four vertices into a buffer. + * The color is constant across the whole facet, hence four identical + * color values are consecutively written. + * @param[out] the buffer which is written to. + * @param[in] the buffer offset of the first vertex's color. + * @param[in] the facet color (3 or 4-element array). + * @param[in] the number of components taken by a color element (3 or 4). + */ + static void writeFacetColorToBuffer(float* buffer, int bufferOffset, float* color, int elementsSize, bool hasTransparency = false); + + /** + * Returns the index of a facet's first vertex (its lower-left corner). + * This index corresponds to the location of the facet's first vertex in an array whose elements + * are sets of four vertices, a set corresponding to a single grid facet, with shared vertices + * being duplicated. For facet (i,j), vertices are ordered as follows: (i,j), (i+1,j), (i,j+1), (i+1,j+1) . + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + * @param[in] the facet's lower-left corner x index. + * @param[in] the facet's lower-left corner y index. + * @return the index of the facet's first vertex. + */ + static int getFirstVertexIndex(int numX, int numY, int i, int j); + +public : + + /** + * Returns the class' single instance. + * @return the class instance + */ + static NgonGridDataDecomposer* get(void) + { + if (decomposer == NULL) + { + decomposer = new NgonGridDataDecomposer(); + } + + return decomposer; + } + + /** + * Returns the number of data elements for the given object. + * @param[in] the given object id. + * @return the number of data elements. + */ + static int getDataSize(int id); + + /** + * Fills the given buffer with vertex data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinates taken by one element in the buffer. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation factor to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + */ + static void fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask); + + /** + * Returns the number of indices for the given object. + * @param[in] the given object id. + * @return the object's number of indices. + */ + static int getIndicesSize(int id); + + /** + * Fills the given buffer with indices data of the given object. + * @param[in] the given object id. + * @param[out] the buffer to fill. + * @param[in] the buffer length. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + static int fillIndices(int id, int* buffer, int bufferLength, int logMask); +}; + +/** + * Specifies whether per-vertex or per-facet colors are used (0 corresponds to + * per-facet color values, any other value to per-vertex colors) for all the + * Ngon grid-derived objects, by commenting out the related code blocks. + * Temporary since this should be specified as a parameter of the vertex, + * index and color fill functions, independently for each Ngon grid-derived + * object type. + */ +#define PER_VERTEX_VALUES 0 + +/** + * The default z-coordinate value for plane grid objects + * (Grayplot and Matplot) when the logarithmic scale is used. + * It is added to their z-shift value to obtain the actual z-coordinate. + */ +#define DEFAULT_LOG_COORD_Z 1.0 + +#endif diff --git a/modules/graphic_objects/includes/NgonGridGrayplotDataDecomposer.hxx b/modules/graphic_objects/includes/NgonGridGrayplotDataDecomposer.hxx new file mode 100755 index 000000000..b35a8c107 --- /dev/null +++ b/modules/graphic_objects/includes/NgonGridGrayplotDataDecomposer.hxx @@ -0,0 +1,114 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef NGONGRIDGRAYPLOTDATA_DECOMPOSER_HXX +#define NGONGRIDGRAYPLOTDATA_DECOMPOSER_HXX + +#include <string> + +#include "NgonGridDataDecomposer.hxx" + +extern "C" { +#include <stdlib.h> +} + +/** + * NgonGridGrayplotData decomposer class + * Determines the vertices and the segments indices to be rendered + * as a function of the decomposed Grayplot object's properties. + */ + +class NgonGridGrayplotDataDecomposer : public NgonGridDataDecomposer +{ + +private : + + /** NgonGridGrayplotData decomposer instance */ + static NgonGridGrayplotDataDecomposer* decomposer; + +protected : + + /** + * Determines whether a facet is valid. + * The facet is identified by its lower left-corner (i,j). It requires a flag (computed beforehand) + * as an input which indicates whether the (i,j) to (i,j+1) edge is valid or not, and outputs + * another flag indicating whether the (i+1,j) to (i+1,j+1) edge is valid or not. + * Facet validity determination depends on the flag specifying how grid values are defined (per-node or per-facet). + * @param[in] the grid z-coordinate array. + * @param[in] the grid value array. + * @param[in] a flag indicating whether grid values are defined per node (1) or per facet (0). + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + * @param[in] the lower-left corner's x index. + * @param[in] the lower-left corner's y index. + * @param[in] a flag specifying whether logarithmic coordinates are used. + * @param[in] a flag indicating whether the (i,j) to (i,j+1) edge is valid. + * @param[out] a pointer to the output flag indicating whether the (i+1,j) to (i+1,j+1) edge is valid. + * @return 1 if the facet is valid, 0 if it is not. + */ + virtual int isFacetValid(double* z, double* values, int perNodeValues, int numX, int numY, int i, int j, int logUsed, int currentEdgeValid, int* nextEdgeValid); + + /** + * Determines whether the left edge of a facet is valid. + * The left edge is between the lower-left corner (i,j) and the + * upper-left corner (i,j+1). The edge's validity depends on its + * endpoints' z coordinates and grid values. Its determination also depends on + * the flag specifying how grid values are defined (per-node or per-facet). + * @param[in] the grid z-coordinate array. + * @param[in] the grid value array. + * @param[in] a flag indicating whether grid values are defined per node (1) or per facet (0). + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + * @param[in] the lower-left corner's x index. + * @param[in] the lower-left corner's y index. + * @param[in] a flag specifying whether logarithmic coordinates are used. + * @return 1 if the edge is valid, 0 if it is not. + */ + virtual int isFacetEdgeValid(double* z, double* values, int perNodeValues, int numX, int numY, int i, int j, int logUsed); + +public : + + /** + * Returns the class single instance. + * @return the class instance. + */ + static NgonGridGrayplotDataDecomposer* get(void) + { + if (decomposer == NULL) + { + decomposer = new NgonGridGrayplotDataDecomposer(); + } + + return decomposer; + } + + /** + * Fills the given buffer with color data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of components taken by one element in the buffer (3 or 4). + */ + static void fillColors(int id, float* buffer, int bufferLength, int elementsSize); + + /** + * Fills the given buffer with indices data of the given object. + * @param[in] the given object id. + * @param[out] the buffer to fill. + * @param[in] the buffer length. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + static int fillIndices(int id, int* buffer, int bufferLength, int logMask); +}; + +#endif diff --git a/modules/graphic_objects/includes/NgonGridMatplotData.hxx b/modules/graphic_objects/includes/NgonGridMatplotData.hxx new file mode 100755 index 000000000..eed9f0dd6 --- /dev/null +++ b/modules/graphic_objects/includes/NgonGridMatplotData.hxx @@ -0,0 +1,246 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef NGON_GRID_MATPLOT_DATA_HXX +#define NGON_GRID_MATPLOT_DATA_HXX + +#include <string> + +#include "NgonGridData.hxx" + +extern "C" { +#include "BOOL.h" +#include "Matplot.h" +} + +/** + * N-gons grid Matplot data class + * The xDimensions and yDimensions properties inherited from NgonGridData have no + * useful purpose, as the x and y coordinates arrays are not currently visible to + * the user. + * To be done: refactoring + */ + +class NgonGridMatplotData : public NgonGridData +{ + +private : + + /** The 2D bounding rectangle {xmin, xmax, ymin, ymax} */ + double boundingRectangle[4]; + + /** + * Matplot type + * Specifies whether x and y coordinates are computed directly from element indices (0) + * or computed using the 2D bounding rectangle (1) + */ + int type; + ImageType imagetype; + DataType datatype; + GLType gltype; + DataOrder dataorder; + void * data; + void * scilabData; + unsigned int dataSize; + + static const bool isLittleEndian; + static bool isABGRSupported; + +protected : + + /** + * Computes the x and y coordinates depending on the type member + * If type is equal to 0, x and y coordinates are directly computed from matrix indices + * and the rectangle bounds are updated + * else, if equal to 1, the coordinates are computed by interpolating between the bounding + * rectangle's min and max vertices + */ + void computeCoordinates(void); + +public : + + /** + * Constructor + */ + NgonGridMatplotData(void); + + /** + * Destructor + */ + ~NgonGridMatplotData(void); + + /** + * Returns the identifier associated to a property name + * @param[in] propertyName the property name + * @return the property identifier + */ + int getPropertyFromName(int propertyName); + + /** + * Sets a data property + * @param[in] property the property identifier + * @param[in] value a pointer to the property values + * @param[in] numElements the number of elements to set + * @return 1 if the property has been successfully set, 0 otherwise + */ + int setDataProperty(int property, void const* value, int numElements); + + /** + * Returns a data property + * @param[in] property the property identifier + * @param[out] a pointer to a pointer to the returned property values + */ + void getDataProperty(int property, void **_pvData); + + /** + * Sets the grid's x and y vectors dimensions + * Resizes the x, y, and z data coordinates arrays if required + * and must therefore be called prior to any setData call + * Similar to NgonGridData's setGridSize method, the main difference being how the z data array's size + * is computed. + * To be done: refactoring + * @param[in] gridSize a pointer to a 4-element array: x vector (nb rows, nb cols) and y vector (nb rows, nb cols) dimensions + * @return 1 if the property has been successfully set, 0 otherwise (failed allocation) + */ + int setGridSize(int const* gridSize); + + /** + * Sets the 2D bounding rectangle's coordinates + * Also sets the internal property type according to the value of its argument + * To be done: use the same coordinate ordering as the internal array + * @param[in] a pointer to a 4-element array: {xmin, ymin, xmax, ymax} bounds. If bounds is NULL, type is set to 0, else, it is set to 1 + */ + void setBounds(double const* bounds); + + /** + * Returns the 2D bounding rectangle's coordinates + * @return a pointer to the bounding rectangle coordinates array {xmin, xmax, ymin, ymax} + */ + double* getBounds(void); + + /** + * Returns the Matplot type + * @return the Matplot type value + */ + int getType(void); + + /** + * Set the info about data + * @param[in] data info built with buildMatplotType + */ + void setDataInfos(int datainfos); + + /** + * Get the info about data + * @return the info + */ + int getDataInfos(); + + /** + * Get the OpenGL type + * @return the type + */ + int getGLType(); + + /** + * Get the image type + * @return the type + */ + int getImageType(); + + /** + * Set the image type + * @param[in] imagetype the image type + */ + int setImageType(int imagetype); + + /** + * Get the data order (MATPLOT_FORTRAN or MATPLOT_C corresponding to COLUMN_MAJOR_ORDER & ROW_MAJOR_ORDER) + * @return the order + */ + int getDataOrder(); + + /** + * Set the data order (MATPLOT_FORTRAN or MATPLOT_C corresponding to COLUMN_MAJOR_ORDER & ROW_MAJOR_ORDER) + * @param[in] the order + */ + void setDataOrder(int dataOrder); + + /** + * Set the Scilab data type + * @param[in] datatype the Scilab data type + */ + void setDataType(int datatype); + + /** + * Get the Scilab data type + * @return the Scilab data type + */ + int getDataType(); + + /** + * Set the image data + * @param[in] data the image data + * @param[in] numElements the number of elements + */ + void setImageData(void const* data, const int numElements); + + /** + * Get the image data + * @return the image data + */ + void * getImageData(); + + /** + * Get the Scilab data + * @return the Scilab data + */ + void * getScilabData(); + + /** + * Get the image data size + * @return the iamge data size + */ + unsigned int getImageDataSize(); + + /** + * Dispose the texture data + */ + void disposeTextureData(); + + /** + * Sets the grid's z data + * This method is almost identical to NgonGridData's own setDataZ method + * the only difference being how the maximum number of elements is computed + * To be done: refactoring + * @param[in] data a pointer to the z data (numElements values) + * @param[in] numElements the number of elements to set + */ + void setDataZ(double const* data, int numElements); + + /** + * Set true if ABGR extension is supported + * @param[in] _isABGRSupported true if ABGR extension is supported + */ + static void setABGRSupported(bool _isABGRSupported); + +private: + + /** + * Init a boolean to true or false according to the endianess + */ + static bool initEndian(); + +}; + +#endif diff --git a/modules/graphic_objects/includes/NgonGridMatplotDataDecomposer.hxx b/modules/graphic_objects/includes/NgonGridMatplotDataDecomposer.hxx new file mode 100755 index 000000000..302219e0e --- /dev/null +++ b/modules/graphic_objects/includes/NgonGridMatplotDataDecomposer.hxx @@ -0,0 +1,168 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef NGONGRIDMATPLOTDATA_DECOMPOSER_HXX +#define NGONGRIDMATPLOTDATA_DECOMPOSER_HXX + +#include <string> +#include "ColorComputer.hxx" + +extern "C" +{ +#include "Matplot.h" +} + +/** + * NgonGridMatplotData decomposer class + * Determines the vertices and the segments indices to be rendered + * as a function of the decomposed Matplot object's properties. + * + */ + +class NgonGridMatplotDataDecomposer : public NgonGridDataDecomposer +{ + +private : + + /** NgonGridMatplotData decomposer instance */ + static NgonGridMatplotDataDecomposer* decomposer; + +protected : + + /** + * Fills a buffer with vertex data from a grid. + * In the case of Matplot objects, vertex coordinates are computed using the coordinates of the grid's lower-left corner + * and the distances between two adjacent vertices for both the x and y axes, which we label respectively (xmin, ymin) and + * (xd, yd). The relevant values are used as the x and y coordinate arrays (see the parameter descriptions). + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinates taken by one element in the buffer. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation factor to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the grid x-coordinate array (2 elements: xmin, xd). + * @param[in] the grid y-coordinate array (2 elements: ymin, yd). + * @param[in] the grid z-coordinate array. + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + */ + virtual void fillGridVertices(float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask, + double* x, double* y, double* z, int numX, int numY); + + /** + * Determines whether a facet is valid. + * The facet is identified by its lower left-corner (i,j). + * For a Matplot object, facet (i,j)'s validity depends only on its z coordinate and its (i,j) value, + * edge validity being therefore irrelevant. The flag specifying per-node values should be 0, + * as Matplot grid values are defined per facet, although it is actually unused. + * @param[in] the grid z-coordinate array. + * @param[in] the grid value array. + * @param[in] a flag indicating whether grid values are defined per node (1) or per facet (0). Unused. + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + * @param[in] the lower-left corner's x index. + * @param[in] the lower-left corner's y index. + * @param[in] a flag specifying whether logarithmic coordinates are used. Unused. + * @param[in] (i,j) to (i,j+1) edge validity flag. Unused. + * @param[out] a pointer to the output (i+1,j) to (i+1,j+1) edge validity flag. Always set to 1. + * @return 1 if the facet is valid, 0 if it is not. + */ + virtual int isFacetValid(double* z, double* values, int perNodeValues, int numX, int numY, int i, int j, int logUsed, int currentEdgeValid, int* nextEdgeValid); + + /** + * Determines whether the left edge of a facet is valid. + * For a Matplot object, edge validity is irrelevant, it is therefore always equal to 1. + * @param[in] the grid z-coordinate array. + * @param[in] the grid value array. + * @param[in] a flag indicating whether grid values are defined per node (1) or per facet (0). + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + * @param[in] the lower-left corner's x index. + * @param[in] the lower-left corner's y index. + * @param[in] a flag specifying whether logarithmic coordinates are used. + * @return Always 1. + */ + virtual int isFacetEdgeValid(double* z, double* values, int perNodeValues, int numX, int numY, int i, int j, int logUsed); + +public : + + /** + * Returns the class single instance. + * @return the class instance. + */ + static NgonGridMatplotDataDecomposer* get(void) + { + if (decomposer == NULL) + { + decomposer = new NgonGridMatplotDataDecomposer(); + } + + return decomposer; + } + + /** + * Fills the given buffer with vertex data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinates taken by one element in the buffer. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation factor to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + */ + static void fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask); + + /** + * Fills the given buffer with color data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of components taken by one element in the buffer (3 or 4). + */ + static void fillColors(int id, float* buffer, int bufferLength, int elementsSize); + + /** + * Fills the given buffer with indices data of the given object. + * @param[in] the given object id. + * @param[out] the buffer to fill. + * @param[in] the buffer length. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + static int fillIndices(int id, int* buffer, int bufferLength, int logMask); + + template <typename T> + inline static void fillColorsByIndex(T * indices, float * buffer, int elementsSize, const int nbRow, const int nbCol, double * colormap, const int colormapSize) + { + float facetColor[3]; + T index; + int bufferOffset = 0; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + index = indices[nbRow - 1 + i * nbRow - j]; + ColorComputer::getDirectColor(index - 1, colormap, colormapSize, facetColor); + writeFacetColorToBuffer(buffer, bufferOffset, facetColor, elementsSize); + bufferOffset += 4 * elementsSize; + } + } + } + + static void getRGBAData(ImageType imagetype, DataType datatype, GLType gltype, void * data, float * buffer, int elementsSize, const int nbRow, const int nbCol, double * colormap, const int colormapSize); + +}; + +#endif diff --git a/modules/graphic_objects/includes/NgonPolylineData.hxx b/modules/graphic_objects/includes/NgonPolylineData.hxx new file mode 100755 index 000000000..b6e9df4c3 --- /dev/null +++ b/modules/graphic_objects/includes/NgonPolylineData.hxx @@ -0,0 +1,231 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef NGON_POLYLINE_DATA_HXX +#define NGON_POLYLINE_DATA_HXX + +#include <string> + +#include "NgonGeneralData.hxx" + +extern "C" { +#include "BOOL.h" + +#include <stdio.h> +} + +/** + * A class for polyline data + */ + +class NgonPolylineData : public NgonGeneralData +{ +private : + + /** Specifies whether zCoordinates have been set */ + int zCoordinatesSet; + + /** The x-shift coordinates array */ + double* xShift; + + /** The y-shift coordinates array */ + double* yShift; + + /** The z-shift coordinates array */ + double* zShift; + + /** Specifies whether xShift coordinates have been set */ + int xShiftSet; + + /** Specifies whether yShift coordinates have been set */ + int yShiftSet; + + /** Specifies whether zShift coordinates have been set */ + int zShiftSet; + + /** The coordinates shift array */ + double* coordinatesShift; + + /** data of datatip display function */ + int* display_function_data; + int display_function_data_size; + +public : + /** + * Constructor + */ + NgonPolylineData(void); + + /** + * Destructor + */ + virtual ~NgonPolylineData(void); + + /** + * Returns the identifier associated to a property name + * @param[in] propertyName the property name + * @return the property identifier + */ + int getPropertyFromName(int propertyName); + + /** + * Sets a data property + * @param[in] property the property identifier + * @param[in] value a pointer to the property values + * @param[in] numElements the number of elements to set + * @return 1 if the property has been successfully set, 0 otherwise + */ + int setDataProperty(int property, void const* value, int numElements); + + /** + * Returns a data property + * @param[in] property the property identifier + * @param[out] a pointer to a pointer to the returned property values + */ + void getDataProperty(int property, void **_pvData); + + /** + * Returns the number of elements (number of vertices making up the polyline) + * @return the polyline's number of vertices + */ + int getNumElements(void); + + /** + * Returns the z coordinates flag + * @return the z coordinates flag + */ + int getZCoordinatesSet(void); + + /** + * Sets the z coordinates flag + * @param[in] zCoordinatesSet the z coordinates flag to set (1 to specify that z coordinates have been set, 0 otherwise) + */ + void setZCoordinatesSet(int zCoordinatesSet); + + /** + * Returns the x coordinates shift array + * @return a pointer to the x coordinates shift array + */ + double* getXCoordinatesShift(void); + + /** + * Sets the x coordinates shift array + * Resizes it if required. + * @param[in] data a pointer to the x shift array (numElements values) + * @param[in] numElements the number of elements in the array + */ + int setXCoordinatesShift(double const* data, int numElements); + + /** + * Returns the y coordinates shift array + * @return a pointer to the y coordinates shift array + */ + double* getYCoordinatesShift(); + + /** + * Sets the y coordinates shift array + * Resizes it if required. + * @param[in] data a pointer to the y shift array (numElements values) + * @param[in] numElements the number of elements in the array + */ + int setYCoordinatesShift(double const* data, int numElements); + + /** + * Returns the z coordinates shift array + * @return a pointer to the z coordinates shift array + */ + double* getZCoordinatesShift(); + + /** + * Sets the z coordinates shift array + * Resizes it if required. + * @param data the z shift array (numElements values) + * @param numElements the number of elements in the array + */ + int setZCoordinatesShift(double const* data, int numElements); + + /** + * Returns the x coordinates shift array flag + * @return the x coordinates shift array flag + */ + int getXCoordinatesShiftSet(void); + + /** + * Sets the x coordinates shift array flag + * Deletes it if xShiftSet equal to 0 + * @param[in] the x shift array set flag + */ + void setXCoordinatesShiftSet(int xShiftSet); + + /** + * Returns the y coordinates shift array flag + * @return the y coordinates shift array flag + */ + int getYCoordinatesShiftSet(void); + + /** + * Sets the y coordinates shift array flag + * Deletes it if yShiftSet equal to 0 + * @param[in] the y shift array set flag + */ + void setYCoordinatesShiftSet(int yShiftSet); + + /** + * Returns the z coordinates shift array flag + * @return the z coordinates shift array flag + */ + int getZCoordinatesShiftSet(void); + + /** + * Sets the z coordinates shift array flag + * Deletes it if zShiftSet equal to 0 + * @param[in] the z shift array set flag + */ + void setZCoordinatesShiftSet(int zShiftSet); + + /** + * Sets the number of elements composing the polyline + * (i.e. the number of vertices per gon) + * Updates the coordinates shift arrays if required. + * The latter probably ought to be done in one of the + * Data set methods. + * @param[in] numElementsArray a pointer to a 2-element array (always 1, #vertices) + * @return 1 if it succeeded, 0 if the allocation failed + */ + int setNumElementsArray(int const* numElementsArray); + + /** + * Copies the former shift coordinates array into the new one + * and pads with zeroes if the new number of elements exceeds + * the former one. + * @param[in] newShift a pointer the new shift coordinates array + * @param[in] oldShift a pointer to the former shift coordinates array + * @param[in] numElementsNew the new array's number of elements + */ + void copyShiftCoordinatesArray(double * newShift, double const* oldShift, int numElementsNew); + + /** + * Deletes the coordinates and shift arrays + */ + void deleteCoordinatesArrays(void); + + /** + * Sets data for display function + * @param data (numElements values) + * @param numElements the number of elements in the array + */ + int setDisplayFunctionData(int const* data, int numElements); + int getDisplayFunctionDataSize(); + int* getDisplayFunctionData(); +}; + +#endif diff --git a/modules/graphic_objects/includes/NormalGenerator.hxx b/modules/graphic_objects/includes/NormalGenerator.hxx new file mode 100755 index 000000000..31a7baf29 --- /dev/null +++ b/modules/graphic_objects/includes/NormalGenerator.hxx @@ -0,0 +1,45 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2013 - Pedro SOUZA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef NORMAL_GENERATOR_HXX +#define NORMAL_GENERATOR_HXX + +/** + * Returns the specified quad's vetex normal. + * (i,j) specifies which quad in the grid + * and k specifies which quad's vertex (0 .. 3). + */ +float * getGridNormal(float *buffer, int numX, int numY, int elementSize, int i, int j, int k); + +/** + * Calculates the normal vector for each quad + * averaging the normals of the 2 triangles that + * compose the quad. + */ +bool CalculateGridNormalFlat(float* position, float* buffer, int bufferLength, int elementSize); + +/** + * Calculates the normal vector for each quad + * in per-vertex mode averaging the normals of + * shared vertices. + */ +bool CalculateGridNormalSmooth(float* position, float* buffer, int bufferLength, int elementSize, int numX, int numY); + +/** + * Calculates the normal vector for each given polygon. + * All vertex normals from a given polygon are the + * average sum of each normal of the decomposition + * of that polygon in triangles. + */ +bool CalculatePolygonNormalFlat(float* position, float* buffer, int bufferLength, int elementSize, int polygonVertices); + +#endif diff --git a/modules/graphic_objects/includes/Plot3DDecomposer.hxx b/modules/graphic_objects/includes/Plot3DDecomposer.hxx new file mode 100755 index 000000000..99383f07f --- /dev/null +++ b/modules/graphic_objects/includes/Plot3DDecomposer.hxx @@ -0,0 +1,146 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef PLOT3D_DECOMPOSER_HXX +#define PLOT3D_DECOMPOSER_HXX + +#include "NgonGridDataDecomposer.hxx" + +/** + * Plot3D decomposer class + * Determines the vertices and the segments indices to be rendered + * as a function of the decomposed Plot3D object's properties. + */ + +class Plot3DDecomposer : public NgonGridDataDecomposer +{ + +private : + + /** Plot3D decomposer instance */ + static Plot3DDecomposer* decomposer; + +protected : + + /** + * Returns the z-coordinate of the (i,j) grid point. + * @param[in] the grid z-coordinate array. + * @param[in] the grid's number of points along the x-axis. + * @param[in] the grid's number of points along the y-axis. + * @param[in] the point's x index. + * @param[in] the point's y index. + * @return the (i,j) grid point's z-coordinate. + */ + double getZCoordinate(double* z, int numX, int numY, int i, int j); + + /** + * Returns the z-coordinate of the (i,j) grid point, taking + * into account logarithmic scaling. + * @param[in] the grid z-coordinate array. + * @param[in] the grid's number of points along the x-axis. + * @param[in] the grid's number of points along the y-axis. + * @param[in] the point's x index. + * @param[in] the point's y index. + * @param[in] a flag specifying whether logarithmic scaling is used. + * @return the (i,j) grid point's z-coordinate. + */ + double getZCoordinate(double* z, int numX, int numY, int i, int j, int logUsed); + + /** + * Decomposes facet (i,j) into triangles and outputs the resulting vertex indices, where (i,j) is + * the facet's lower-left corner. As there are two possible decompositions, it chooses the one which + * has the most coplanar triangles. The output triangles' vertex indices are in counter-clockwise order. + * @param[in] the grid x-coordinate array. + * @param[in] the grid y-coordinate array. + * @param[in] the grid z-coordinate array. + * @param[in] the grid's number of vertices along the x-axis. + * @param[in] the grid's number of vertices along the y-axis. + * @param[in] the lower-left corner's x index. + * @param[in] the lower-left corner's y index. + * @param[in] the facet vertices' indices (4-element array: (i,j), (i+1,j), (i+1,j+1) and (i,j+1) indices). + * @param[out] the triangles' vertex indices (6-element array: two consecutive triplets). + */ + virtual void getFacetTriangles(double* x, double* y, double* z, int numX, int numY, int i, int j, + int* facetVertexIndices, int* triangleVertexIndices); + +public : + + /** + * Returns the class' single instance. + * @return the class instance + */ + static Plot3DDecomposer* get(void) + { + if (decomposer == NULL) + { + decomposer = new Plot3DDecomposer(); + } + + return decomposer; + } + + /** + * Fills the given buffer with vertex data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinates taken by one element in the buffer. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation factor to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + */ + static void fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask); + + /** + * Fills the given buffer with color data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of components taken by one element in the buffer (3 or 4). + */ + static void fillColors(int id, float* buffer, int bufferLength, int elementsSize); + + /** + * Fills the given buffer with index data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + static int fillIndices(int id, int* buffer, int bufferLength, int logMask); + + /** + * Returns the number of wireframe indices for the given object. + * It is equal to twice the number of segments that can be at most + * drawn according to the Plot3D object's properties and therefore does not + * take non-representable points into account. + * @param[in] the given object id. + * @return the object's number of indices. + */ + static int getWireIndicesSize(int id); + + /** + * Fills the given buffer with wireframe indices data of the given object. + * The number of indices actually written is equal to or less than + * the buffer length, which is the object's maximum number of indices. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + static int fillWireIndices(int id, int* buffer, int bufferLength, int logMask); +}; + +#endif diff --git a/modules/graphic_objects/includes/PolylineDecomposer.hxx b/modules/graphic_objects/includes/PolylineDecomposer.hxx new file mode 100755 index 000000000..8e9e46980 --- /dev/null +++ b/modules/graphic_objects/includes/PolylineDecomposer.hxx @@ -0,0 +1,440 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef POLYLINE_DECOMPOSER_HXX +#define POLYLINE_DECOMPOSER_HXX + +#include <string> + +extern "C" { +#include <stdio.h> +} + +/** + * Polyline decomposer class + * Determines the vertices and the segments indices to be rendered + * as a function of the decomposed Polyline's properties. + * It only has static member functions since it stores no actual state. + * + * To be optimized: there is a lot of redundant code shared by the + * different fillIndices methods. The decomposition loop code is present + * in each method, whereas the only type-specific operations are those + * actually filling the index buffer. + * Furthermore, the loop is executed twice for methods outputting both + * line segments plus type-specific segments (e.g vertical lines). This + * can be solved by interleaving line and type-specifing segment indices. + */ + +class PolylineDecomposer +{ + +private : + + /** + * Fills a buffer with vertex data from a polyline decomposed into consecutive segments. + * @param[in] the id of the given polyline. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinates taken by one element in the buffer. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation value to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the polyline coordinate array. + * @param[in] the polyline's number of points + * @param[in] the polyline x-shift array. + * @param[in] the polyline y-shift array. + * @param[in] the polyline z-shift array. + */ + static void fillSegmentsDecompositionVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift); + + /** + * Writes the coordinates of a polyline vertex to a buffer. + * Each coordinate may correspond to a different vertex (as specified by an index). + * @param[out] the buffer. + * @param[in] the buffer offset of the vertex's first component. + * @param[in] the polyline coordinate array. + * @param[in] the indices of the polyline vertex(ices) to fetch (3 elements, 1 index for each of the X,Y and Z components). + * @param[in] the polyline's number of points. + * @param[in] the number of components per buffer element. + * @param[in] the polyline x-shift array. + * @param[in] the polyline y-shift array. + * @param[in] the polyline z-shift array. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation value to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + */ + static void getAndWriteVertexToBuffer(float* buffer, int offset, double* coordinates, int* vertexIndices, int nPoints, int elementsSize, + double* xshift, double* yshift, double* zshift, int coordinateMask, double* scale, double* translation, int logMask); + + /** + * Fills a buffer with vertex data from a polyline using a staircase decomposition. + * @param[in] the id of the given polyline. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinates taken by one element in the buffer. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation value to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the polyline coordinate array. + * @param[in] the polyline's number of points + * @param[in] the polyline x-shift array. + * @param[in] the polyline y-shift array. + * @param[in] the polyline z-shift array. + */ + static void fillStairDecompositionVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift); + + /** + * Fills a buffer with vertex data from a polyline decomposed into a series of vertical lines. + * @param[in] the id of the given polyline. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinates taken by one element in the buffer. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation value to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the polyline coordinate array. + * @param[in] the polyline's number of points. + * @param[in] the polyline x-shift array. + * @param[in] the polyline y-shift array. + * @param[in] the polyline z-shift array. + */ + static void fillVerticalLinesDecompositionVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift); + + /** + * Writes one component of the coordinates of a bar's four vertices into a buffer. + * @param[out] the buffer which is written to. + * @param[in] the offsets of the four vertices into the buffer (4-element array). + * @param[in] the offset specifying which component (0, 1 or 2 for respectively X, Y or Z) is written. + * @param[in] the coordinates of the bar's vertices (4-element array, 1 component per vertex). + * @param[in] the shift value applied to the 4 coordinates. + * @param[in] a flag specifying whether the shift is applied or not. + * @param[in] the conversion scale factor to apply. + * @param[in] the conversion translation factor to apply. + * @param[in] a flag specifying whether logarithmic coordinates are used or not. + */ + static void writeBarVerticesToBuffer(float* buffer, int* offsets, int componentOffset, double* coordinates, double shift, int shiftUsed, double scale, double translation, int logUsed); + + /** + * Fills a buffer with vertex data from a polyline decomposed into a series of vertical bars and consecutive segments. + * @param[in] the id of the given polyline. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinates taken by one element in the buffer. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation factor to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the polyline coordinate array. + * @param[in] the polyline's number of points. + * @param[in] the polyline x-shift array. + * @param[in] the polyline y-shift array. + * @param[in] the polyline z-shift array. + */ + static void fillVerticalBarsDecompositionVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift); + + /** + * Fills a buffer with vertex data from a polyline decomposed into a series of horizontal bars and consecutive segments. + * x, y coordinates and shift coordinates are swapped relative to the decomposition into vertical bars. + * To do: refactor with fillVerticalBarsDecompositionVertices as they are very similar. + * @param[in] the id of the given polyline. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinates taken by one element in the buffer. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation factor to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the polyline coordinate array. + * @param[in] the polyline's number of points. + * @param[in] the polyline x-shift array. + * @param[in] the polyline y-shift array. + * @param[in] the polyline z-shift array. + */ + static void fillHorizontalBarsDecompositionVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift); + + /** + * Returns the number of triangle indices of a polyline decomposed into consecutive segments with arrow heads. + * The triangles correspond to the arrow heads. + * @param[in] the polyline's number of points. + * @param[in] a flag indicating whether the polyline is closed or not. + * @return the number of triangle indices. + */ + static int getArrowTriangleIndicesSize(int nPoints, int closed); + + /** + * Returns the number of triangle indices of a polyline decomposed into a series of bars and consecutive segments. + * @param[in] the polyline's number of points. + * @return the number of triangle indices. + */ + static int getBarsDecompositionTriangleIndicesSize(int nPoints); + + /** + * Fills a buffer with triangles indices obtained by triangulation of a polygon whose contour + * is defined by the polyline. + * @param[in] the id of the polyline. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the polyline coordinate array. + * @param[in] the polyline's number of points. + * @param[in] the polyline x-shift array. + * @param[in] the polyline y-shift array. + * @param[in] the polyline z-shift array. + * @param[in] the fill mode flag. + * @param[in] the polyline style. + * @return the number of indices actually written. + */ + static int fillTriangleIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift, int fillMode, int polylineStyle); + + /** + * Fills a buffer with the triangle indices of the arrow heads of a polyline's segments. + * One triangle is output for each valid segment. + * @param[in] the id of the polyline. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the polyline coordinate array. + * @param[in] the polyline's number of points. + * @param[in] the polyline x-shift array. + * @param[in] the polyline y-shift array. + * @param[in] the polyline z-shift array. + * @return the number of indices actually written. + */ + static int fillArrowTriangleIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift); + + /** + * Fills a buffer with the triangle indices of a polyline decomposed into a series of bars and consecutive segments. + * @param[in] the id of the polyline. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the polyline coordinate array. + * @param[in] the polyline's number of points. + * @param[in] the polyline x-shift array. + * @param[in] the polyline y-shift array. + * @param[in] the polyline z-shift array. + * @return the number of indices actually written. + */ + static int fillBarsDecompositionTriangleIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift); + + /** + * Returns the number of segment indices of a polyline decomposed into consecutive segments. + * @param[in] the polyline's number of points. + * @param[in] the line mode flag. + * @param[in] a flag indicating whether the polyline is closed or not. + * @return the number of segment indices. + */ + static int getSegmentsDecompositionSegmentIndicesSize(int nPoints, int lineMode, int closed); + + /** + * Returns the number of segment indices of a polyline decomposed into a series of steps. + * @param[in] the polyline's number of points. + * @param[in] the line mode flag. + * @param[in] a flag indicating whether the polyline is closed or not. + * @return the number of segment indices. + */ + static int getStairDecompositionSegmentIndicesSize(int nPoints, int lineMode, int closed); + + /** + * Returns the number of segment indices of a polyline decomposed into a series of vertical lines and consecutive segments. + * @param[in] the polyline's number of points. + * @param[in] the line mode flag. + * @return the number of segment indices. + */ + static int getVerticalLinesDecompositionSegmentIndicesSize(int nPoints, int lineMode); + + /** + * Returns the number of segment indices of a polyline decomposed into a series of bars and consecutive segments. + * @param[in] the polyline's number of points. + * @param[in] the line mode flag. + * @return the number of segment indices. + */ + static int getBarsDecompositionSegmentIndicesSize(int nPoints, int lineMode); + + /** + * Fills a buffer with the segment indices of a polyline decomposed into consecutive segments. + * @param[in] the id of the polyline. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the polyline coordinate array. + * @param[in] the polyline's number of points. + * @param[in] the polyline x-shift array. + * @param[in] the polyline y-shift array. + * @param[in] the polyline z-shift array. + * @param[in] the line mode flag. + * @param[in] a flag indicating whether the polyline is closed or not. + * @return the number of indices actually written. + */ + static int fillSegmentsDecompositionSegmentIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift, int lineMode, int closed); + + /** + * Fills a buffer with the segment indices of a polyline decomposed into a series of steps. + * @param[in] the id of the polyline. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the polyline coordinate array. + * @param[in] the polyline's number of points. + * @param[in] the polyline x-shift array. + * @param[in] the polyline y-shift array. + * @param[in] the polyline z-shift array. + * @param[in] the line mode flag. + * @param[in] a flag indicating whether the polyline is closed or not. + * @return the number of indices actually written. + */ + static int fillStairDecompositionSegmentIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift, int lineMode, int closed); + + /** + * Fills a buffer with the segment indices of a polyline decomposed into a series of vertical lines and consecutive segments. + * @param[in] the id of the polyline. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the polyline coordinate array. + * @param[in] the polyline's number of points. + * @param[in] the polyline x-shift array. + * @param[in] the polyline y-shift array. + * @param[in] the polyline z-shift array. + * @param[in] the line mode flag. + * @return the number of indices actually written. + */ + static int fillVerticalLinesDecompositionSegmentIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift, int lineMode); + + /** + * Fills a buffer with the segment indices of a polyline decomposed into a series of bars and consecutive segments. + * @param[in] the id of the polyline. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @param[in] the polyline coordinate array. + * @param[in] the polyline's number of points. + * @param[in] the polyline x-shift array. + * @param[in] the polyline y-shift array. + * @param[in] the polyline z-shift array. + * @param[in] the line mode flag. + * @return the number of indices actually written. + */ + static int fillBarsDecompositionSegmentIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift, int lineMode); + + /** + * Returns the coordinates of a polyline point, modified by their corresponding shift values. + * @param[in] the coordinate array + * @param[in] the x-shift array. + * @param[in] the y-shift array. + * @param[in] the z-shift array. + * @param[in] the polyline's number of points. + * @param[in] the point index. + * @param[out] the returned x coordinate. + * @param[out] the returned y coordinate. + * @param[out] the returned z coordinate. + */ + static void getShiftedPolylinePoint(double* coordinates, double* xshift, double* yshift, double* zshift, int nPoints, int index, + double* x, double* y, double* z); + + +public : + + /** + * Returns the number of data elements for the given object. + * @param[in] the given object id. + * @return the number of data elements. + */ + static int getDataSize(int id); + + /** + * Fills the given buffer with vertex data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of coordinates taken by one element in the buffer. + * @param[in] the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param[in] the conversion scale factor to apply to data. + * @param[in] the conversion translation factor to apply to data. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + */ + static void fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask); + + /** + * Fills the given buffer with color data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + * @param[in] the number of components taken by one element in the buffer (3 or 4). + */ + static void fillColors(int id, float* buffer, int bufferLength, int elementsSize); + + /** + * Fills the given buffer with texture coordinate data from the given object. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length in number of elements. + */ + static void fillTextureCoordinates(int id, float* buffer, int bufferLength); + + /** + * Returns the number of indices for the given object. + * @param[in] the given object id. + * @return the object's number of indices. + */ + static int getIndicesSize(int id); + + /** + * Fills the given buffer with indices data of the given object. + * @param[in] the given object id. + * @param[out] the buffer to fill. + * @param[in] the buffer length. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + static int fillIndices(int id, int* buffer, int bufferLength, int logMask); + + /** + * Returns the number of wireframe indices for the given object. + * It is equal to twice the number of segments that can be at most + * drawn according to the polyline's properties and therefore does not + * take non-representable points into account. + * @param[in] the given object id. + * @return the object's number of indices. + */ + static int getWireIndicesSize(int id); + + /** + * Fills the given buffer with wireframe indices data of the given object. + * The number of indices actually written is equal to or less than + * the buffer length, which is the object's maximum number of indices. + * @param[in] the id of the given object. + * @param[out] the buffer to fill. + * @param[in] the buffer length. + * @param[in] the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + static int fillWireIndices(int id, int* buffer, int bufferLength, int logMask); +}; + +#endif diff --git a/modules/graphic_objects/includes/ScilabView.hxx b/modules/graphic_objects/includes/ScilabView.hxx new file mode 100755 index 000000000..d082aebab --- /dev/null +++ b/modules/graphic_objects/includes/ScilabView.hxx @@ -0,0 +1,132 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __SCILAB_VIEW_HXX__ +#define __SCILAB_VIEW_HXX__ + +#include <map> +#include <list> +#include <vector> +#include <string> + +#include "dynlib_graphic_objects.h" + +extern "C" +{ + void ScilabNativeView__createObject(int id); + void ScilabNativeView__deleteObject(int id); + void ScilabNativeView__updateObject(int id, int iProperty); + void ScilabNativeView__setCurrentFigure(int id); + void ScilabNativeView__setCurrentSubWin(int id); + void ScilabNativeView__setCurrentObject(int id); + int ScilabNativeView__getValidDefaultFigureId(); + int ScilabNativeView__getFigureFromIndex(int figNum); +} + +struct PathItem +{ + typedef std::list<int> __child; + typedef __child::iterator __child_iterator; + + std::string tag; + int uid; + int parent; + __child children; + + PathItem() : tag(""), uid(0), parent(0) {} +}; + +class GRAPHIC_OBJECTS_IMPEXP ScilabView +{ +private : + ScilabView() {} + ~ScilabView() {} + + // Define type for easy manipulation. + typedef std::map<int, long> __handleList; + typedef __handleList::iterator __handleList_iterator; + typedef std::map<long, int> __uidList; + typedef __uidList::iterator __uidList_iterator; + typedef std::map<int, int> __figureList; + typedef __figureList::iterator __figureList_iterator; + typedef __figureList::reverse_iterator __figureList_reverse_iterator; + typedef std::map<int, std::vector<int> > __userdata; + + typedef std::map<int, PathItem*> __pathList; + typedef __pathList::iterator __pathList_iterator; + typedef std::map<std::string, int> __pathFigList; + typedef __pathFigList::iterator __pathFigList_iterator; + + static __figureList m_figureList; + static __handleList m_handleList; + static __uidList m_uidList; + static __pathFigList m_pathFigList; + static __pathList m_pathList; + static __userdata m_userdata; + static long m_topHandleValue; + static int m_currentFigure; + static int m_currentObject; + static int m_currentSubWin; + static int m_figureModel; + static int m_axesModel; + +public : + static void createObject(int iUID); + static void deleteObject(int iUID); + static void updateObject(int iUID, int iProperty); + + static int getNbFigure(void); + static void getFiguresId(int ids[]); + static void registerToController(void); + static void unregisterToController(void); + static bool existsFigureId(int id); + static int getFigureFromIndex(int figureNumber); + static bool isEmptyFigureList(void); + static int getValidDefaultFigureId(); + + static int getCurrentFigure(void); + static void setCurrentFigure(int iUID); + + static int getCurrentObject(void); + static void setCurrentObject(int iUID); + + static int getCurrentSubWin(void); + static void setCurrentSubWin(int iUID); + + static long getObjectHandle(int iUID); + static int getObjectFromHandle(long handle); + + static int getFigureModel(void); + static void setFigureModel(int iUID); + + static int getAxesModel(void); + static void setAxesModel(int iUID); + + static PathItem* getItem(int uid); + static PathItem* getItem(std::string _pstTag); + static PathItem* getItem(std::string _pstTag, std::list<int>& _ignoredList); + static PathItem* getFigureItem(std::string _pstTag); + + static int search_path(char* _pstPath); + static std::string get_path(int uid); + + static void setUserdata(int _id, int* _data, int _datasize); + static int getUserdataSize(int _id); + static int* getUserdata(int _id); + +private : + static PathItem* search_children(PathItem* _path, std::string _subPath, bool _bDeep, std::list<int>& _ignoredList); + +}; + +#endif /* !__SCILAB_VIEW_HXX__ */ + diff --git a/modules/graphic_objects/includes/Texture.hxx b/modules/graphic_objects/includes/Texture.hxx new file mode 100755 index 000000000..e6356cc2c --- /dev/null +++ b/modules/graphic_objects/includes/Texture.hxx @@ -0,0 +1,61 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef TEXTURE_HXX +#define TEXTURE_HXX + +extern "C" { +#include "Matplot.h" +} + +/** + * + */ + +class Texture +{ + +private : + + static float GrayR[256]; + static float GrayG[256]; + static float GrayB[256]; + static unsigned char RGB8R[256]; + static unsigned char RGB8G[256]; + static unsigned char RGB8B[256]; + static unsigned char R12[256]; + static const bool isGrayTableInit; + static const bool isRGB8TableInit; + static const bool isR12TableInit; + +public : + + /** + * Get a texture from data + * @param[in] data Scilab data to convert to an OpenGL texture + * @param[in] numElements the number of elements + * @param[in] datatype the type of the data + * @param[in] the expected image type + * @param[out] dest the destination pointer. If its size must be modified, then *dest is allocated. + * @param[out] the texture size + * @param[out] gltype the OpenGL data type + * @return true if *dest has been allocated. + */ + static bool getImage(void const * data, const int numElements, const DataType datatype, const ImageType imagetype, void ** dest, unsigned int * datatSize, GLType * gltype); + +private: + static bool initGrayTables(); + static bool initRGB8Tables(); + static bool initR12Table(); +}; + +#endif // TEXTURE_HXX diff --git a/modules/graphic_objects/includes/Triangulator.hxx b/modules/graphic_objects/includes/Triangulator.hxx new file mode 100755 index 000000000..bb59c8c15 --- /dev/null +++ b/modules/graphic_objects/includes/Triangulator.hxx @@ -0,0 +1,343 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef TRIANGULATOR_HXX +#define TRIANGULATOR_HXX + +#include <algorithm> +#include <limits> +#include <list> +#include <vector> + +#include <iostream> + +/* + * A structure representing a point. + */ +struct Vector3d +{ + double x; + double y; + double z; + + Vector3d() { } + Vector3d(const double _x, const double _y, const double _z) : x(_x), y(_y), z(_z) { } +}; + +/** + * Triangulator class + * An implementation of the ear-clipping triangulation algorithm, + * an O(n^2) complexity algorithm, when n is the triangulated polygon's + * number of points. The polygon must be simple and non-intersecting. + * Triangulation occurs as if the polygon were plane, which is why only + * its two largest dimensions are considered and the third is ignored. + * + * To do: + * -extend to take into account self-intersecting polygons + * -use a more efficient and robust algorithm (such as the decomposition into monotone pieces O(n log n) algorithm) + * -use a dedicated library (more efficient and/or robust) + */ +class Triangulator +{ +private: + /** The array of input points. */ + std::vector<Vector3d> inputPoints; + + /** + * The array of points, filled from the array of input points depending on the polygon's dimensions. + * It contains exactly the same number of points. + */ + std::vector<Vector3d> points; + + /** The polygon's number of points. */ + int numPoints; + + /** The polygons's initial number of points, including colinear vertices. */ + int numInitPoints; + + /** + * Specifies which of the polygon's axes is the smallest. 0, 1 and 2 + * respectively correspond to the x, y, and z axes. + */ + int smallestAxis; + + /** + * Specifies the polygon's two largest axes, which are the triangle's two axes + * other than its smallest one. + */ + int largestAxes[2]; + + /** + * Specifies whether the list of vertex indices must be flipped or not + * and indicates the vertices' order. If false, vertices are ordered counter-clockwise + * whereas they are ordered clockwise if it is true. + */ + bool flipped; + + /** The list of vertex indices. */ + std::list<int> vertexIndices; + + /** The list of actual vertex indices. */ + std::vector<int> actualVertexIndices; + + /** The list of ear vertex indices. */ + std::list<int> earList; + + /** The list of convex vertices. */ + std::list<int> convexList; + + /** The list of reflex vertices. */ + std::list<int> reflexList; + + /** The convexity flag array. */ + std::vector<bool> flagList; + + /** The list of output triangle indices. */ + std::vector<int> triangleIndices; + + /** The number of insertions into the ear vertex list. */ + int numAddEars; + + /** The number of deletions from the ear vertex list. */ + int numDelEars; + + /** The number of steps taken by the triangulation's execution. */ + int numSteps; + + /** The number of ear tests performed. */ + int numEarTests; + + /** The number of colinear vertices. */ + int numColinearVertices; + + double xmin, xmax, ymin, ymax, zmin, zmax; + +private: + /** + * Determines the polygon's smallest axis and its two largest axes. + */ + void determineSmallestAxis(void); + + /** + * Fills the array of points from the array of input points, depending on the polygon's + * smallest axis which must have been determined beforehand. + */ + void fillPoints(void); + + /** + * Computes and returns the polygon's signed area. + * Its sign depends on the order of the polygon's vertices. + * If positive, the vertices are ordered counter-clockwise whereas they are ordered + * clockwise if it is negative. + * @return the polygon's area. + */ + double computeArea(void); + + /** + * Fills the list of vertex indices, depending on their order. + */ + void fillVertexIndices(void); + + /** + * Removes colinear vertices. + */ + void removeColinearVertices(void); + + /** + * Removes duplicate vertices. + */ + void removeDuplicateVertices(void); + + /** + * Fills the list of convex vertices, determining whether each vertex vi is convex or not. + * It also fills the convexity flag array. + */ + void fillConvexVerticesList(void); + + /** + * Fills the list of ear vertices. + */ + void fillEarList(void); + + /** + * Gets the vertices adjacent to vertex i. + * @param[in] vertex i's iterator. + * @param[out] a reference to vertex i-1's iterator. + * @param[out] a reference to vertex i+1's iterator. + */ + void getAdjacentVertices(std::list<int>::iterator vi, std::list<int>::iterator& vim1, std::list<int>::iterator& vip1); + + /** + * Determines whether a vertex is convex or not. + * @param[in] the vertex's iterator. + * @return true if the vertex is convex, false if it is not. + */ + bool isConvex(std::list<int>::iterator vertex); + + /** + * Determines whether a vertex is an ear vertex. + * @param[in] the vertex's iterator. + * @return true if it is an ear, false if not. + */ + bool isAnEar(std::list<int>::iterator vertex); + + /** + * Updates a vertex's state due to the next/previous vertex + * having been removed. It performs an ear test and accordingly + * updates the ear vertex list. If the vertex becomes convex, its + * flag is updated as well as the reflex vertex list. + * @param[in] the updated vertex's iterator. + */ + void updateVertex(std::list<int>::iterator vertex); + + /** + * Computes the dot product between edge e(i) (from vertex i to i+1) and the vector + * orthogonal to edge e(i-1) (from vertex i-1 to i) such that the angle from e(i-1) + * to this vector vector is +90°. + * @param[in] the index of vertex i-1. + * @param[in] the index of vertex i. + * @param[in] the index of vertex i+1. + * @return the dot product. + */ + double computeDotProduct(int im1, int i, int ip1); + + /** + * Determines whether a point P is located within the triangle ABC. + * It considers that P and ABC both lie in the xy plane. + * @param[in] the triangle's first point. + * @param[in] the triangle's second point. + * @param[in] the triangle's third point. + * @return true if P is located within ABC, false if not. + */ + bool pointInTriangle(Vector3d A, Vector3d B, Vector3d C, Vector3d P); + + /** + * Subtracts the second input vector from the first one and returns the result. + * It should be moved to a Vector3d class. + * @param[in] the first vector. + * @param[in] the second vector. + * @return the resulting vector. + */ + static Vector3d minus(Vector3d v0, Vector3d v1); + + /** + * Computes and returns the dot product of two vectors. + * It should be moved to a Vector3d class. + * @param[in] the first vector. + * @param[in] the second vector. + * @return the dot product. + */ + static double dot(Vector3d v0, Vector3d v1); + + /** + * Normalizes a 2D vector, the z coordinate is ignored. + * It should be moved to a Vector3d class. + * @param[in] the vector to normalize. + * @return the normalized vector. + */ + static Vector3d normalize(Vector3d v); + + /** + * Compares whether two vertices are identical or not. + * Two vertices are considered identical if they x and y coordinates + * are equal, the z coordinate being ignored. + * It should be moved to a Vector3d class. + * @param[in] the first vector. + * @param[in] the second vector. + * @return true if the two vertices are identical, false if not. + */ + static bool compareVertices(Vector3d v0, Vector3d v1); + + /** + * Determines whether two floating-point values are equal. + * @param[in] the first value. + * @param[in] the second value. + * @return true if the values are equal, false if not. + */ + static bool areEqual(double x0, double x1); + + /** + * Computes and returns a vector p orthogonal to vector v, + * such that the angle from v to p is +90°. v and p are considered + * to lie in the xy plane. + * It should be moved to a Vector3d class. + * @param[in] the vector. + * @return the vector perpendicular to vector v. + */ + static Vector3d perpendicularVector(Vector3d v); + +public: + /** Default constructor. */ + Triangulator(void); + + /** + * Initializes and fills the lists used by the algorithm from the + * list of input points, which must have been filled beforehand. + */ + void initialize(void); + + /** + * Adds a point to the array of input points. + * @param[in] the point's x-coordinate. + * @param[in] the point's y-coordinate. + * @param[in] the point's z-coordinate. + */ + void addPoint(double x, double y, double z); + + /** + * Triangulates the input data. + */ + void triangulate(void); + + /** + * Returns the number of triangles resulting from the algorithm's execution. + * @return the number of triangles. + */ + int getNumberTriangles(void); + + /** + * Returns the array of triangle indices resulting from the algorithm's execution. + * @return a pointer to the array of triangle indices. + */ + int* getIndices(void); + + /** + * Returns the number steps performed by the algorithm. + * @return the number of steps performed. + */ + int getNumberSteps(); + + /** + * Returns the number of ear tests performed by the algorithm. + * Relevant only to debugging. + * @return the number of ear tests performed. + */ + int getNumberEarTests(); + + /** + * Clears the lists of points, vertex indices, and the lists storing + * the algorithm's internal state (vertex indices, ear vertices and others). + */ + void clear(void); +}; + +/** + * An arbitrary tolerance value used to determine colinear edges. + */ +#define TOLERANCE 0.0000001 + +/** + * An epsilon value used when comparing vertices. + */ +#define EPSILON 0.00000001 + +#endif diff --git a/modules/graphic_objects/includes/createGraphicObject.h b/modules/graphic_objects/includes/createGraphicObject.h new file mode 100755 index 000000000..2340058b3 --- /dev/null +++ b/modules/graphic_objects/includes/createGraphicObject.h @@ -0,0 +1,77 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __CREATEGRAPHICOBJECT_H__ +#define __CREATEGRAPHICOBJECT_H__ + +#include "dynlib_graphic_objects.h" +#include "BOOL.h" + +/* +** Ask Controller to create a graphic object +** of the given _sType. +*/ +GRAPHIC_OBJECTS_IMPEXP int createGraphicObject(int _iType); + +/* +** Ask Controller to clone a graphic object +** referenced the given _sId. +*/ +GRAPHIC_OBJECTS_IMPEXP int cloneGraphicObject(int iId); + +/* +** Ask Controller to create a data object +** referenced by the given _sId and of the given _sType +*/ +GRAPHIC_OBJECTS_IMPEXP int createDataObject(int iId, int _iType); + +/* +** Ask Controller to create a figure menubar +** referenced by the given _sFigureId and of the given _sType +*/ +GRAPHIC_OBJECTS_IMPEXP void buildFigureMenuBar(int iFigureId); + +GRAPHIC_OBJECTS_IMPEXP int cloneGraphicContext(int iSourceIdentifier, int iDestIdentifier); +GRAPHIC_OBJECTS_IMPEXP int cloneFontContext(int iSourceIdentifier, int iDestIdentifier); + +GRAPHIC_OBJECTS_IMPEXP BOOL isAxesRedrawing(int iSubWin); +GRAPHIC_OBJECTS_IMPEXP void cloneMenus(int iModel, int iNewParent); +GRAPHIC_OBJECTS_IMPEXP int cloneAxesModel(int iParent); + +GRAPHIC_OBJECTS_IMPEXP int createHiddenLabel(int iParent); +GRAPHIC_OBJECTS_IMPEXP int createLabel(int iParent, int type); +GRAPHIC_OBJECTS_IMPEXP int createNewFigureWithAxes(); +GRAPHIC_OBJECTS_IMPEXP int createFigure(int _bDockable, int _iMenubarType, int _iToolbarType, int _bDefaultAxes, int _bVisible); +GRAPHIC_OBJECTS_IMPEXP int createSubWin(int iParent); +GRAPHIC_OBJECTS_IMPEXP int createText(int iParentsubwinUID, char** text, int nbRow, int nbCol, double x, double y, BOOL autoSize, double* userSize, int centerPos, int *foreground, int *background, BOOL isboxed, BOOL isline, BOOL isfilled, int align); +GRAPHIC_OBJECTS_IMPEXP int createRect(int iParentsubwinUID, double x, double y, double height, double width, int foreground, int background, int isfilled, int isline); +GRAPHIC_OBJECTS_IMPEXP int createArc(int parent, double x, double y, double h, double w, double start, double end, int* foreground, int* background, BOOL filled, BOOL line); +GRAPHIC_OBJECTS_IMPEXP int createAxis(int parent, int dir, int tics, double* vx, int nx, double* vy, int ny, int subint, char* format, int fontSize, int textColor, int ticsColor, BOOL seg); +GRAPHIC_OBJECTS_IMPEXP int createCompound(int parent, int* children, int childrenCount); +GRAPHIC_OBJECTS_IMPEXP int createCompoundSeq(int parent, int childrenCount); +GRAPHIC_OBJECTS_IMPEXP int createFec(int parent, double* zminmax, int zminmaxsize, int* colminmax, int colminmaxSize, int* colout, int coloutSize, BOOL with_mesh); +GRAPHIC_OBJECTS_IMPEXP int createGrayplot(int parent, int type, double* pvecx, int pvecxSize, int n1, int n2); +GRAPHIC_OBJECTS_IMPEXP int createPolyline(int parent, BOOL closed, int plot, int *foreground, int* background, int backgroundSize, + int* mark_style, int* mark_foreground, int* mark_background, BOOL isline, BOOL isfilled, BOOL ismark, BOOL isinterp); +GRAPHIC_OBJECTS_IMPEXP int createLegend(int parent, char** text, int iTextSize, int* handles, int iHandlesSize); +GRAPHIC_OBJECTS_IMPEXP int createSegs(int parent, double* vx, int vxSize, double* vy, int vySize, double* vz, int vzSize, int* style, int styleSize, double arsize); +GRAPHIC_OBJECTS_IMPEXP int createChamp(int parent, double* vx, int vxSize, double* vy, int vySize, double* vfx, int vfxSize, double* vfy, int vfySize, double arsize, BOOL typeofchamp); +GRAPHIC_OBJECTS_IMPEXP int createSurface(int parent, int typeof3d, int colorFlag, int colorMode); +GRAPHIC_OBJECTS_IMPEXP int createLight(int parent, int type, BOOL visible, double* pos, double* dir, double* ambient, double* diffuse, double* specular); + +GRAPHIC_OBJECTS_IMPEXP void initSubWinTo3d(int subwin, char* legend, int* flag, double alpha, double theta, + double* ebox, double* x, int xSize, double* y, int ySize, double* z, int zSize); + +GRAPHIC_OBJECTS_IMPEXP int xmlload(char* xmlfile); +GRAPHIC_OBJECTS_IMPEXP int xmldomload(char* xmlfile); +GRAPHIC_OBJECTS_IMPEXP char* xmlsave(int id, char* xmlfile, BOOL isReverse); +#endif /* !__CREATEGRAPHICOBJECT_H__ */ diff --git a/modules/graphic_objects/includes/deleteGraphicObject.h b/modules/graphic_objects/includes/deleteGraphicObject.h new file mode 100755 index 000000000..3d6ffcb8c --- /dev/null +++ b/modules/graphic_objects/includes/deleteGraphicObject.h @@ -0,0 +1,30 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __DELETEGRAPHICOBJECT_H__ +#define __DELETEGRAPHICOBJECT_H__ + +#include "dynlib_graphic_objects.h" + +/* +** Ask Controller to delete a graphic object +** referenced by the given _sId. +*/ +GRAPHIC_OBJECTS_IMPEXP void deleteGraphicObject(int iUID); + +/* +** Ask Controller to delete a data object +** referenced by the given _sId. +*/ +GRAPHIC_OBJECTS_IMPEXP void deleteDataObject(int iUID); + +#endif /* !__DELETEGRAPHICOBJECT_H__ */ diff --git a/modules/graphic_objects/includes/dynlib_graphic_objects.h b/modules/graphic_objects/includes/dynlib_graphic_objects.h new file mode 100755 index 000000000..a5c1128f5 --- /dev/null +++ b/modules/graphic_objects/includes/dynlib_graphic_objects.h @@ -0,0 +1,28 @@ +/* +* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +* Copyright (C) DIGITEO - 2010 - Allan CORNET +* +* This file must be used under the terms of the CeCILL. +* This source file is licensed as described in the file COPYING, which +* you should have received as part of this distribution. The terms +* are also available at +* http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +* +*/ + +/*--------------------------------------------------------------------------*/ +#ifndef __DYNLIB_GRAPHIC_OBJECTS_H__ +#define __DYNLIB_GRAPHIC_OBJECTS_H__ + +#ifdef _MSC_VER +#ifdef GRAPHIC_OBJECTS_EXPORTS +#define GRAPHIC_OBJECTS_IMPEXP __declspec(dllexport) +#else +#define GRAPHIC_OBJECTS_IMPEXP __declspec(dllimport) +#endif +#else +#define GRAPHIC_OBJECTS_IMPEXP +#endif + +#endif /* __DYNLIB_GRAPHIC_OBJECTS_H__ */ +/*--------------------------------------------------------------------------*/ diff --git a/modules/graphic_objects/includes/getConsoleIdentifier.h b/modules/graphic_objects/includes/getConsoleIdentifier.h new file mode 100755 index 000000000..64348554d --- /dev/null +++ b/modules/graphic_objects/includes/getConsoleIdentifier.h @@ -0,0 +1,23 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __GETCONSOLEIDENTIFIER_H__ +#define __GETCONSOLEIDENTIFIER_H__ + +#include "dynlib_graphic_objects.h" + +/* +** Retrieve Scilab Console identifier. +*/ +GRAPHIC_OBJECTS_IMPEXP int getConsoleIdentifier(void); + +#endif /* !__GETCONSOLEIDENTIFIER_H__ */ diff --git a/modules/graphic_objects/includes/getGraphicObjectProperty.h b/modules/graphic_objects/includes/getGraphicObjectProperty.h new file mode 100755 index 000000000..0321e4472 --- /dev/null +++ b/modules/graphic_objects/includes/getGraphicObjectProperty.h @@ -0,0 +1,42 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __GETGRAPHICOBJECTPROPERTY_H__ +#define __GETGRAPHICOBJECTPROPERTY_H__ + +#include <stdlib.h> + +#include "returnType.h" +#include "dynlib_graphic_objects.h" +#include "CurrentObject.h" + +/* +** Retrieve Graphic object property from Model. +** Specify type expected as parameter for JNI. +*/ +GRAPHIC_OBJECTS_IMPEXP void getGraphicObjectProperty(int iID, const int _iName, enum _ReturnType_ _returnType, void **_pvData); + +/** + * @brief release a Graphic object property from the Model. + * + * Data are free/delete if they are passed by copy. Passed by copy properties are : + * 1. out of DataModel properties + * 2. with datatype passed as pointer or pointer of pointer + * + * @param _pstName property name + * @param _pvData the data to release + * @param _returnType the property type descriptor + * @param numElements size of the _pvData argument + */ +GRAPHIC_OBJECTS_IMPEXP void releaseGraphicObjectProperty(const int _iName, void * _pvData, enum _ReturnType_ _returnType, int numElements); + +#endif /* !__GETGRAPHICOBJECTPROPERTY_H__ */ diff --git a/modules/graphic_objects/includes/graphicObjectProperties.h b/modules/graphic_objects/includes/graphicObjectProperties.h new file mode 100755 index 000000000..63f71de72 --- /dev/null +++ b/modules/graphic_objects/includes/graphicObjectProperties.h @@ -0,0 +1,418 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2012 - DIGITEO - Bruno JOFRET + * Copyright (C) 2012-2014 - Scilab-Enterprises - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/* + * -=- This is a generated file, please do not edit by hand -=- + * -=- Please see properties definitions in -=- + * -=- SCI/modules/graphic_objects/src/scripts/propertiesMap.properties -=- + */ + +#ifndef __GRAPHIC_OBJECT_PROPERTIES_H__ +#define __GRAPHIC_OBJECT_PROPERTIES_H__ + +#define __GO_ARC__ 0 +#define __GO_AXES__ 1 +#define __GO_AXESMODEL__ 2 +#define __GO_AXIS__ 3 +#define __GO_CHAMP__ 4 +#define __GO_COMPOUND__ 5 +#define __GO_FAC3D__ 6 +#define __GO_FEC__ 7 +#define __GO_FIGURE__ 8 +#define __GO_FIGUREMODEL__ 9 +#define __GO_GRAYPLOT__ 10 +#define __GO_LABEL__ 11 +#define __GO_LEGEND__ 12 +#define __GO_MATPLOT__ 13 +#define __GO_PLOT3D__ 14 +#define __GO_POLYLINE__ 15 +#define __GO_RECTANGLE__ 16 +#define __GO_SEGS__ 17 +#define __GO_TEXT__ 18 +#define __GO_UICONTROL__ 19 +#define __GO_UIMENU__ 20 +#define __GO_UICONTEXTMENU__ 21 +#define __GO_CHILDREN__ 22 +#define __GO_CHILDREN_COUNT__ 23 +#define __GO_PARENT__ 24 +#define __GO_USER_DATA__ 25 +#define __GO_USER_DATA_SIZE__ 26 +#define __GO_VISIBLE__ 27 +#define __GO_HIDDEN__ 28 +#define __GO_TYPE__ 29 +#define __GO_DATA_MODEL__ 30 +#define __GO_PARENT_FIGURE__ 31 +#define __GO_PARENT_AXES__ 32 +#define __GO_HAS_LEGEND_CHILD__ 33 +#define __GO_LEGEND_CHILD__ 34 +#define __GO_SELECTED_CHILD__ 35 +#define __GO_CALLBACK__ 36 +#define __GO_CALLBACKTYPE__ 37 +#define __GO_DATA_MODEL_COORDINATES__ 38 +#define __GO_DATA_MODEL_X__ 39 +#define __GO_DATA_MODEL_Y__ 40 +#define __GO_DATA_MODEL_Z__ 41 +#define __GO_DATA_MODEL_X_COORDINATES_SHIFT__ 42 +#define __GO_DATA_MODEL_Y_COORDINATES_SHIFT__ 43 +#define __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ 44 +#define __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ 45 +#define __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ 46 +#define __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ 47 +#define __GO_DATA_MODEL_NUM_ELEMENTS__ 48 +#define __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ 49 +#define __GO_DATA_MODEL_NUM_VERTICES_PER_GON__ 50 +#define __GO_DATA_MODEL_NUM_GONS__ 51 +#define __GO_DATA_MODEL_Z_COORDINATES_SET__ 52 +#define __GO_DATA_MODEL_COLORS__ 53 +#define __GO_DATA_MODEL_NUM_COLORS__ 54 +#define __GO_DATA_MODEL_NUM_VERTICES__ 55 +#define __GO_DATA_MODEL_NUM_INDICES__ 56 +#define __GO_DATA_MODEL_INDICES__ 57 +#define __GO_DATA_MODEL_VALUES__ 58 +#define __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__ 59 +#define __GO_DATA_MODEL_FEC_ELEMENTS__ 60 +#define __GO_DATA_MODEL_NUM_X__ 61 +#define __GO_DATA_MODEL_NUM_Y__ 62 +#define __GO_DATA_MODEL_NUM_Z__ 63 +#define __GO_DATA_MODEL_GRID_SIZE__ 64 +#define __GO_DATA_MODEL_X_DIMENSIONS__ 65 +#define __GO_DATA_MODEL_Y_DIMENSIONS__ 66 +#define __GO_MATPLOT_TRANSLATE__ 67 +#define __GO_MATPLOT_SCALE__ 68 +#define __GO_DATA_MODEL_MATPLOT_BOUNDS__ 69 +#define __GO_DATA_MODEL_MATPLOT_TYPE__ 70 +#define __GO_DATA_MODEL_MATPLOT_GL_TYPE__ 71 +#define __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ 72 +#define __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ 73 +#define __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ 74 +#define __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ 75 +#define __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ 76 +#define __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__ 77 +#define __GO_REFERENCED__ 78 +#define __GO_VALID__ 79 +#define __GO_POSITION__ 80 +#define __GO_SIZE__ 81 +#define __GO_CANVAS__ 82 +#define __GO_AUTORESIZE__ 83 +#define __GO_VIEWPORT__ 84 +#define __GO_AXES_SIZE__ 85 +#define __GO_FIGURE_NAME__ 86 +#define __GO_NAME__ 87 +#define __GO_ID__ 88 +#define __GO_INFO_MESSAGE__ 89 +#define __GO_COLORMAP__ 90 +#define __GO_COLORMAP_SIZE__ 91 +#define __GO_RENDERING_MODE__ 92 +#define __GO_PIXEL_DRAWING_MODE__ 93 +#define __GO_ANTIALIASING__ 94 +#define __GO_IMMEDIATE_DRAWING__ 95 +#define __GO_BACKGROUND__ 96 +#define __GO_EVENTHANDLER__ 97 +#define __GO_EVENTHANDLER_NAME__ 98 +#define __GO_EVENTHANDLER_ENABLE__ 99 +#define __GO_TAG__ 100 +#define __GO_ROTATION_TYPE__ 101 +#define __GO_RESIZEFCN__ 102 +#define __GO_CLOSEREQUESTFCN__ 103 +#define __GO_DEFAULT_AXES__ 104 +#define __GO_UPPER_LEFT_POINT__ 105 +#define __GO_WIDTH__ 106 +#define __GO_HEIGHT__ 107 +#define __GO_START_ANGLE__ 108 +#define __GO_END_ANGLE__ 109 +#define __GO_ARC_DRAWING_METHOD__ 110 +#define __GO_X_AXIS_VISIBLE__ 111 +#define __GO_X_AXIS_REVERSE__ 112 +#define __GO_X_AXIS_GRID_COLOR__ 113 +#define __GO_X_AXIS_GRID_THICKNESS__ 114 +#define __GO_X_AXIS_GRID_STYLE__ 115 +#define __GO_X_AXIS_LABEL__ 116 +#define __GO_X_AXIS_LOCATION__ 117 +#define __GO_X_AXIS_LOG_FLAG__ 118 +#define __GO_X_AXIS_TICKS__ 119 +#define __GO_X_AXIS_FORMAT__ 120 +#define __GO_X_AXIS_ST_FACTORS__ 121 +#define __GO_X_AXIS_AUTO_TICKS__ 122 +#define __GO_X_AXIS_NUMBER_TICKS__ 123 +#define __GO_X_AXIS_TICKS_LOCATIONS__ 124 +#define __GO_X_AXIS_TICKS_LABELS__ 125 +#define __GO_X_AXIS_SUBTICKS__ 126 +#define __GO_Y_AXIS_VISIBLE__ 127 +#define __GO_Y_AXIS_REVERSE__ 128 +#define __GO_Y_AXIS_GRID_COLOR__ 129 +#define __GO_Y_AXIS_GRID_THICKNESS__ 130 +#define __GO_Y_AXIS_GRID_STYLE__ 131 +#define __GO_Y_AXIS_LABEL__ 132 +#define __GO_Y_AXIS_LOCATION__ 133 +#define __GO_Y_AXIS_LOG_FLAG__ 134 +#define __GO_Y_AXIS_TICKS__ 135 +#define __GO_Y_AXIS_FORMAT__ 136 +#define __GO_Y_AXIS_ST_FACTORS__ 137 +#define __GO_Y_AXIS_AUTO_TICKS__ 138 +#define __GO_Y_AXIS_NUMBER_TICKS__ 139 +#define __GO_Y_AXIS_TICKS_LOCATIONS__ 140 +#define __GO_Y_AXIS_TICKS_LABELS__ 141 +#define __GO_Y_AXIS_SUBTICKS__ 142 +#define __GO_Z_AXIS_VISIBLE__ 143 +#define __GO_Z_AXIS_REVERSE__ 144 +#define __GO_Z_AXIS_GRID_COLOR__ 145 +#define __GO_Z_AXIS_GRID_THICKNESS__ 146 +#define __GO_Z_AXIS_GRID_STYLE__ 147 +#define __GO_Z_AXIS_LABEL__ 148 +#define __GO_Z_AXIS_LOCATION__ 149 +#define __GO_Z_AXIS_LOG_FLAG__ 150 +#define __GO_Z_AXIS_TICKS__ 151 +#define __GO_Z_AXIS_FORMAT__ 152 +#define __GO_Z_AXIS_ST_FACTORS__ 153 +#define __GO_Z_AXIS_AUTO_TICKS__ 154 +#define __GO_Z_AXIS_NUMBER_TICKS__ 155 +#define __GO_Z_AXIS_TICKS_LOCATIONS__ 156 +#define __GO_Z_AXIS_TICKS_LABELS__ 157 +#define __GO_Z_AXIS_SUBTICKS__ 158 +#define __GO_AUTO_SUBTICKS__ 159 +#define __GO_GRID_POSITION__ 160 +#define __GO_TITLE__ 161 +#define __GO_AUTO_CLEAR__ 162 +#define __GO_FILLED__ 163 +#define __GO_CAMERA__ 164 +#define __GO_VIEW__ 165 +#define __GO_ISOVIEW__ 166 +#define __GO_CUBE_SCALING__ 167 +#define __GO_ROTATION_ANGLES__ 168 +#define __GO_ROTATION_ANGLES_3D__ 169 +#define __GO_BOX_TYPE__ 170 +#define __GO_HIDDEN_AXIS_COLOR__ 171 +#define __GO_X_TIGHT_LIMITS__ 172 +#define __GO_Y_TIGHT_LIMITS__ 173 +#define __GO_Z_TIGHT_LIMITS__ 174 +#define __GO_DATA_BOUNDS__ 175 +#define __GO_REAL_DATA_BOUNDS__ 176 +#define __GO_ZOOM_ENABLED__ 177 +#define __GO_ZOOM_BOX__ 178 +#define __GO_AUTO_SCALE__ 179 +#define __GO_FIRST_PLOT__ 180 +#define __GO_MARGINS__ 181 +#define __GO_AUTO_MARGINS__ 182 +#define __GO_AXES_BOUNDS__ 183 +#define __GO_CLIP_PROPERTY__ 184 +#define __GO_CLIP_STATE__ 185 +#define __GO_CLIP_BOX__ 186 +#define __GO_CLIP_BOX_SET__ 187 +#define __GO_LINE__ 188 +#define __GO_LINE_MODE__ 189 +#define __GO_LINE_STYLE__ 190 +#define __GO_LINE_THICKNESS__ 191 +#define __GO_LINE_COLOR__ 192 +#define __GO_FILL_MODE__ 193 +#define __GO_MARK__ 194 +#define __GO_MARK_MODE__ 195 +#define __GO_MARK_STYLE__ 196 +#define __GO_MARK_SIZE_UNIT__ 197 +#define __GO_MARK_SIZE__ 198 +#define __GO_MARK_FOREGROUND__ 199 +#define __GO_MARK_BACKGROUND__ 200 +#define __GO_MARK_OFFSET__ 201 +#define __GO_MARK_STRIDE__ 202 +#define __GO_SELECTED__ 203 +#define __GO_TICKS_DIRECTION__ 204 +#define __GO_X_NUMBER_TICKS__ 205 +#define __GO_Y_NUMBER_TICKS__ 206 +#define __GO_X_TICKS_COORDS__ 207 +#define __GO_Y_TICKS_COORDS__ 208 +#define __GO_TICKS_COLOR__ 209 +#define __GO_TICKS_SEGMENT__ 210 +#define __GO_TICKS_STYLE__ 211 +#define __GO_SUBTICKS__ 212 +#define __GO_NUMBER_TICKS_LABELS__ 213 +#define __GO_TICKS_LABELS__ 214 +#define __GO_FORMATN__ 215 +#define __GO_FONT__ 216 +#define __GO_FONT_STYLE__ 217 +#define __GO_FONT_SIZE__ 218 +#define __GO_FONT_COLOR__ 219 +#define __GO_FONT_FRACTIONAL__ 220 +#define __GO_Z_BOUNDS__ 221 +#define __GO_OUTSIDE_COLOR__ 222 +#define __GO_COLOR_RANGE__ 223 +#define __GO_DATA_MAPPING__ 224 +#define __GO_FONT_ANGLE__ 225 +#define __GO_AUTO_POSITION__ 226 +#define __GO_CORNERS__ 227 +#define __GO_AUTO_ROTATION__ 228 +#define __GO_LINKS__ 229 +#define __GO_LINKS_COUNT__ 230 +#define __GO_LEGEND_LOCATION__ 231 +#define __GO_MARKS_COUNT__ 232 +#define __GO_LINE_WIDTH__ 233 +#define __GO_CLOSED__ 234 +#define __GO_ARROW_SIZE_FACTOR__ 235 +#define __GO_POLYLINE_STYLE__ 236 +#define __GO_INTERP_COLOR_VECTOR__ 237 +#define __GO_INTERP_COLOR_VECTOR_SET__ 238 +#define __GO_INTERP_COLOR_MODE__ 239 +#define __GO_X_SHIFT__ 240 +#define __GO_Y_SHIFT__ 241 +#define __GO_Z_SHIFT__ 242 +#define __GO_BAR_WIDTH__ 243 +#define __GO_SURFACE_MODE__ 244 +#define __GO_COLOR_MODE__ 245 +#define __GO_COLOR_FLAG__ 246 +#define __GO_ALIGNMENT__ 247 +#define __GO_BOX__ 248 +#define __GO_TEXT_BOX__ 249 +#define __GO_TEXT_BOX_MODE__ 250 +#define __GO_AUTO_DIMENSIONING__ 251 +#define __GO_FORMATTED_TEXT__ 252 +#define __GO_TEXT_ARRAY_DIMENSIONS__ 253 +#define __GO_TEXT_STRINGS__ 254 +#define __GO_BASE__ 255 +#define __GO_BASE_X__ 256 +#define __GO_BASE_Y__ 257 +#define __GO_BASE_Z__ 258 +#define __GO_DIRECTION__ 259 +#define __GO_DIRECTION_X__ 260 +#define __GO_DIRECTION_Y__ 261 +#define __GO_DIRECTION_Z__ 262 +#define __GO_ARROW_SIZE__ 263 +#define __GO_SEGS_COLORS__ 264 +#define __GO_COLORED__ 265 +#define __GO_ARROWS__ 266 +#define __GO_NUMBER_ARROWS__ 267 +#define __GO_CHAMP_DIMENSIONS__ 268 +#define __GO_BOUNDING_BOX__ 269 +#define __GO_MAX_LENGTH__ 270 +#define __GO_MAX_USABLE_LENGTH__ 271 +#define __GO_HIDDEN_COLOR__ 272 +#define __GO_STYLE__ 273 +#define __GO_UI_CHECKBOX__ 274 +#define __GO_UI_EDIT__ 275 +#define __GO_UI_SPINNER__ 276 +#define __GO_UI_FRAME__ 277 +#define __GO_UI_FRAME_SCROLLABLE__ 278 +#define __GO_UI_IMAGE__ 279 +#define __GO_UI_LISTBOX__ 280 +#define __GO_UI_POPUPMENU__ 281 +#define __GO_UI_PUSHBUTTON__ 282 +#define __GO_UI_RADIOBUTTON__ 283 +#define __GO_UI_SLIDER__ 284 +#define __GO_UI_TABLE__ 285 +#define __GO_UI_TEXT__ 286 +#define __GO_UI_LAYER__ 287 +#define __GO_UI_BACKGROUNDCOLOR__ 288 +#define __GO_UI_ENABLE__ 289 +#define __GO_UI_FONTANGLE__ 290 +#define __GO_UI_FONTNAME__ 291 +#define __GO_UI_FONTSIZE__ 292 +#define __GO_UI_FONTUNITS__ 293 +#define __GO_UI_FONTWEIGHT__ 294 +#define __GO_UI_FOREGROUNDCOLOR__ 295 +#define __GO_UI_HORIZONTALALIGNMENT__ 296 +#define __GO_UI_LISTBOXTOP__ 297 +#define __GO_UI_LISTBOXTOP_SIZE__ 298 +#define __GO_UI_MAX__ 299 +#define __GO_UI_MIN__ 300 +#define __GO_UI_RELIEF__ 301 +#define __GO_UI_STRING__ 302 +#define __GO_UI_TAB_STRING__ 303 +#define __GO_UI_STRING_SIZE__ 304 +#define __GO_UI_STRING_COLNB__ 305 +#define __GO_UI_TOOLTIPSTRING__ 306 +#define __GO_UI_TOOLTIPSTRING_SIZE__ 307 +#define __GO_UI_SLIDERSTEP__ 308 +#define __GO_UI_UNITS__ 309 +#define __GO_UI_VALUE__ 310 +#define __GO_UI_TAB_VALUE__ 311 +#define __GO_UI_VALUE_SIZE__ 312 +#define __GO_UI_VERTICALALIGNMENT__ 313 +#define __GO_UIPARENTMENU__ 314 +#define __GO_UICHILDMENU__ 315 +#define __GO_UICHECKEDMENU__ 316 +#define __GO_UI_CHECKED__ 317 +#define __GO_UI_LABEL__ 318 +#define __GO_UI_MNEMONIC__ 319 +#define __GO_UI_ACCELERATOR__ 320 +#define __GO_UI_SEPARATOR__ 321 +#define __GO_UI_ICON__ 322 +#define __GO_CONSOLE__ 323 +#define __GO_SHOWHIDDENHANDLES__ 324 +#define __GO_SHOWHIDDENPROPERTIES__ 325 +#define __GO_USEDEPRECATEDLF__ 326 +#define __GO_WAITBAR__ 327 +#define __GO_PROGRESSIONBAR__ 328 +#define __GO_UI_MESSAGE__ 329 +#define __GO_UI_MESSAGE_SIZE__ 330 +#define __GO_DATATIP__ 331 +#define __GO_DATATIP_DATA__ 332 +#define __GO_DATATIP_ORIENTATION__ 333 +#define __GO_DATATIP_3COMPONENT__ 334 +#define __GO_DATATIP_AUTOORIENTATION__ 335 +#define __GO_DATATIP_INTERP_MODE__ 336 +#define __GO_DATATIP_DISPLAY_FNC__ 337 +#define __GO_DATATIP_BOX_MODE__ 338 +#define __GO_DATATIP_LABEL_MODE__ 339 +#define __GO_DATATIP_MARK__ 340 +#define __GO_AMBIENTCOLOR__ 341 +#define __GO_DIFFUSECOLOR__ 342 +#define __GO_SPECULARCOLOR__ 343 +#define __GO_COLOR_MATERIAL__ 344 +#define __GO_MATERIAL_SHININESS__ 345 +#define __GO_LIGHT__ 346 +#define __GO_LIGHT_TYPE__ 347 +#define __GO_DATATIPS__ 348 +#define __GO_DATATIPS_COUNT__ 349 +#define __GO_DATATIP_INDEXES__ 350 +#define __GO_DATA_MODEL_DISPLAY_FUNCTION__ 351 +#define __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ 352 +#define __GO_RESIZE__ 353 +#define __GO_TOOLBAR__ 354 +#define __GO_TOOLBAR_VISIBLE__ 355 +#define __GO_MENUBAR__ 356 +#define __GO_MENUBAR_VISIBLE__ 357 +#define __GO_INFOBAR_VISIBLE__ 358 +#define __GO_DOCKABLE__ 359 +#define __GO_LAYOUT__ 360 +#define __GO_LAYOUT_SET__ 361 +#define __GO_UI_TAB__ 362 +#define __GO_UI_GRIDBAG_GRID__ 363 +#define __GO_UI_GRIDBAG_WEIGHT__ 364 +#define __GO_UI_GRIDBAG_FILL__ 365 +#define __GO_UI_GRIDBAG_ANCHOR__ 366 +#define __GO_UI_GRIDBAG_PADDING__ 367 +#define __GO_UI_GRIDBAG_PREFERREDSIZE__ 368 +#define __GO_UI_GRID_GRID__ 369 +#define __GO_UI_GRID_PADDING__ 370 +#define __GO_UI_BORDER_POSITION__ 371 +#define __GO_UI_BORDER_PREFERREDSIZE__ 372 +#define __GO_GRID_OPT_GRID__ 373 +#define __GO_GRID_OPT_PADDING__ 374 +#define __GO_BORDER_OPT_PADDING__ 375 +#define __GO_UI_FRAME_BORDER__ 376 +#define __GO_UI_FRAME_BORDER_COLOR__ 377 +#define __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ 378 +#define __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ 379 +#define __GO_UI_FRAME_BORDER_IN_BORDER__ 380 +#define __GO_UI_FRAME_BORDER_JUSTIFICATION__ 381 +#define __GO_UI_FRAME_BORDER_OUT_BORDER__ 382 +#define __GO_UI_FRAME_BORDER_ROUNDED__ 383 +#define __GO_UI_FRAME_BORDER_SHADOW_IN__ 384 +#define __GO_UI_FRAME_BORDER_SHADOW_OUT__ 385 +#define __GO_UI_FRAME_BORDER_TITLE__ 386 +#define __GO_UI_FRAME_BORDER_POSITION__ 387 +#define __GO_UI_FRAME_BORDER_STYLE__ 388 +#define __GO_UI_GROUP_NAME__ 389 +#define __GO_UI_TITLE_POSITION__ 390 +#define __GO_UI_TITLE_SCROLL__ 391 +#define __GO_UI_FRAME_BORDER_TYPE__ 392 +#define __GO_UI_SCROLLABLE__ 393 + +#endif /* !__GRAPHIC_OBJECT_PROPERTIES_H__ */ diff --git a/modules/graphic_objects/includes/returnType.h b/modules/graphic_objects/includes/returnType.h new file mode 100755 index 000000000..6d11098b4 --- /dev/null +++ b/modules/graphic_objects/includes/returnType.h @@ -0,0 +1,28 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __RETURNTYPE_H__ +#define __RETURNTYPE_H__ + +enum _ReturnType_ +{ + jni_string, + jni_string_vector, + jni_double, + jni_double_vector, + jni_int, + jni_int_vector, + jni_bool, + jni_bool_vector +}; + +#endif /* !__RETURNTYPE_H__ */ diff --git a/modules/graphic_objects/includes/setGraphicObjectProperty.h b/modules/graphic_objects/includes/setGraphicObjectProperty.h new file mode 100755 index 000000000..0d0297e99 --- /dev/null +++ b/modules/graphic_objects/includes/setGraphicObjectProperty.h @@ -0,0 +1,29 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#ifndef __SETGRAPHICOBJECTPROPERTY_H__ +#define __SETGRAPHICOBJECTPROPERTY_H__ + +#include <stdlib.h> + +#include "BOOL.h" + +#include "returnType.h" +#include "dynlib_graphic_objects.h" +#include "CurrentObject.h" + +GRAPHIC_OBJECTS_IMPEXP void setGraphicObjectRelationship(int iParentId, int iChildId); +GRAPHIC_OBJECTS_IMPEXP BOOL setGraphicObjectProperty(int iUID, const int _iPropertyName, void const* _pvValue, enum _ReturnType_ _valueTtype, int numElements); +GRAPHIC_OBJECTS_IMPEXP BOOL setGraphicObjectPropertyAndNoWarn(int iUID, const int _iPropertyName, void const* _pvValue, enum _ReturnType_ _valueTtype, int numElements); +GRAPHIC_OBJECTS_IMPEXP BOOL setGraphicObjectPropertyAndWarn(int iUID, const int _iPropertyName, void const* _pvValue, enum _ReturnType_ _valueTtype, int numElements, int warnJava); + +#endif /* !__SETGRAPHICOBJECTPROPERTY_H__ */ diff --git a/modules/graphic_objects/jar/org.scilab.modules.graphic_objects.jar b/modules/graphic_objects/jar/org.scilab.modules.graphic_objects.jar Binary files differnew file mode 100755 index 000000000..fbc7c5369 --- /dev/null +++ b/modules/graphic_objects/jar/org.scilab.modules.graphic_objects.jar diff --git a/modules/graphic_objects/libscigraphic_objects-disable.la b/modules/graphic_objects/libscigraphic_objects-disable.la new file mode 100755 index 000000000..15f177d68 --- /dev/null +++ b/modules/graphic_objects/libscigraphic_objects-disable.la @@ -0,0 +1,41 @@ +# libscigraphic_objects-disable.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libscigraphic_objects-disable.so.5' + +# Names of this library. +library_names='libscigraphic_objects-disable.so.5.5.2 libscigraphic_objects-disable.so.5 libscigraphic_objects-disable.so' + +# The name of the static archive. +old_library='' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -lpthread -ldl -lcurses -lm' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libscigraphic_objects-disable. +current=10 +age=5 +revision=2 + +# Is this an already installed library? +installed=no + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib/scilab' diff --git a/modules/graphic_objects/libscigraphic_objects.la b/modules/graphic_objects/libscigraphic_objects.la new file mode 100755 index 000000000..0bacf7646 --- /dev/null +++ b/modules/graphic_objects/libscigraphic_objects.la @@ -0,0 +1,41 @@ +# libscigraphic_objects.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libscigraphic_objects.so.5' + +# Names of this library. +library_names='libscigraphic_objects.so.5.5.2 libscigraphic_objects.so.5 libscigraphic_objects.so' + +# The name of the static archive. +old_library='' + +# Linker flags that can not go in dependency_libs. +inherited_linker_flags='' + +# Libraries that this one depends upon. +dependency_libs=' -lpthread -ldl -lcurses' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libscigraphic_objects. +current=10 +age=5 +revision=2 + +# Is this an already installed library? +installed=no + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/local/lib/scilab' diff --git a/modules/graphic_objects/license.txt b/modules/graphic_objects/license.txt new file mode 100755 index 000000000..706cdbeb3 --- /dev/null +++ b/modules/graphic_objects/license.txt @@ -0,0 +1,9 @@ +Copyright: +Copyright (c) 2010 - DIGITEO + +License: +This module must be used under the terms of the CeCILL. +This module file is licensed as described in the file COPYING, which +you should have received as part of this distribution. The terms +are also available at +http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt diff --git a/modules/graphic_objects/locales/cs_CZ.po b/modules/graphic_objects/locales/cs_CZ.po new file mode 100755 index 000000000..2b4e0b922 --- /dev/null +++ b/modules/graphic_objects/locales/cs_CZ.po @@ -0,0 +1,29 @@ +# Czech translation for scilab +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2012-07-22 20:51+0000\n" +"Last-Translator: Zbyněk Schwarz <Unknown>\n" +"Language-Team: Czech <cs@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" + +#, c-format +msgid "Wrong value for '%s' property: A valid function name expected.\n" +msgstr "" + +#, c-format +msgid "Scilab '%s' module disabled in -nogui or -nwni mode.\n" +msgstr "" + +#, c-format +msgid "Scilab '%s' module not installed.\n" +msgstr "Modul Scilabu '%s' není nainstalován.\n" diff --git a/modules/graphic_objects/locales/de_DE.po b/modules/graphic_objects/locales/de_DE.po new file mode 100755 index 000000000..9ff3e5064 --- /dev/null +++ b/modules/graphic_objects/locales/de_DE.po @@ -0,0 +1,29 @@ +# German translation for scilab +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-01-16 11:50+0000\n" +"Last-Translator: Dennis Baudys <Unknown>\n" +"Language-Team: German <de@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" + +#, c-format +msgid "Wrong value for '%s' property: A valid function name expected.\n" +msgstr "" + +#, c-format +msgid "Scilab '%s' module disabled in -nogui or -nwni mode.\n" +msgstr "" + +#, c-format +msgid "Scilab '%s' module not installed.\n" +msgstr "Scilab '%s' Modul nicht installiert.\n" diff --git a/modules/graphic_objects/locales/fr_FR.po b/modules/graphic_objects/locales/fr_FR.po new file mode 100755 index 000000000..4e914ff45 --- /dev/null +++ b/modules/graphic_objects/locales/fr_FR.po @@ -0,0 +1,30 @@ +# French translation for scilab +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2014-09-09 08:39+0000\n" +"Last-Translator: Julie PAUL <Unknown>\n" +"Language-Team: French <fr@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" + +#, c-format +msgid "Wrong value for '%s' property: A valid function name expected.\n" +msgstr "" +"Valeur erronée de la propriété '%s' : Un nom de fonction valide attendu.\n" + +#, c-format +msgid "Scilab '%s' module disabled in -nogui or -nwni mode.\n" +msgstr "Le module Scilab '%s' est désactivé en mode -nogui ou -nwni.\n" + +#, c-format +msgid "Scilab '%s' module not installed.\n" +msgstr "Le module '%s' de Scilab n'est pas installé.\n" diff --git a/modules/graphic_objects/locales/graphic_objects.pot b/modules/graphic_objects/locales/graphic_objects.pot new file mode 100755 index 000000000..011ce04b2 --- /dev/null +++ b/modules/graphic_objects/locales/graphic_objects.pot @@ -0,0 +1,35 @@ +# Localization of the module graphic_objects +# Please see in SCI/tools/localization for localization management +# Copyright (C) 2007-2008 - INRIA +# Copyright (C) 2008-2011 - DIGITEO +# Copyright (C) 2012-2014 - Scilab-Enterprises +# This file is distributed under the same license as the Scilab package. +# +msgid "" +msgstr "" +"Project-Id-Version: Scilab\n" +"Report-Msgid-Bugs-To: <localization@lists.scilab.org>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"Last-Translator: Vincent COUVERT <vincent.couvert@scilab-enterprises.com>\n" +"Language-Team: Scilab Localization <localization@lists.scilab.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" +"Revision-Date: 2015-03-27 13:54+0100\n" + +# File: src/java/org/scilab/modules/graphic_objects/datatip/Datatip.java, line: 359 +#, c-format +msgid "Wrong value for '%s' property: A valid function name expected.\n" +msgstr "" + +# +# File: src/nographic_objects/nographic_objects.c, line: 31 +#, c-format +msgid "Scilab '%s' module disabled in -nogui or -nwni mode.\n" +msgstr "" + +# +# File: src/nographic_objects/nographic_objects.c, line: 36 +#, c-format +msgid "Scilab '%s' module not installed.\n" +msgstr "" diff --git a/modules/graphic_objects/locales/it_IT.po b/modules/graphic_objects/locales/it_IT.po new file mode 100755 index 000000000..93665be35 --- /dev/null +++ b/modules/graphic_objects/locales/it_IT.po @@ -0,0 +1,32 @@ +# Italian translation for scilab +# Copyright (c) 2015 Rosetta Contributors and Canonical Ltd 2015 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2015-02-14 21:30+0000\n" +"Last-Translator: Carml <mighty.carml@gmail.com>\n" +"Language-Team: Italian <it@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" + +#, c-format +msgid "Wrong value for '%s' property: A valid function name expected.\n" +msgstr "" +"La proprietà \"%s\" ha un valore sbagliato: era atteso un nome di funzione " +"valido.\n" + +#, c-format +msgid "Scilab '%s' module disabled in -nogui or -nwni mode.\n" +msgstr "" +"Il modulo \"%s\" di Scilab è disabilitato in modalità -nogui o -nwni.\n" + +#, c-format +msgid "Scilab '%s' module not installed.\n" +msgstr "Il modulo \"%s\" di Scilab non è installato.\n" diff --git a/modules/graphic_objects/locales/ja_JP.po b/modules/graphic_objects/locales/ja_JP.po new file mode 100755 index 000000000..bd5096da6 --- /dev/null +++ b/modules/graphic_objects/locales/ja_JP.po @@ -0,0 +1,29 @@ +# Japanese translation for scilab +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2014-09-15 05:18+0000\n" +"Last-Translator: Rui Hirokawa <Unknown>\n" +"Language-Team: Japanese <ja@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" + +#, c-format +msgid "Wrong value for '%s' property: A valid function name expected.\n" +msgstr "'%s'プロパティの値が間違っています: 有効な関数名を指定してください.\n" + +#, c-format +msgid "Scilab '%s' module disabled in -nogui or -nwni mode.\n" +msgstr "-nogui または -nwni モードでは Scilab '%s' モジュールは無効です.\n" + +#, c-format +msgid "Scilab '%s' module not installed.\n" +msgstr "Scilabモジュール '%s' はインストールされていません.\n" diff --git a/modules/graphic_objects/locales/pl_PL.po b/modules/graphic_objects/locales/pl_PL.po new file mode 100755 index 000000000..076e63117 --- /dev/null +++ b/modules/graphic_objects/locales/pl_PL.po @@ -0,0 +1,29 @@ +# Polish translation for scilab +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2012-10-25 20:45+0000\n" +"Last-Translator: Grzegorz Szostek <Unknown>\n" +"Language-Team: Polish <pl@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" + +#, c-format +msgid "Wrong value for '%s' property: A valid function name expected.\n" +msgstr "" + +#, c-format +msgid "Scilab '%s' module disabled in -nogui or -nwni mode.\n" +msgstr "" + +#, c-format +msgid "Scilab '%s' module not installed.\n" +msgstr "Moduł %s programu Scilab nie jest zainstalowany.\n" diff --git a/modules/graphic_objects/locales/pt_BR.po b/modules/graphic_objects/locales/pt_BR.po new file mode 100755 index 000000000..f52e355a2 --- /dev/null +++ b/modules/graphic_objects/locales/pt_BR.po @@ -0,0 +1,29 @@ +# Brazilian Portuguese translation for scilab +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-09-16 15:03+0000\n" +"Last-Translator: B Berwanger <brunoberwanger@gmail.com>\n" +"Language-Team: Brazilian Portuguese <pt_BR@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" + +#, c-format +msgid "Wrong value for '%s' property: A valid function name expected.\n" +msgstr "" + +#, c-format +msgid "Scilab '%s' module disabled in -nogui or -nwni mode.\n" +msgstr "" + +#, c-format +msgid "Scilab '%s' module not installed.\n" +msgstr "Módulo '%s' não instalado.\n" diff --git a/modules/graphic_objects/locales/ru_RU.po b/modules/graphic_objects/locales/ru_RU.po new file mode 100755 index 000000000..5c7ea7e4d --- /dev/null +++ b/modules/graphic_objects/locales/ru_RU.po @@ -0,0 +1,30 @@ +# Russian translation for scilab +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2015-03-01 15:03+0000\n" +"Last-Translator: Stanislav V. Kroter <krotersv@gmail.com>\n" +"Language-Team: Russian <ru@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" + +#, c-format +msgid "Wrong value for '%s' property: A valid function name expected.\n" +msgstr "" +"Неверное значение для свойства '%s': ожидалось корректное имя функции.\n" + +#, c-format +msgid "Scilab '%s' module disabled in -nogui or -nwni mode.\n" +msgstr "Модуль «%s» выключен в режимах -nogui и -nwni.\n" + +#, c-format +msgid "Scilab '%s' module not installed.\n" +msgstr "Модуль Scilab «%s» не установлен.\n" diff --git a/modules/graphic_objects/locales/uk_UA.po b/modules/graphic_objects/locales/uk_UA.po new file mode 100755 index 000000000..e2fb2923e --- /dev/null +++ b/modules/graphic_objects/locales/uk_UA.po @@ -0,0 +1,31 @@ +# Ukrainian translation for scilab +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2014-09-30 16:48+0000\n" +"Last-Translator: Yuri Chornoivan <yurchor@gmail.com>\n" +"Language-Team: Ukrainian <uk@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" + +#, c-format +msgid "Wrong value for '%s' property: A valid function name expected.\n" +msgstr "" +"Помилкове значення властивості «%s»: мало бути вказано коректну назву " +"функції.\n" + +#, c-format +msgid "Scilab '%s' module disabled in -nogui or -nwni mode.\n" +msgstr "Модуль «%s» Scilab у режимі -nogui або -nwni вимкнено.\n" + +#, c-format +msgid "Scilab '%s' module not installed.\n" +msgstr "Модуль «%s» Scilab не встановлено.\n" diff --git a/modules/graphic_objects/locales/zh_CN.po b/modules/graphic_objects/locales/zh_CN.po new file mode 100755 index 000000000..c2decf419 --- /dev/null +++ b/modules/graphic_objects/locales/zh_CN.po @@ -0,0 +1,29 @@ +# Chinese (Simplified) translation for scilab +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the scilab package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: scilab\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2013-04-16 17:44+0100\n" +"PO-Revision-Date: 2013-03-10 14:12+0000\n" +"Last-Translator: Wesh <Unknown>\n" +"Language-Team: Chinese (Simplified) <zh_CN@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Launchpad (build 17413)\n" + +#, c-format +msgid "Wrong value for '%s' property: A valid function name expected.\n" +msgstr "" + +#, c-format +msgid "Scilab '%s' module disabled in -nogui or -nwni mode.\n" +msgstr "" + +#, c-format +msgid "Scilab '%s' module not installed.\n" +msgstr "Scilab模块'%s'尚未安装。\n" diff --git a/modules/graphic_objects/macros/buildmacros.bat b/modules/graphic_objects/macros/buildmacros.bat new file mode 100755 index 000000000..23a827489 --- /dev/null +++ b/modules/graphic_objects/macros/buildmacros.bat @@ -0,0 +1,11 @@ + +rem Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +rem Copyright (C) 2009 - DIGITEO +rem +rem This file must be used under the terms of the CeCILL. +rem This source file is licensed as described in the file COPYING, which +rem you should have received as part of this distribution. The terms +rem are also available at +rem http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +@..\..\..\bin\scilex -nwni -ns -e exec('buildmacros.sce');quit; diff --git a/modules/graphic_objects/macros/buildmacros.sce b/modules/graphic_objects/macros/buildmacros.sce new file mode 100755 index 000000000..7098ebf08 --- /dev/null +++ b/modules/graphic_objects/macros/buildmacros.sce @@ -0,0 +1,16 @@ + +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2010 - DIGITEO - Allan CORNET <allan.cornet@inria.fr> +// +// This file must be used under the terms of the CeCILL. +// This source file is licensed as described in the file COPYING, which +// you should have received as part of this distribution. The terms +// are also available at +// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +if (isdef("genlib") == %f) then + exec(SCI+"/modules/functions/scripts/buildmacros/loadgenlib.sce"); +end + +//genlib("graphic_objects_datalib","SCI/modules/graphics_objects/macros",%f,%t); + diff --git a/modules/graphic_objects/macros/cleanmacros.bat b/modules/graphic_objects/macros/cleanmacros.bat new file mode 100755 index 000000000..053cf56f2 --- /dev/null +++ b/modules/graphic_objects/macros/cleanmacros.bat @@ -0,0 +1,13 @@ + +rem Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +rem Copyright (C) 2009 - DIGITEO +rem +rem This file must be used under the terms of the CeCILL. +rem This source file is licensed as described in the file COPYING, which +rem you should have received as part of this distribution. The terms +rem are also available at +rem http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + +@del *.bin 2>NUL +@del lib 2>NUL +@del names 2>NUL diff --git a/modules/graphic_objects/readme.txt b/modules/graphic_objects/readme.txt new file mode 100755 index 000000000..785eeeca8 --- /dev/null +++ b/modules/graphic_objects/readme.txt @@ -0,0 +1 @@ +README File diff --git a/modules/graphic_objects/sci_gateway/graphic_objects_gateway.xml b/modules/graphic_objects/sci_gateway/graphic_objects_gateway.xml new file mode 100755 index 000000000..def51ccc5 --- /dev/null +++ b/modules/graphic_objects/sci_gateway/graphic_objects_gateway.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE GATEWAY SYSTEM "../../functions/xml/gateway.dtd"> +<GATEWAY name="graphic_objects"> + <!-- =================== --> + <!-- + Scilab + Interface description. In this file, we define the list of the function which + will be available into Scilab and the link to the "native" function. + + gatewayId is the position in the hashtable 'Interfaces' defined in the + file SCI/modules/core/src/c/callinterf.h + + primitiveId is the position in the hashtable '<module>Table Tab[]' defined + in the file modules/<module>/sci_gateway/c/gw_<module>.c + + primitiveName is the name of the Scilab function + + @author Allan CORNET + @date DIGITEO 2010 + =================== + Don't touch if you do not know what you are doing +--> + <!-- =================== --> + <PRIMITIVE gatewayId="69" primitiveId="1" primitiveName="graphicfunction"/> +</GATEWAY> diff --git a/modules/graphic_objects/src/c/DllmainGraphic_objects.c b/modules/graphic_objects/src/c/DllmainGraphic_objects.c new file mode 100755 index 000000000..271042a6f --- /dev/null +++ b/modules/graphic_objects/src/c/DllmainGraphic_objects.c @@ -0,0 +1,33 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <windows.h> +/*--------------------------------------------------------------------------*/ +#pragma comment(lib,"../../../../bin/libintl.lib") +/*--------------------------------------------------------------------------*/ +int WINAPI DllMain (HINSTANCE hInstance , DWORD reason, PVOID pvReserved) +{ + switch (reason) + { + case DLL_PROCESS_ATTACH: + break; + case DLL_PROCESS_DETACH: + break; + case DLL_THREAD_ATTACH: + break; + case DLL_THREAD_DETACH: + break; + } + return 1; +} +/*--------------------------------------------------------------------------*/ + diff --git a/modules/graphic_objects/src/c/core_Import.def b/modules/graphic_objects/src/c/core_Import.def new file mode 100755 index 000000000..2c728206b --- /dev/null +++ b/modules/graphic_objects/src/c/core_Import.def @@ -0,0 +1,10 @@ +LIBRARY core.dll + + +EXPORTS +; +com_ +getScilabMode +callFunctionFromGateway +MyHeapAlloc +MyHeapFree diff --git a/modules/graphic_objects/src/c/graphic_objects.vcxproj b/modules/graphic_objects/src/c/graphic_objects.vcxproj new file mode 100755 index 000000000..2e5c852f3 --- /dev/null +++ b/modules/graphic_objects/src/c/graphic_objects.vcxproj @@ -0,0 +1,361 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{30F9EE41-587B-4618-8DE7-698D3FBA4985}</ProjectGuid> + <RootNamespace>graphic_objects</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>false</WholeProgramOptimization> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>false</WholeProgramOptimization> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">sci$(ProjectName)</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">sci$(ProjectName)</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">sci$(ProjectName)</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">sci$(ProjectName)</TargetName> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>.;../jni;../../../../java/jdk/include;../../../../java/jdk/include/win32;../../../../libs/intl;../../includes;../../../api_scilab/includes;../../../core/includes;../../../localization/includes;../../../jvm/includes;../../../output_stream/includes;../cpp;../../../functions/includes;../../../fileio/includes;../../../commons/src/jni;../../../windows_tools/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;GRAPHIC_OBJECTS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4996;4251</DisableSpecificWarnings> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:"$(ProjectDir)core.lib" 1>NUL 2>NUL +</Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>..\..\..\..\bin\scilocalization.lib;core.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>../../../../bin/sci$(ProjectName).dll</OutputFile> + <ModuleDefinitionFile> + </ModuleDefinitionFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <ImportLibrary>../../../../bin/sci$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>.;../jni;../../../../java/jdk/include;../../../../java/jdk/include/win32;../../../../libs/intl;../../includes;../../../api_scilab/includes;../../../core/includes;../../../localization/includes;../../../jvm/includes;../../../output_stream/includes;../cpp;../../../functions/includes;../../../fileio/includes;../../../commons/src/jni;../../../windows_tools/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;GRAPHIC_OBJECTS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4996;4251</DisableSpecificWarnings> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:"$(ProjectDir)core.lib" 1>NUL 2>NUL + +</Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>core.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>../../../../bin/sci$(ProjectName).dll</OutputFile> + <ModuleDefinitionFile> + </ModuleDefinitionFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <ImportLibrary>../../../../bin/sci$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <WholeProgramOptimization>false</WholeProgramOptimization> + <AdditionalIncludeDirectories>.;../jni;../../../../java/jdk/include;../../../../java/jdk/include/win32;../../../../libs/intl;../../includes;../../../api_scilab/includes;../../../core/includes;../../../localization/includes;../../../jvm/includes;../../../output_stream/includes;../cpp;../../../functions/includes;../../../fileio/includes;../../../commons/src/jni;../../../windows_tools/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;GRAPHIC_OBJECTS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4996;4251</DisableSpecificWarnings> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:X86 /OUT:"$(ProjectDir)core.lib" 1>NUL 2>NUL +</Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>..\..\..\..\bin\scilocalization.lib;core.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>../../../../bin/sci$(ProjectName).dll</OutputFile> + <ModuleDefinitionFile> + </ModuleDefinitionFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <LinkTimeCodeGeneration> + </LinkTimeCodeGeneration> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <ImportLibrary>../../../../bin/sci$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <WholeProgramOptimization>false</WholeProgramOptimization> + <AdditionalIncludeDirectories>.;../jni;../../../../java/jdk/include;../../../../java/jdk/include/win32;../../../../libs/intl;../../includes;../../../api_scilab/includes;../../../core/includes;../../../localization/includes;../../../jvm/includes;../../../output_stream/includes;../cpp;../../../functions/includes;../../../fileio/includes;../../../commons/src/jni;../../../windows_tools/includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;GRAPHIC_OBJECTS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4996;4251</DisableSpecificWarnings> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command>lib /DEF:"$(ProjectDir)core_import.def" /SUBSYSTEM:WINDOWS /MACHINE:X64 /OUT:"$(ProjectDir)core.lib" 1>NUL 2>NUL + +</Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>core.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>../../../../bin/sci$(ProjectName).dll</OutputFile> + <ModuleDefinitionFile> + </ModuleDefinitionFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <LinkTimeCodeGeneration> + </LinkTimeCodeGeneration> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <ImportLibrary>../../../../bin/sci$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\cpp\AxesModel.cpp" /> + <ClCompile Include="..\cpp\CurrentFigure.cpp" /> + <ClCompile Include="..\cpp\CurrentObject.cpp" /> + <ClCompile Include="..\cpp\CurrentSubwin.cpp" /> + <ClCompile Include="..\cpp\Fac3DColorComputer.cpp" /> + <ClCompile Include="..\cpp\FigureList.cpp" /> + <ClCompile Include="..\cpp\FigureModel.cpp" /> + <ClCompile Include="..\cpp\getConsoleIdentifier.cpp" /> + <ClCompile Include="..\cpp\HandleManagement.cpp" /> + <ClCompile Include="..\cpp\MatPlotDecomposer.cpp" /> + <ClCompile Include="..\cpp\MeshData.cpp" /> + <ClCompile Include="..\cpp\MeshFecData.cpp" /> + <ClCompile Include="..\cpp\MeshFecDataDecomposer.cpp" /> + <ClCompile Include="..\cpp\NgonGridMatplotDataDecomposer.cpp" /> + <ClCompile Include="..\cpp\NormalGenerator.cpp" /> + <ClCompile Include="..\cpp\ScilabView.cpp" /> + <ClCompile Include="..\cpp\Texture.cpp" /> + <ClCompile Include="..\cpp\Triangulator.cpp" /> + <ClCompile Include="..\jni\Builder.cpp" /> + <ClCompile Include="..\jni\CallGraphicController.cpp" /> + <ClCompile Include="..\cpp\ColorComputer.cpp" /> + <ClCompile Include="..\cpp\createGraphicObject.cpp" /> + <ClCompile Include="..\cpp\Data3D.cpp" /> + <ClCompile Include="..\cpp\DataLoader.cpp" /> + <ClCompile Include="..\jni\CallXmlLoader.cpp" /> + <ClCompile Include="..\jni\DataLoader_wrap.c" /> + <ClCompile Include="..\cpp\dataModel.cpp" /> + <ClCompile Include="..\cpp\DecompositionUtils.cpp" /> + <ClCompile Include="..\cpp\deleteGraphicObject.cpp" /> + <ClCompile Include="..\jni\ObjectData_wrap.c" /> + <ClCompile Include="..\jni\PolylineData_wrap.c" /> + <ClCompile Include="..\jni\ScilabNativeView_wrap.c" /> + <ClCompile Include="DllmainGraphic_objects.c" /> + <ClCompile Include="..\cpp\Fac3DDecomposer.cpp" /> + <ClCompile Include="..\cpp\getGraphicObjectProperty.cpp" /> + <ClCompile Include="..\cpp\NgonData.cpp" /> + <ClCompile Include="..\cpp\NgonGeneralData.cpp" /> + <ClCompile Include="..\cpp\NgonGridData.cpp" /> + <ClCompile Include="..\cpp\NgonGridDataDecomposer.cpp" /> + <ClCompile Include="..\cpp\NgonGridGrayplotDataDecomposer.cpp" /> + <ClCompile Include="..\cpp\NgonGridMatplotData.cpp" /> + <ClCompile Include="..\cpp\NgonPolylineData.cpp" /> + <ClCompile Include="..\cpp\Plot3DDecomposer.cpp" /> + <ClCompile Include="..\cpp\PolylineDecomposer.cpp" /> + <ClCompile Include="..\cpp\setGraphicObjectProperty.cpp" /> + <ClCompile Include="..\jni\SurfaceData_wrap.c" /> + <ClCompile Include="..\cpp\createObjectData.cpp" /> + <ClCompile Include="..\cpp\pickSurface.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\includes\Fac3DColorComputer.hxx" /> + <ClInclude Include="..\..\includes\FigureList.h" /> + <ClInclude Include="..\..\includes\getConsoleIdentifier.h" /> + <ClInclude Include="..\..\includes\getGraphicObjectProperty.h" /> + <ClInclude Include="..\..\includes\graphicObjectProperties.h" /> + <ClInclude Include="..\..\includes\Matplot.h" /> + <ClInclude Include="..\..\includes\MatPlotDecomposer.hxx" /> + <ClInclude Include="..\..\includes\NgonGridMatplotDataDecomposer.hxx" /> + <ClInclude Include="..\..\includes\returnType.h" /> + <ClInclude Include="..\..\includes\ScilabView.hxx" /> + <ClInclude Include="..\..\includes\setGraphicObjectProperty.h" /> + <ClInclude Include="..\..\includes\Texture.hxx" /> + <ClInclude Include="..\..\includes\Triangulator.hxx" /> + <ClInclude Include="..\jni\Builder.hxx" /> + <ClInclude Include="..\jni\CallGraphicController.hxx" /> + <ClInclude Include="..\..\includes\createGraphicObject.h" /> + <ClInclude Include="..\..\includes\Data3D.hxx" /> + <ClInclude Include="..\..\includes\DataController.hxx" /> + <ClInclude Include="..\..\includes\DataProperties.hxx" /> + <ClInclude Include="..\..\includes\DecompositionUtils.hxx" /> + <ClInclude Include="..\..\includes\deleteGraphicObject.h" /> + <ClInclude Include="..\..\includes\dynlib_graphic_objects.h" /> + <ClInclude Include="..\..\includes\Fac3DDecomposer.hxx" /> + <ClInclude Include="..\..\includes\NgonData.hxx" /> + <ClInclude Include="..\..\includes\NgonGeneralData.hxx" /> + <ClInclude Include="..\..\includes\NgonGridData.hxx" /> + <ClInclude Include="..\..\includes\NgonGridDataDecomposer.hxx" /> + <ClInclude Include="..\..\includes\NgonGridGrayplotDataDecomposer.hxx" /> + <ClInclude Include="..\..\includes\NgonGridMatplotData.hxx" /> + <ClInclude Include="..\..\includes\NgonPolylineData.hxx" /> + <ClInclude Include="..\..\includes\NormalGenerator.hxx" /> + <ClInclude Include="..\..\includes\Plot3DDecomposer.hxx" /> + <ClInclude Include="..\..\includes\PolylineDecomposer.hxx" /> + <ClInclude Include="..\..\includes\TriangleMeshData.hxx" /> + <ClInclude Include="..\..\includes\TriangleMeshFecDataDecomposer.hxx" /> + <ClInclude Include="..\jni\CallXmlLoader.hxx" /> + </ItemGroup> + <ItemGroup> + <None Include="..\jni\ObjectData.i" /> + <None Include="..\jni\PolylineData.i" /> + <None Include="..\jni\SurfaceData.i" /> + <None Include="..\jni\ScilabNativeView.i" /> + <None Include="core_import.def" /> + <None Include="..\jni\DataLoader.i" /> + <None Include="..\..\graphic_objects.iss" /> + <None Include="..\..\sci_gateway\graphic_objects_gateway.xml" /> + <None Include="..\..\Makefile.am" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\..\api_scilab\api_scilab.vcxproj"> + <Project>{43c5bab1-1dca-4743-a183-77e0d42fe7d0}</Project> + </ProjectReference> + <ProjectReference Include="..\..\..\commons\src\c\commons.vcxproj"> + <Project>{eca09a1e-6d12-4a47-92e1-a671c181df77}</Project> + </ProjectReference> + <ProjectReference Include="..\..\..\jvm\libjvm.vcxproj"> + <Project>{8ba2dda8-bd04-4d4d-8ee6-6caa955f7470}</Project> + </ProjectReference> + <ProjectReference Include="..\..\..\output_stream\src\c\output_stream.vcxproj"> + <Project>{a5911cd7-f8e8-440c-a23e-4843a0636f3a}</Project> + </ProjectReference> + <ProjectReference Include="..\..\..\windows_tools\src\c\scilab_windows\scilab_windows.vcxproj"> + <Project>{8028f371-6a94-4a26-8804-6e7f05f1d1aa}</Project> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/modules/graphic_objects/src/c/graphic_objects.vcxproj.filters b/modules/graphic_objects/src/c/graphic_objects.vcxproj.filters new file mode 100755 index 000000000..b61c492b9 --- /dev/null +++ b/modules/graphic_objects/src/c/graphic_objects.vcxproj.filters @@ -0,0 +1,304 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{f79df525-a28f-468e-baef-7a11c09d48b6}</UniqueIdentifier> + <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{7d5a274b-0f38-4a01-9b9c-76921537ed71}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl</Extensions> + </Filter> + <Filter Include="localization"> + <UniqueIdentifier>{5ffd4074-3898-45da-bc72-d7e2f4d603af}</UniqueIdentifier> + </Filter> + <Filter Include="Libraries Dependencies"> + <UniqueIdentifier>{b65a6b60-178c-4b9e-9564-39f5703fd8bd}</UniqueIdentifier> + </Filter> + <Filter Include="Libraries Dependencies\Imports"> + <UniqueIdentifier>{426706e8-160d-467c-a553-370ddc7e5bdd}</UniqueIdentifier> + </Filter> + <Filter Include="Swig Files"> + <UniqueIdentifier>{f978b9df-c998-47b7-9c55-5979f3804a5c}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\jni\CallGraphicController.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\ColorComputer.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\createGraphicObject.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\Data3D.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\DataLoader.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\jni\DataLoader_wrap.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\dataModel.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\DecompositionUtils.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\deleteGraphicObject.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="DllmainGraphic_objects.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\Fac3DDecomposer.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\getGraphicObjectProperty.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\NgonData.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\NgonGeneralData.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\NgonGridData.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\NgonGridDataDecomposer.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\NgonGridGrayplotDataDecomposer.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\NgonGridMatplotData.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\NgonPolylineData.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\NormalGenerator.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\Plot3DDecomposer.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\PolylineDecomposer.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\setGraphicObjectProperty.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\NgonGridMatplotDataDecomposer.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\ScilabView.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\jni\ScilabNativeView_wrap.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\AxesModel.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\CurrentFigure.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\CurrentObject.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\CurrentSubwin.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\FigureList.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\FigureModel.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\HandleManagement.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\Fac3DColorComputer.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\getConsoleIdentifier.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\Triangulator.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\MatPlotDecomposer.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\jni\PolylineData_wrap.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\jni\SurfaceData_wrap.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\createObjectData.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\pickSurface.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\jni\ObjectData_wrap.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\Texture.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\jni\Builder.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\jni\CallXmlLoader.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\MeshData.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\MeshFecData.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\cpp\MeshFecDataDecomposer.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\jni\CallGraphicController.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\createGraphicObject.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\Data3D.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\DataController.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\DataProperties.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\DecompositionUtils.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\deleteGraphicObject.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\dynlib_graphic_objects.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\Fac3DDecomposer.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\NgonData.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\NgonGeneralData.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\NgonGridData.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\NgonGridDataDecomposer.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\NgonGridGrayplotDataDecomposer.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\NgonGridMatplotData.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\NgonPolylineData.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\NormalGenerator.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\Plot3DDecomposer.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\PolylineDecomposer.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\TriangleMeshData.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\TriangleMeshFecDataDecomposer.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\NgonGridMatplotDataDecomposer.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\FigureList.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\ScilabView.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\Fac3DColorComputer.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\getConsoleIdentifier.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\getGraphicObjectProperty.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\graphicObjectProperties.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\returnType.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\setGraphicObjectProperty.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\Triangulator.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\MatPlotDecomposer.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\Matplot.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\includes\Texture.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\jni\Builder.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\jni\CallXmlLoader.hxx"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <None Include="core_import.def"> + <Filter>Libraries Dependencies\Imports</Filter> + </None> + <None Include="..\jni\DataLoader.i"> + <Filter>Swig Files</Filter> + </None> + <None Include="..\..\graphic_objects.iss" /> + <None Include="..\..\sci_gateway\graphic_objects_gateway.xml" /> + <None Include="..\..\Makefile.am" /> + <None Include="..\jni\ScilabNativeView.i"> + <Filter>Swig Files</Filter> + </None> + <None Include="..\jni\PolylineData.i"> + <Filter>Swig Files</Filter> + </None> + <None Include="..\jni\SurfaceData.i"> + <Filter>Swig Files</Filter> + </None> + <None Include="..\jni\ObjectData.i"> + <Filter>Swig Files</Filter> + </None> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/modules/graphic_objects/src/cpp/.deps/.dirstamp b/modules/graphic_objects/src/cpp/.deps/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/.dirstamp diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-AxesModel.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-AxesModel.Plo new file mode 100755 index 000000000..b02afb02d --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-AxesModel.Plo @@ -0,0 +1,265 @@ +src/cpp/libscigraphic_objects_la-AxesModel.lo: src/cpp/AxesModel.cpp \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/ScilabView.hxx \ + /usr/include/c++/5/map /usr/include/c++/5/bits/stl_tree.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/ext/alloc_traits.h /usr/include/c++/5/bits/stl_map.h \ + /usr/include/c++/5/bits/stl_multimap.h \ + /usr/include/c++/5/bits/range_access.h /usr/include/c++/5/list \ + /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \ + /usr/include/c++/5/vector /usr/include/c++/5/bits/stl_construct.h \ + /usr/include/c++/5/bits/stl_uninitialized.h \ + /usr/include/c++/5/bits/stl_vector.h \ + /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \ + /usr/include/c++/5/string /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/char_traits.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + includes/dynlib_graphic_objects.h includes/AxesModel.h \ + ../../modules/core/includes/BOOL.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/ScilabView.hxx: + +/usr/include/c++/5/map: + +/usr/include/c++/5/bits/stl_tree.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/stl_map.h: + +/usr/include/c++/5/bits/stl_multimap.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/list: + +/usr/include/c++/5/bits/stl_list.h: + +/usr/include/c++/5/bits/list.tcc: + +/usr/include/c++/5/vector: + +/usr/include/c++/5/bits/stl_construct.h: + +/usr/include/c++/5/bits/stl_uninitialized.h: + +/usr/include/c++/5/bits/stl_vector.h: + +/usr/include/c++/5/bits/stl_bvector.h: + +/usr/include/c++/5/bits/vector.tcc: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/dynlib_graphic_objects.h: + +includes/AxesModel.h: + +../../modules/core/includes/BOOL.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-ColorComputer.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-ColorComputer.Plo new file mode 100755 index 000000000..4b374b44a --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-ColorComputer.Plo @@ -0,0 +1,138 @@ +src/cpp/libscigraphic_objects_la-ColorComputer.lo: \ + src/cpp/ColorComputer.cpp /usr/include/stdc-predef.h \ + includes/ColorComputer.hxx includes/DecompositionUtils.hxx \ + /usr/include/math.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + includes/getGraphicObjectProperty.h /usr/include/stdlib.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h includes/returnType.h \ + includes/dynlib_graphic_objects.h includes/CurrentObject.h \ + ../../modules/core/includes/BOOL.h includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/ColorComputer.hxx: + +includes/DecompositionUtils.hxx: + +/usr/include/math.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +includes/getGraphicObjectProperty.h: + +/usr/include/stdlib.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/returnType.h: + +includes/dynlib_graphic_objects.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-CurrentFigure.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-CurrentFigure.Plo new file mode 100755 index 000000000..9ea22a9b2 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-CurrentFigure.Plo @@ -0,0 +1,266 @@ +src/cpp/libscigraphic_objects_la-CurrentFigure.lo: \ + src/cpp/CurrentFigure.cpp /usr/include/stdc-predef.h \ + includes/ScilabView.hxx /usr/include/c++/5/map \ + /usr/include/c++/5/bits/stl_tree.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/ext/alloc_traits.h /usr/include/c++/5/bits/stl_map.h \ + /usr/include/c++/5/bits/stl_multimap.h \ + /usr/include/c++/5/bits/range_access.h /usr/include/c++/5/list \ + /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \ + /usr/include/c++/5/vector /usr/include/c++/5/bits/stl_construct.h \ + /usr/include/c++/5/bits/stl_uninitialized.h \ + /usr/include/c++/5/bits/stl_vector.h \ + /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \ + /usr/include/c++/5/string /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/char_traits.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + includes/dynlib_graphic_objects.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/core/includes/BOOL.h includes/CurrentFigure.h + +/usr/include/stdc-predef.h: + +includes/ScilabView.hxx: + +/usr/include/c++/5/map: + +/usr/include/c++/5/bits/stl_tree.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/stl_map.h: + +/usr/include/c++/5/bits/stl_multimap.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/list: + +/usr/include/c++/5/bits/stl_list.h: + +/usr/include/c++/5/bits/list.tcc: + +/usr/include/c++/5/vector: + +/usr/include/c++/5/bits/stl_construct.h: + +/usr/include/c++/5/bits/stl_uninitialized.h: + +/usr/include/c++/5/bits/stl_vector.h: + +/usr/include/c++/5/bits/stl_bvector.h: + +/usr/include/c++/5/bits/vector.tcc: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/dynlib_graphic_objects.h: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/core/includes/BOOL.h: + +includes/CurrentFigure.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-CurrentObject.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-CurrentObject.Plo new file mode 100755 index 000000000..ee92a86fe --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-CurrentObject.Plo @@ -0,0 +1,316 @@ +src/cpp/libscigraphic_objects_la-CurrentObject.lo: \ + src/cpp/CurrentObject.cpp /usr/include/stdc-predef.h \ + includes/ScilabView.hxx /usr/include/c++/5/map \ + /usr/include/c++/5/bits/stl_tree.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/ext/alloc_traits.h /usr/include/c++/5/bits/stl_map.h \ + /usr/include/c++/5/bits/stl_multimap.h \ + /usr/include/c++/5/bits/range_access.h /usr/include/c++/5/list \ + /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \ + /usr/include/c++/5/vector /usr/include/c++/5/bits/stl_construct.h \ + /usr/include/c++/5/bits/stl_uninitialized.h \ + /usr/include/c++/5/bits/stl_vector.h \ + /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \ + /usr/include/c++/5/string /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/char_traits.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + includes/dynlib_graphic_objects.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/getGraphicObjectProperty.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h includes/returnType.h \ + includes/CurrentObject.h ../../modules/core/includes/BOOL.h \ + includes/setGraphicObjectProperty.h includes/graphicObjectProperties.h \ + includes/CurrentObject.h + +/usr/include/stdc-predef.h: + +includes/ScilabView.hxx: + +/usr/include/c++/5/map: + +/usr/include/c++/5/bits/stl_tree.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/stl_map.h: + +/usr/include/c++/5/bits/stl_multimap.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/list: + +/usr/include/c++/5/bits/stl_list.h: + +/usr/include/c++/5/bits/list.tcc: + +/usr/include/c++/5/vector: + +/usr/include/c++/5/bits/stl_construct.h: + +/usr/include/c++/5/bits/stl_uninitialized.h: + +/usr/include/c++/5/bits/stl_vector.h: + +/usr/include/c++/5/bits/stl_bvector.h: + +/usr/include/c++/5/bits/vector.tcc: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/dynlib_graphic_objects.h: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/getGraphicObjectProperty.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/returnType.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/setGraphicObjectProperty.h: + +includes/graphicObjectProperties.h: + +includes/CurrentObject.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-CurrentSubwin.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-CurrentSubwin.Plo new file mode 100755 index 000000000..3e124c971 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-CurrentSubwin.Plo @@ -0,0 +1,258 @@ +src/cpp/libscigraphic_objects_la-CurrentSubwin.lo: \ + src/cpp/CurrentSubwin.cpp /usr/include/stdc-predef.h \ + includes/ScilabView.hxx /usr/include/c++/5/map \ + /usr/include/c++/5/bits/stl_tree.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/ext/alloc_traits.h /usr/include/c++/5/bits/stl_map.h \ + /usr/include/c++/5/bits/stl_multimap.h \ + /usr/include/c++/5/bits/range_access.h /usr/include/c++/5/list \ + /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \ + /usr/include/c++/5/vector /usr/include/c++/5/bits/stl_construct.h \ + /usr/include/c++/5/bits/stl_uninitialized.h \ + /usr/include/c++/5/bits/stl_vector.h \ + /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \ + /usr/include/c++/5/string /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/char_traits.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + includes/dynlib_graphic_objects.h includes/CurrentSubwin.h + +/usr/include/stdc-predef.h: + +includes/ScilabView.hxx: + +/usr/include/c++/5/map: + +/usr/include/c++/5/bits/stl_tree.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/stl_map.h: + +/usr/include/c++/5/bits/stl_multimap.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/list: + +/usr/include/c++/5/bits/stl_list.h: + +/usr/include/c++/5/bits/list.tcc: + +/usr/include/c++/5/vector: + +/usr/include/c++/5/bits/stl_construct.h: + +/usr/include/c++/5/bits/stl_uninitialized.h: + +/usr/include/c++/5/bits/stl_vector.h: + +/usr/include/c++/5/bits/stl_bvector.h: + +/usr/include/c++/5/bits/vector.tcc: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/dynlib_graphic_objects.h: + +includes/CurrentSubwin.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Data3D.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Data3D.Plo new file mode 100755 index 000000000..ca0567944 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Data3D.Plo @@ -0,0 +1,243 @@ +src/cpp/libscigraphic_objects_la-Data3D.lo: src/cpp/Data3D.cpp \ + /usr/include/stdc-predef.h includes/Data3D.hxx /usr/include/c++/5/string \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc includes/DataProperties.hxx \ + ../../modules/core/includes/BOOL.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/Data3D.hxx: + +/usr/include/c++/5/string: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/DataProperties.hxx: + +../../modules/core/includes/BOOL.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-DataLoader.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-DataLoader.Plo new file mode 100755 index 000000000..97b4a09be --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-DataLoader.Plo @@ -0,0 +1,339 @@ +src/cpp/libscigraphic_objects_la-DataLoader.lo: src/cpp/DataLoader.cpp \ + /usr/include/stdc-predef.h /usr/include/c++/5/cstring \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/string.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/DataLoader.hxx includes/MatPlotDecomposer.hxx \ + includes/Fac3DDecomposer.hxx /usr/include/c++/5/string \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + includes/NgonGridMatplotData.hxx includes/NgonGridData.hxx \ + includes/NgonData.hxx includes/Data3D.hxx includes/DataProperties.hxx \ + ../../modules/core/includes/BOOL.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/Matplot.h \ + includes/dynlib_graphic_objects.h \ + includes/NgonGridGrayplotDataDecomposer.hxx \ + includes/NgonGridDataDecomposer.hxx \ + includes/NgonGridMatplotDataDecomposer.hxx includes/ColorComputer.hxx \ + includes/DecompositionUtils.hxx includes/Plot3DDecomposer.hxx \ + includes/PolylineDecomposer.hxx includes/MeshFecDataDecomposer.hxx \ + includes/NormalGenerator.hxx includes/getGraphicObjectProperty.h \ + includes/returnType.h includes/CurrentObject.h \ + includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +/usr/include/c++/5/cstring: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/string.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/DataLoader.hxx: + +includes/MatPlotDecomposer.hxx: + +includes/Fac3DDecomposer.hxx: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/NgonGridMatplotData.hxx: + +includes/NgonGridData.hxx: + +includes/NgonData.hxx: + +includes/Data3D.hxx: + +includes/DataProperties.hxx: + +../../modules/core/includes/BOOL.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +includes/Matplot.h: + +includes/dynlib_graphic_objects.h: + +includes/NgonGridGrayplotDataDecomposer.hxx: + +includes/NgonGridDataDecomposer.hxx: + +includes/NgonGridMatplotDataDecomposer.hxx: + +includes/ColorComputer.hxx: + +includes/DecompositionUtils.hxx: + +includes/Plot3DDecomposer.hxx: + +includes/PolylineDecomposer.hxx: + +includes/MeshFecDataDecomposer.hxx: + +includes/NormalGenerator.hxx: + +includes/getGraphicObjectProperty.h: + +includes/returnType.h: + +includes/CurrentObject.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-DecompositionUtils.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-DecompositionUtils.Plo new file mode 100755 index 000000000..62ada5560 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-DecompositionUtils.Plo @@ -0,0 +1,56 @@ +src/cpp/libscigraphic_objects_la-DecompositionUtils.lo: \ + src/cpp/DecompositionUtils.cpp /usr/include/stdc-predef.h \ + includes/DecompositionUtils.hxx /usr/include/math.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/float.h + +/usr/include/stdc-predef.h: + +includes/DecompositionUtils.hxx: + +/usr/include/math.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/float.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Fac3DColorComputer.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Fac3DColorComputer.Plo new file mode 100755 index 000000000..91ead5855 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Fac3DColorComputer.Plo @@ -0,0 +1,260 @@ +src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo: \ + src/cpp/Fac3DColorComputer.cpp /usr/include/stdc-predef.h \ + includes/DecompositionUtils.hxx includes/Fac3DColorComputer.hxx \ + /usr/include/c++/5/string \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h + +/usr/include/stdc-predef.h: + +includes/DecompositionUtils.hxx: + +includes/Fac3DColorComputer.hxx: + +/usr/include/c++/5/string: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Fac3DDecomposer.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Fac3DDecomposer.Plo new file mode 100755 index 000000000..a5d111593 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Fac3DDecomposer.Plo @@ -0,0 +1,287 @@ +src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo: \ + src/cpp/Fac3DDecomposer.cpp /usr/include/stdc-predef.h \ + includes/DecompositionUtils.hxx includes/ColorComputer.hxx \ + includes/DecompositionUtils.hxx includes/Fac3DColorComputer.hxx \ + /usr/include/c++/5/string \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h includes/Fac3DDecomposer.hxx \ + /usr/include/string.h /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/getGraphicObjectProperty.h includes/returnType.h \ + includes/dynlib_graphic_objects.h includes/CurrentObject.h \ + ../../modules/core/includes/BOOL.h includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/DecompositionUtils.hxx: + +includes/ColorComputer.hxx: + +includes/DecompositionUtils.hxx: + +includes/Fac3DColorComputer.hxx: + +/usr/include/c++/5/string: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/Fac3DDecomposer.hxx: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/getGraphicObjectProperty.h: + +includes/returnType.h: + +includes/dynlib_graphic_objects.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-FigureList.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-FigureList.Plo new file mode 100755 index 000000000..75dc8c9d1 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-FigureList.Plo @@ -0,0 +1,265 @@ +src/cpp/libscigraphic_objects_la-FigureList.lo: src/cpp/FigureList.cpp \ + /usr/include/stdc-predef.h includes/ScilabView.hxx \ + /usr/include/c++/5/map /usr/include/c++/5/bits/stl_tree.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/ext/alloc_traits.h /usr/include/c++/5/bits/stl_map.h \ + /usr/include/c++/5/bits/stl_multimap.h \ + /usr/include/c++/5/bits/range_access.h /usr/include/c++/5/list \ + /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \ + /usr/include/c++/5/vector /usr/include/c++/5/bits/stl_construct.h \ + /usr/include/c++/5/bits/stl_uninitialized.h \ + /usr/include/c++/5/bits/stl_vector.h \ + /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \ + /usr/include/c++/5/string /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/char_traits.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + includes/dynlib_graphic_objects.h includes/FigureList.h \ + ../../modules/core/includes/BOOL.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h + +/usr/include/stdc-predef.h: + +includes/ScilabView.hxx: + +/usr/include/c++/5/map: + +/usr/include/c++/5/bits/stl_tree.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/stl_map.h: + +/usr/include/c++/5/bits/stl_multimap.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/list: + +/usr/include/c++/5/bits/stl_list.h: + +/usr/include/c++/5/bits/list.tcc: + +/usr/include/c++/5/vector: + +/usr/include/c++/5/bits/stl_construct.h: + +/usr/include/c++/5/bits/stl_uninitialized.h: + +/usr/include/c++/5/bits/stl_vector.h: + +/usr/include/c++/5/bits/stl_bvector.h: + +/usr/include/c++/5/bits/vector.tcc: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/dynlib_graphic_objects.h: + +includes/FigureList.h: + +../../modules/core/includes/BOOL.h: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-FigureModel.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-FigureModel.Plo new file mode 100755 index 000000000..36850541d --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-FigureModel.Plo @@ -0,0 +1,265 @@ +src/cpp/libscigraphic_objects_la-FigureModel.lo: src/cpp/FigureModel.cpp \ + /usr/include/stdc-predef.h /usr/include/string.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/ScilabView.hxx \ + /usr/include/c++/5/map /usr/include/c++/5/bits/stl_tree.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/ext/alloc_traits.h /usr/include/c++/5/bits/stl_map.h \ + /usr/include/c++/5/bits/stl_multimap.h \ + /usr/include/c++/5/bits/range_access.h /usr/include/c++/5/list \ + /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \ + /usr/include/c++/5/vector /usr/include/c++/5/bits/stl_construct.h \ + /usr/include/c++/5/bits/stl_uninitialized.h \ + /usr/include/c++/5/bits/stl_vector.h \ + /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \ + /usr/include/c++/5/string /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/char_traits.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + includes/dynlib_graphic_objects.h includes/FigureModel.h \ + ../../modules/core/includes/BOOL.h + +/usr/include/stdc-predef.h: + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/ScilabView.hxx: + +/usr/include/c++/5/map: + +/usr/include/c++/5/bits/stl_tree.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/stl_map.h: + +/usr/include/c++/5/bits/stl_multimap.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/list: + +/usr/include/c++/5/bits/stl_list.h: + +/usr/include/c++/5/bits/list.tcc: + +/usr/include/c++/5/vector: + +/usr/include/c++/5/bits/stl_construct.h: + +/usr/include/c++/5/bits/stl_uninitialized.h: + +/usr/include/c++/5/bits/stl_vector.h: + +/usr/include/c++/5/bits/stl_bvector.h: + +/usr/include/c++/5/bits/vector.tcc: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/dynlib_graphic_objects.h: + +includes/FigureModel.h: + +../../modules/core/includes/BOOL.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-HandleManagement.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-HandleManagement.Plo new file mode 100755 index 000000000..e5f01bc9e --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-HandleManagement.Plo @@ -0,0 +1,258 @@ +src/cpp/libscigraphic_objects_la-HandleManagement.lo: \ + src/cpp/HandleManagement.cpp /usr/include/stdc-predef.h \ + includes/ScilabView.hxx /usr/include/c++/5/map \ + /usr/include/c++/5/bits/stl_tree.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/ext/alloc_traits.h /usr/include/c++/5/bits/stl_map.h \ + /usr/include/c++/5/bits/stl_multimap.h \ + /usr/include/c++/5/bits/range_access.h /usr/include/c++/5/list \ + /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \ + /usr/include/c++/5/vector /usr/include/c++/5/bits/stl_construct.h \ + /usr/include/c++/5/bits/stl_uninitialized.h \ + /usr/include/c++/5/bits/stl_vector.h \ + /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \ + /usr/include/c++/5/string /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/char_traits.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + includes/dynlib_graphic_objects.h includes/HandleManagement.h + +/usr/include/stdc-predef.h: + +includes/ScilabView.hxx: + +/usr/include/c++/5/map: + +/usr/include/c++/5/bits/stl_tree.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/stl_map.h: + +/usr/include/c++/5/bits/stl_multimap.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/list: + +/usr/include/c++/5/bits/stl_list.h: + +/usr/include/c++/5/bits/list.tcc: + +/usr/include/c++/5/vector: + +/usr/include/c++/5/bits/stl_construct.h: + +/usr/include/c++/5/bits/stl_uninitialized.h: + +/usr/include/c++/5/bits/stl_vector.h: + +/usr/include/c++/5/bits/stl_bvector.h: + +/usr/include/c++/5/bits/vector.tcc: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/dynlib_graphic_objects.h: + +includes/HandleManagement.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-MatPlotDecomposer.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-MatPlotDecomposer.Plo new file mode 100755 index 000000000..419a279bc --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-MatPlotDecomposer.Plo @@ -0,0 +1,348 @@ +src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo: \ + src/cpp/MatPlotDecomposer.cpp /usr/include/stdc-predef.h \ + includes/DecompositionUtils.hxx includes/MatPlotDecomposer.hxx \ + includes/DataProperties.hxx includes/ColorComputer.hxx \ + includes/DecompositionUtils.hxx /usr/include/c++/5/iostream \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/cstring \ + /usr/include/string.h /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/getGraphicObjectProperty.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h includes/returnType.h \ + includes/dynlib_graphic_objects.h includes/CurrentObject.h \ + ../../modules/core/includes/BOOL.h includes/setGraphicObjectProperty.h \ + includes/graphicObjectProperties.h includes/Matplot.h + +/usr/include/stdc-predef.h: + +includes/DecompositionUtils.hxx: + +includes/MatPlotDecomposer.hxx: + +includes/DataProperties.hxx: + +includes/ColorComputer.hxx: + +includes/DecompositionUtils.hxx: + +/usr/include/c++/5/iostream: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +/usr/include/c++/5/cstring: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/getGraphicObjectProperty.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/returnType.h: + +includes/dynlib_graphic_objects.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/setGraphicObjectProperty.h: + +includes/graphicObjectProperties.h: + +includes/Matplot.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-MeshData.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-MeshData.Plo new file mode 100755 index 000000000..847fcd182 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-MeshData.Plo @@ -0,0 +1,253 @@ +src/cpp/libscigraphic_objects_la-MeshData.lo: src/cpp/MeshData.cpp \ + /usr/include/stdc-predef.h includes/MeshData.hxx includes/Data3D.hxx \ + /usr/include/c++/5/string \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc includes/DataProperties.hxx \ + ../../modules/core/includes/BOOL.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/DataProperties.hxx \ + /usr/include/string.h /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/MeshData.hxx: + +includes/Data3D.hxx: + +/usr/include/c++/5/string: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/DataProperties.hxx: + +../../modules/core/includes/BOOL.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +includes/DataProperties.hxx: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-MeshFecData.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-MeshFecData.Plo new file mode 100755 index 000000000..6475955e0 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-MeshFecData.Plo @@ -0,0 +1,258 @@ +src/cpp/libscigraphic_objects_la-MeshFecData.lo: src/cpp/MeshFecData.cpp \ + /usr/include/stdc-predef.h includes/MeshFecData.hxx includes/Data3D.hxx \ + /usr/include/c++/5/string \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc includes/DataProperties.hxx \ + ../../modules/core/includes/BOOL.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/MeshData.hxx \ + includes/MeshData.hxx includes/DataProperties.hxx /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/MeshFecData.hxx: + +includes/Data3D.hxx: + +/usr/include/c++/5/string: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/DataProperties.hxx: + +../../modules/core/includes/BOOL.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +includes/MeshData.hxx: + +includes/MeshData.hxx: + +includes/DataProperties.hxx: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-MeshFecDataDecomposer.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-MeshFecDataDecomposer.Plo new file mode 100755 index 000000000..1f24bf2e6 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-MeshFecDataDecomposer.Plo @@ -0,0 +1,339 @@ +src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo: \ + src/cpp/MeshFecDataDecomposer.cpp /usr/include/stdc-predef.h \ + includes/ColorComputer.hxx includes/DecompositionUtils.hxx \ + includes/DecompositionUtils.hxx includes/MeshFecDataDecomposer.hxx \ + /usr/include/c++/5/iostream \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/getGraphicObjectProperty.h includes/returnType.h \ + includes/dynlib_graphic_objects.h includes/CurrentObject.h \ + ../../modules/core/includes/BOOL.h includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/ColorComputer.hxx: + +includes/DecompositionUtils.hxx: + +includes/DecompositionUtils.hxx: + +includes/MeshFecDataDecomposer.hxx: + +/usr/include/c++/5/iostream: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/getGraphicObjectProperty.h: + +includes/returnType.h: + +includes/dynlib_graphic_objects.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonData.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonData.Plo new file mode 100755 index 000000000..826984bc1 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonData.Plo @@ -0,0 +1,254 @@ +src/cpp/libscigraphic_objects_la-NgonData.lo: src/cpp/NgonData.cpp \ + /usr/include/stdc-predef.h includes/NgonData.hxx \ + /usr/include/c++/5/string \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc includes/Data3D.hxx \ + includes/DataProperties.hxx ../../modules/core/includes/BOOL.h \ + /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/DataProperties.hxx \ + /usr/include/string.h /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/NgonData.hxx: + +/usr/include/c++/5/string: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/Data3D.hxx: + +includes/DataProperties.hxx: + +../../modules/core/includes/BOOL.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +includes/DataProperties.hxx: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGeneralData.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGeneralData.Plo new file mode 100755 index 000000000..07dad7493 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGeneralData.Plo @@ -0,0 +1,310 @@ +src/cpp/libscigraphic_objects_la-NgonGeneralData.lo: \ + src/cpp/NgonGeneralData.cpp /usr/include/stdc-predef.h \ + /usr/include/c++/5/iostream \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc includes/NgonGeneralData.hxx \ + includes/NgonData.hxx includes/Data3D.hxx includes/DataProperties.hxx \ + ../../modules/core/includes/BOOL.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/DataProperties.hxx \ + /usr/include/string.h /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +/usr/include/c++/5/iostream: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +includes/NgonGeneralData.hxx: + +includes/NgonData.hxx: + +includes/Data3D.hxx: + +includes/DataProperties.hxx: + +../../modules/core/includes/BOOL.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +includes/DataProperties.hxx: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridData.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridData.Plo new file mode 100755 index 000000000..87a942a55 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridData.Plo @@ -0,0 +1,291 @@ +src/cpp/libscigraphic_objects_la-NgonGridData.lo: \ + src/cpp/NgonGridData.cpp /usr/include/stdc-predef.h \ + includes/NgonGridData.hxx /usr/include/c++/5/string \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc includes/NgonData.hxx \ + includes/Data3D.hxx includes/DataProperties.hxx \ + ../../modules/core/includes/BOOL.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/NgonGridData.hxx: + +/usr/include/c++/5/string: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/NgonData.hxx: + +includes/Data3D.hxx: + +includes/DataProperties.hxx: + +../../modules/core/includes/BOOL.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridDataDecomposer.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridDataDecomposer.Plo new file mode 100755 index 000000000..8f8114106 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridDataDecomposer.Plo @@ -0,0 +1,280 @@ +src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo: \ + src/cpp/NgonGridDataDecomposer.cpp /usr/include/stdc-predef.h \ + includes/ColorComputer.hxx includes/DecompositionUtils.hxx \ + includes/DecompositionUtils.hxx includes/NgonGridDataDecomposer.hxx \ + /usr/include/c++/5/string \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + includes/getGraphicObjectProperty.h includes/returnType.h \ + includes/dynlib_graphic_objects.h includes/CurrentObject.h \ + ../../modules/core/includes/BOOL.h includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/ColorComputer.hxx: + +includes/DecompositionUtils.hxx: + +includes/DecompositionUtils.hxx: + +includes/NgonGridDataDecomposer.hxx: + +/usr/include/c++/5/string: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/getGraphicObjectProperty.h: + +includes/returnType.h: + +includes/dynlib_graphic_objects.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.Plo new file mode 100755 index 000000000..51d4eb9f3 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.Plo @@ -0,0 +1,288 @@ +src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo: \ + src/cpp/NgonGridGrayplotDataDecomposer.cpp /usr/include/stdc-predef.h \ + includes/ColorComputer.hxx includes/DecompositionUtils.hxx \ + includes/DecompositionUtils.hxx \ + includes/NgonGridGrayplotDataDecomposer.hxx /usr/include/c++/5/string \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + includes/NgonGridDataDecomposer.hxx /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/getGraphicObjectProperty.h includes/returnType.h \ + includes/dynlib_graphic_objects.h includes/CurrentObject.h \ + ../../modules/core/includes/BOOL.h includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/ColorComputer.hxx: + +includes/DecompositionUtils.hxx: + +includes/DecompositionUtils.hxx: + +includes/NgonGridGrayplotDataDecomposer.hxx: + +/usr/include/c++/5/string: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/NgonGridDataDecomposer.hxx: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/getGraphicObjectProperty.h: + +includes/returnType.h: + +includes/dynlib_graphic_objects.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridMatplotData.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridMatplotData.Plo new file mode 100755 index 000000000..486676515 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridMatplotData.Plo @@ -0,0 +1,326 @@ +src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo: \ + src/cpp/NgonGridMatplotData.cpp /usr/include/stdc-predef.h \ + includes/NgonGridMatplotData.hxx /usr/include/c++/5/string \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc includes/NgonGridData.hxx \ + includes/NgonData.hxx includes/Data3D.hxx includes/DataProperties.hxx \ + ../../modules/core/includes/BOOL.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/Matplot.h \ + includes/dynlib_graphic_objects.h includes/Texture.hxx \ + /usr/include/c++/5/climits \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \ + /usr/include/x86_64-linux-gnu/bits/xopen_lim.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/NgonGridMatplotData.hxx: + +/usr/include/c++/5/string: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/NgonGridData.hxx: + +includes/NgonData.hxx: + +includes/Data3D.hxx: + +includes/DataProperties.hxx: + +../../modules/core/includes/BOOL.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +includes/Matplot.h: + +includes/dynlib_graphic_objects.h: + +includes/Texture.hxx: + +/usr/include/c++/5/climits: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/x86_64-linux-gnu/bits/xopen_lim.h: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.Plo new file mode 100755 index 000000000..e87d5dcee --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.Plo @@ -0,0 +1,350 @@ +src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo: \ + src/cpp/NgonGridMatplotDataDecomposer.cpp /usr/include/stdc-predef.h \ + includes/ColorComputer.hxx includes/DecompositionUtils.hxx \ + includes/DecompositionUtils.hxx includes/NgonGridDataDecomposer.hxx \ + /usr/include/c++/5/string \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + includes/NgonGridMatplotDataDecomposer.hxx includes/ColorComputer.hxx \ + includes/Matplot.h includes/dynlib_graphic_objects.h \ + /usr/include/c++/5/iostream /usr/include/c++/5/ostream \ + /usr/include/c++/5/ios /usr/include/c++/5/bits/ios_base.h \ + /usr/include/c++/5/bits/locale_classes.h \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/getGraphicObjectProperty.h includes/returnType.h \ + includes/CurrentObject.h ../../modules/core/includes/BOOL.h \ + includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/ColorComputer.hxx: + +includes/DecompositionUtils.hxx: + +includes/DecompositionUtils.hxx: + +includes/NgonGridDataDecomposer.hxx: + +/usr/include/c++/5/string: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/NgonGridMatplotDataDecomposer.hxx: + +includes/ColorComputer.hxx: + +includes/Matplot.h: + +includes/dynlib_graphic_objects.h: + +/usr/include/c++/5/iostream: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/getGraphicObjectProperty.h: + +includes/returnType.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonPolylineData.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonPolylineData.Plo new file mode 100755 index 000000000..fb40920d3 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NgonPolylineData.Plo @@ -0,0 +1,313 @@ +src/cpp/libscigraphic_objects_la-NgonPolylineData.lo: \ + src/cpp/NgonPolylineData.cpp /usr/include/stdc-predef.h \ + /usr/include/c++/5/iostream \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc includes/NgonPolylineData.hxx \ + includes/NgonGeneralData.hxx includes/NgonData.hxx includes/Data3D.hxx \ + includes/DataProperties.hxx ../../modules/core/includes/BOOL.h \ + /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/DataProperties.hxx \ + /usr/include/string.h /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +/usr/include/c++/5/iostream: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +includes/NgonPolylineData.hxx: + +includes/NgonGeneralData.hxx: + +includes/NgonData.hxx: + +includes/Data3D.hxx: + +includes/DataProperties.hxx: + +../../modules/core/includes/BOOL.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +includes/DataProperties.hxx: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NormalGenerator.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NormalGenerator.Plo new file mode 100755 index 000000000..42c182b59 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-NormalGenerator.Plo @@ -0,0 +1,54 @@ +src/cpp/libscigraphic_objects_la-NormalGenerator.lo: \ + src/cpp/NormalGenerator.cpp /usr/include/stdc-predef.h \ + /usr/include/math.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h \ + includes/NormalGenerator.hxx + +/usr/include/stdc-predef.h: + +/usr/include/math.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +includes/NormalGenerator.hxx: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Plot3DDecomposer.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Plot3DDecomposer.Plo new file mode 100755 index 000000000..a6d019c5b --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Plot3DDecomposer.Plo @@ -0,0 +1,290 @@ +src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo: \ + src/cpp/Plot3DDecomposer.cpp /usr/include/stdc-predef.h \ + /usr/include/c++/5/cstring \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/string.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/ColorComputer.hxx includes/DecompositionUtils.hxx \ + includes/DecompositionUtils.hxx includes/Plot3DDecomposer.hxx \ + includes/NgonGridDataDecomposer.hxx /usr/include/c++/5/string \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + includes/getGraphicObjectProperty.h includes/returnType.h \ + includes/dynlib_graphic_objects.h includes/CurrentObject.h \ + ../../modules/core/includes/BOOL.h includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +/usr/include/c++/5/cstring: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/string.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/ColorComputer.hxx: + +includes/DecompositionUtils.hxx: + +includes/DecompositionUtils.hxx: + +includes/Plot3DDecomposer.hxx: + +includes/NgonGridDataDecomposer.hxx: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/getGraphicObjectProperty.h: + +includes/returnType.h: + +includes/dynlib_graphic_objects.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-PolylineDecomposer.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-PolylineDecomposer.Plo new file mode 100755 index 000000000..b12d98fc0 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-PolylineDecomposer.Plo @@ -0,0 +1,436 @@ +src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo: \ + src/cpp/PolylineDecomposer.cpp /usr/include/stdc-predef.h \ + /usr/include/c++/5/iostream \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc includes/DecompositionUtils.hxx \ + includes/PolylineDecomposer.hxx /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/Triangulator.hxx \ + /usr/include/c++/5/algorithm /usr/include/c++/5/utility \ + /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_algo.h \ + /usr/include/c++/5/cstdlib /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/5/bits/algorithmfwd.h \ + /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \ + /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/limits \ + /usr/include/c++/5/list /usr/include/c++/5/bits/stl_list.h \ + /usr/include/c++/5/bits/list.tcc /usr/include/c++/5/vector \ + /usr/include/c++/5/bits/stl_uninitialized.h \ + /usr/include/c++/5/bits/stl_vector.h \ + /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \ + includes/ColorComputer.hxx includes/DecompositionUtils.hxx \ + /usr/include/math.h /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/getGraphicObjectProperty.h includes/returnType.h \ + includes/dynlib_graphic_objects.h includes/CurrentObject.h \ + ../../modules/core/includes/BOOL.h includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +/usr/include/c++/5/iostream: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +includes/DecompositionUtils.hxx: + +includes/PolylineDecomposer.hxx: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +includes/Triangulator.hxx: + +/usr/include/c++/5/algorithm: + +/usr/include/c++/5/utility: + +/usr/include/c++/5/bits/stl_relops.h: + +/usr/include/c++/5/bits/stl_algo.h: + +/usr/include/c++/5/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/c++/5/bits/algorithmfwd.h: + +/usr/include/c++/5/bits/stl_heap.h: + +/usr/include/c++/5/bits/stl_tempbuf.h: + +/usr/include/c++/5/bits/stl_construct.h: + +/usr/include/c++/5/limits: + +/usr/include/c++/5/list: + +/usr/include/c++/5/bits/stl_list.h: + +/usr/include/c++/5/bits/list.tcc: + +/usr/include/c++/5/vector: + +/usr/include/c++/5/bits/stl_uninitialized.h: + +/usr/include/c++/5/bits/stl_vector.h: + +/usr/include/c++/5/bits/stl_bvector.h: + +/usr/include/c++/5/bits/vector.tcc: + +includes/ColorComputer.hxx: + +includes/DecompositionUtils.hxx: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/getGraphicObjectProperty.h: + +includes/returnType.h: + +includes/dynlib_graphic_objects.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-ScilabView.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-ScilabView.Plo new file mode 100755 index 000000000..fdffbe575 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-ScilabView.Plo @@ -0,0 +1,459 @@ +src/cpp/libscigraphic_objects_la-ScilabView.lo: src/cpp/ScilabView.cpp \ + /usr/include/stdc-predef.h /usr/include/c++/5/algorithm \ + /usr/include/c++/5/utility \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \ + /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \ + /usr/include/stdlib.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/5/bits/algorithmfwd.h \ + /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \ + /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/iostream \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/postypes.h /usr/include/c++/5/cwchar \ + /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc /usr/include/c++/5/map \ + /usr/include/c++/5/bits/stl_tree.h /usr/include/c++/5/bits/stl_map.h \ + /usr/include/c++/5/bits/stl_multimap.h /usr/include/c++/5/list \ + /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \ + /usr/include/c++/5/cstring /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ + /usr/include/x86_64-linux-gnu/bits/local_lim.h \ + /usr/include/linux/limits.h \ + /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \ + /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h includes/ScilabView.hxx \ + /usr/include/c++/5/vector /usr/include/c++/5/bits/stl_uninitialized.h \ + /usr/include/c++/5/bits/stl_vector.h \ + /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \ + includes/dynlib_graphic_objects.h src/jni/CallGraphicController.hxx \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/libio.h \ + /usr/include/_G_config.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + ../../modules/commons/src/jni/GiwsException.hxx includes/CurrentObject.h \ + ../../modules/core/includes/BOOL.h includes/createGraphicObject.h \ + includes/setGraphicObjectProperty.h includes/returnType.h \ + includes/CurrentObject.h includes/getGraphicObjectProperty.h \ + includes/graphicObjectProperties.h \ + ../../modules/jvm/includes/getScilabJavaVM.h \ + includes/deleteGraphicObject.h ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h + +/usr/include/stdc-predef.h: + +/usr/include/c++/5/algorithm: + +/usr/include/c++/5/utility: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/stl_relops.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/stl_algo.h: + +/usr/include/c++/5/cstdlib: + +/usr/include/stdlib.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/c++/5/bits/algorithmfwd.h: + +/usr/include/c++/5/bits/stl_heap.h: + +/usr/include/c++/5/bits/stl_tempbuf.h: + +/usr/include/c++/5/bits/stl_construct.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/iostream: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +/usr/include/c++/5/map: + +/usr/include/c++/5/bits/stl_tree.h: + +/usr/include/c++/5/bits/stl_map.h: + +/usr/include/c++/5/bits/stl_multimap.h: + +/usr/include/c++/5/list: + +/usr/include/c++/5/bits/stl_list.h: + +/usr/include/c++/5/bits/list.tcc: + +/usr/include/c++/5/cstring: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix1_lim.h: + +/usr/include/x86_64-linux-gnu/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/x86_64-linux-gnu/bits/posix2_lim.h: + +/usr/include/x86_64-linux-gnu/bits/xopen_lim.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +includes/ScilabView.hxx: + +/usr/include/c++/5/vector: + +/usr/include/c++/5/bits/stl_uninitialized.h: + +/usr/include/c++/5/bits/stl_vector.h: + +/usr/include/c++/5/bits/stl_bvector.h: + +/usr/include/c++/5/bits/vector.tcc: + +includes/dynlib_graphic_objects.h: + +src/jni/CallGraphicController.hxx: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +../../modules/commons/src/jni/GiwsException.hxx: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/createGraphicObject.h: + +includes/setGraphicObjectProperty.h: + +includes/returnType.h: + +includes/CurrentObject.h: + +includes/getGraphicObjectProperty.h: + +includes/graphicObjectProperties.h: + +../../modules/jvm/includes/getScilabJavaVM.h: + +includes/deleteGraphicObject.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Texture.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Texture.Plo new file mode 100755 index 000000000..68ee71fd9 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Texture.Plo @@ -0,0 +1,46 @@ +src/cpp/libscigraphic_objects_la-Texture.lo: src/cpp/Texture.cpp \ + /usr/include/stdc-predef.h includes/Texture.hxx includes/Matplot.h \ + includes/dynlib_graphic_objects.h /usr/include/c++/5/cstring \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/string.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string3.h + +/usr/include/stdc-predef.h: + +includes/Texture.hxx: + +includes/Matplot.h: + +includes/dynlib_graphic_objects.h: + +/usr/include/c++/5/cstring: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/string.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Triangulator.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Triangulator.Plo new file mode 100755 index 000000000..223b6f49b --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-Triangulator.Plo @@ -0,0 +1,391 @@ +src/cpp/libscigraphic_objects_la-Triangulator.lo: \ + src/cpp/Triangulator.cpp /usr/include/stdc-predef.h \ + includes/Triangulator.hxx /usr/include/c++/5/algorithm \ + /usr/include/c++/5/utility \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/stl_relops.h /usr/include/c++/5/bits/stl_pair.h \ + /usr/include/c++/5/bits/move.h /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/stl_algo.h /usr/include/c++/5/cstdlib \ + /usr/include/stdlib.h /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + /usr/include/c++/5/bits/algorithmfwd.h \ + /usr/include/c++/5/bits/stl_heap.h /usr/include/c++/5/bits/stl_tempbuf.h \ + /usr/include/c++/5/bits/stl_construct.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/limits \ + /usr/include/c++/5/list /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \ + /usr/include/c++/5/vector /usr/include/c++/5/bits/stl_uninitialized.h \ + /usr/include/c++/5/bits/stl_vector.h \ + /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc \ + /usr/include/c++/5/iostream /usr/include/c++/5/ostream \ + /usr/include/c++/5/ios /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/bits/stringfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h + +/usr/include/stdc-predef.h: + +includes/Triangulator.hxx: + +/usr/include/c++/5/algorithm: + +/usr/include/c++/5/utility: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/stl_relops.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/stl_algo.h: + +/usr/include/c++/5/cstdlib: + +/usr/include/stdlib.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/c++/5/bits/algorithmfwd.h: + +/usr/include/c++/5/bits/stl_heap.h: + +/usr/include/c++/5/bits/stl_tempbuf.h: + +/usr/include/c++/5/bits/stl_construct.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/limits: + +/usr/include/c++/5/list: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/stl_list.h: + +/usr/include/c++/5/bits/list.tcc: + +/usr/include/c++/5/vector: + +/usr/include/c++/5/bits/stl_uninitialized.h: + +/usr/include/c++/5/bits/stl_vector.h: + +/usr/include/c++/5/bits/stl_bvector.h: + +/usr/include/c++/5/bits/vector.tcc: + +/usr/include/c++/5/iostream: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-createGraphicObject.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-createGraphicObject.Plo new file mode 100755 index 000000000..a248db518 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-createGraphicObject.Plo @@ -0,0 +1,417 @@ +src/cpp/libscigraphic_objects_la-createGraphicObject.lo: \ + src/cpp/createGraphicObject.cpp /usr/include/stdc-predef.h \ + includes/createGraphicObject.h includes/dynlib_graphic_objects.h \ + ../../modules/core/includes/BOOL.h \ + ../../modules/jvm/includes/getScilabJavaVM.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + includes/getGraphicObjectProperty.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h includes/returnType.h \ + includes/CurrentObject.h includes/setGraphicObjectProperty.h \ + includes/FigureModel.h includes/AxesModel.h includes/CurrentSubwin.h \ + src/jni/CallGraphicController.hxx /usr/include/c++/5/iostream \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + ../../modules/commons/src/jni/GiwsException.hxx \ + src/jni/CallXmlLoader.hxx src/jni/Builder.hxx \ + includes/DataController.hxx includes/DataModel.hxx \ + /usr/include/c++/5/map /usr/include/c++/5/bits/stl_tree.h \ + /usr/include/c++/5/bits/stl_map.h /usr/include/c++/5/bits/stl_multimap.h \ + includes/Data3D.hxx includes/DataProperties.hxx \ + includes/NgonGeneralData.hxx includes/NgonData.hxx \ + includes/NgonGridData.hxx includes/NgonGridMatplotData.hxx \ + includes/Matplot.h includes/NgonPolylineData.hxx includes/MeshData.hxx \ + includes/MeshFecData.hxx includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/createGraphicObject.h: + +includes/dynlib_graphic_objects.h: + +../../modules/core/includes/BOOL.h: + +../../modules/jvm/includes/getScilabJavaVM.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +includes/getGraphicObjectProperty.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/returnType.h: + +includes/CurrentObject.h: + +includes/setGraphicObjectProperty.h: + +includes/FigureModel.h: + +includes/AxesModel.h: + +includes/CurrentSubwin.h: + +src/jni/CallGraphicController.hxx: + +/usr/include/c++/5/iostream: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +../../modules/commons/src/jni/GiwsException.hxx: + +src/jni/CallXmlLoader.hxx: + +src/jni/Builder.hxx: + +includes/DataController.hxx: + +includes/DataModel.hxx: + +/usr/include/c++/5/map: + +/usr/include/c++/5/bits/stl_tree.h: + +/usr/include/c++/5/bits/stl_map.h: + +/usr/include/c++/5/bits/stl_multimap.h: + +includes/Data3D.hxx: + +includes/DataProperties.hxx: + +includes/NgonGeneralData.hxx: + +includes/NgonData.hxx: + +includes/NgonGridData.hxx: + +includes/NgonGridMatplotData.hxx: + +includes/Matplot.h: + +includes/NgonPolylineData.hxx: + +includes/MeshData.hxx: + +includes/MeshFecData.hxx: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-createObjectData.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-createObjectData.Plo new file mode 100755 index 000000000..703fabfb2 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-createObjectData.Plo @@ -0,0 +1,140 @@ +src/cpp/libscigraphic_objects_la-createObjectData.lo: \ + src/cpp/createObjectData.cpp /usr/include/stdc-predef.h \ + /usr/include/stdio.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/createGraphicObject.h includes/dynlib_graphic_objects.h \ + ../../modules/core/includes/BOOL.h includes/deleteGraphicObject.h \ + includes/returnType.h includes/getGraphicObjectProperty.h \ + /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h includes/returnType.h \ + includes/CurrentObject.h includes/setGraphicObjectProperty.h \ + includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/createGraphicObject.h: + +includes/dynlib_graphic_objects.h: + +../../modules/core/includes/BOOL.h: + +includes/deleteGraphicObject.h: + +includes/returnType.h: + +includes/getGraphicObjectProperty.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/returnType.h: + +includes/CurrentObject.h: + +includes/setGraphicObjectProperty.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-dataModel.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-dataModel.Plo new file mode 100755 index 000000000..123955188 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-dataModel.Plo @@ -0,0 +1,283 @@ +src/cpp/libscigraphic_objects_la-dataModel.lo: src/cpp/dataModel.cpp \ + /usr/include/stdc-predef.h includes/DataModel.hxx /usr/include/c++/5/map \ + /usr/include/c++/5/bits/stl_tree.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/memoryfwd.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/ext/alloc_traits.h /usr/include/c++/5/bits/stl_map.h \ + /usr/include/c++/5/bits/stl_multimap.h \ + /usr/include/c++/5/bits/range_access.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/char_traits.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/iosfwd \ + /usr/include/c++/5/cctype /usr/include/ctype.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/basic_string.tcc includes/Data3D.hxx \ + includes/DataProperties.hxx ../../modules/core/includes/BOOL.h \ + /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h includes/NgonGeneralData.hxx \ + includes/NgonData.hxx includes/NgonGridData.hxx \ + includes/NgonGridMatplotData.hxx includes/Matplot.h \ + includes/dynlib_graphic_objects.h includes/NgonPolylineData.hxx \ + includes/MeshData.hxx includes/MeshFecData.hxx \ + includes/graphicObjectProperties.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h + +/usr/include/stdc-predef.h: + +includes/DataModel.hxx: + +/usr/include/c++/5/map: + +/usr/include/c++/5/bits/stl_tree.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/stl_map.h: + +/usr/include/c++/5/bits/stl_multimap.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +includes/Data3D.hxx: + +includes/DataProperties.hxx: + +../../modules/core/includes/BOOL.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +includes/NgonGeneralData.hxx: + +includes/NgonData.hxx: + +includes/NgonGridData.hxx: + +includes/NgonGridMatplotData.hxx: + +includes/Matplot.h: + +includes/dynlib_graphic_objects.h: + +includes/NgonPolylineData.hxx: + +includes/MeshData.hxx: + +includes/MeshFecData.hxx: + +includes/graphicObjectProperties.h: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-deleteGraphicObject.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-deleteGraphicObject.Plo new file mode 100755 index 000000000..66d58f005 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-deleteGraphicObject.Plo @@ -0,0 +1,396 @@ +src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo: \ + src/cpp/deleteGraphicObject.cpp /usr/include/stdc-predef.h \ + includes/deleteGraphicObject.h includes/dynlib_graphic_objects.h \ + ../../modules/jvm/includes/getScilabJavaVM.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + src/jni/CallGraphicController.hxx /usr/include/c++/5/iostream \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/commons/src/jni/GiwsException.hxx \ + includes/DataController.hxx includes/DataModel.hxx \ + /usr/include/c++/5/map /usr/include/c++/5/bits/stl_tree.h \ + /usr/include/c++/5/bits/stl_map.h /usr/include/c++/5/bits/stl_multimap.h \ + includes/Data3D.hxx includes/DataProperties.hxx \ + ../../modules/core/includes/BOOL.h includes/NgonGeneralData.hxx \ + includes/NgonData.hxx includes/NgonGridData.hxx \ + includes/NgonGridMatplotData.hxx includes/Matplot.h \ + includes/NgonPolylineData.hxx includes/MeshData.hxx \ + includes/MeshFecData.hxx includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +includes/deleteGraphicObject.h: + +includes/dynlib_graphic_objects.h: + +../../modules/jvm/includes/getScilabJavaVM.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +src/jni/CallGraphicController.hxx: + +/usr/include/c++/5/iostream: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/commons/src/jni/GiwsException.hxx: + +includes/DataController.hxx: + +includes/DataModel.hxx: + +/usr/include/c++/5/map: + +/usr/include/c++/5/bits/stl_tree.h: + +/usr/include/c++/5/bits/stl_map.h: + +/usr/include/c++/5/bits/stl_multimap.h: + +includes/Data3D.hxx: + +includes/DataProperties.hxx: + +../../modules/core/includes/BOOL.h: + +includes/NgonGeneralData.hxx: + +includes/NgonData.hxx: + +includes/NgonGridData.hxx: + +includes/NgonGridMatplotData.hxx: + +includes/Matplot.h: + +includes/NgonPolylineData.hxx: + +includes/MeshData.hxx: + +includes/MeshFecData.hxx: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-getConsoleIdentifier.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-getConsoleIdentifier.Plo new file mode 100755 index 000000000..2767c9fd4 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-getConsoleIdentifier.Plo @@ -0,0 +1,351 @@ +src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo: \ + src/cpp/getConsoleIdentifier.cpp /usr/include/stdc-predef.h \ + ../../modules/jvm/includes/getScilabJavaVM.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + includes/getConsoleIdentifier.h includes/dynlib_graphic_objects.h \ + src/jni/CallGraphicController.hxx /usr/include/c++/5/iostream \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/wchar2.h \ + /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/commons/src/jni/GiwsException.hxx + +/usr/include/stdc-predef.h: + +../../modules/jvm/includes/getScilabJavaVM.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +includes/getConsoleIdentifier.h: + +includes/dynlib_graphic_objects.h: + +src/jni/CallGraphicController.hxx: + +/usr/include/c++/5/iostream: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/commons/src/jni/GiwsException.hxx: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-getGraphicObjectProperty.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-getGraphicObjectProperty.Plo new file mode 100755 index 000000000..570102841 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-getGraphicObjectProperty.Plo @@ -0,0 +1,429 @@ +src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo: \ + src/cpp/getGraphicObjectProperty.cpp /usr/include/stdc-predef.h \ + /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/getGraphicObjectProperty.h includes/returnType.h \ + includes/dynlib_graphic_objects.h includes/CurrentObject.h \ + ../../modules/core/includes/BOOL.h includes/graphicObjectProperties.h \ + ../../modules/jvm/includes/getScilabJavaVM.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + src/jni/CallGraphicController.hxx /usr/include/c++/5/iostream \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc \ + ../../modules/commons/src/jni/GiwsException.hxx \ + includes/DataController.hxx includes/DataModel.hxx \ + /usr/include/c++/5/map /usr/include/c++/5/bits/stl_tree.h \ + /usr/include/c++/5/bits/stl_map.h /usr/include/c++/5/bits/stl_multimap.h \ + includes/Data3D.hxx includes/DataProperties.hxx \ + includes/NgonGeneralData.hxx includes/NgonData.hxx \ + includes/NgonGridData.hxx includes/NgonGridMatplotData.hxx \ + includes/Matplot.h includes/NgonPolylineData.hxx includes/MeshData.hxx \ + includes/MeshFecData.hxx includes/graphicObjectProperties.h \ + includes/ScilabView.hxx /usr/include/c++/5/list \ + /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \ + /usr/include/c++/5/vector /usr/include/c++/5/bits/stl_construct.h \ + /usr/include/c++/5/bits/stl_uninitialized.h \ + /usr/include/c++/5/bits/stl_vector.h \ + /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc + +/usr/include/stdc-predef.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/getGraphicObjectProperty.h: + +includes/returnType.h: + +includes/dynlib_graphic_objects.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/graphicObjectProperties.h: + +../../modules/jvm/includes/getScilabJavaVM.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +src/jni/CallGraphicController.hxx: + +/usr/include/c++/5/iostream: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +../../modules/commons/src/jni/GiwsException.hxx: + +includes/DataController.hxx: + +includes/DataModel.hxx: + +/usr/include/c++/5/map: + +/usr/include/c++/5/bits/stl_tree.h: + +/usr/include/c++/5/bits/stl_map.h: + +/usr/include/c++/5/bits/stl_multimap.h: + +includes/Data3D.hxx: + +includes/DataProperties.hxx: + +includes/NgonGeneralData.hxx: + +includes/NgonData.hxx: + +includes/NgonGridData.hxx: + +includes/NgonGridMatplotData.hxx: + +includes/Matplot.h: + +includes/NgonPolylineData.hxx: + +includes/MeshData.hxx: + +includes/MeshFecData.hxx: + +includes/graphicObjectProperties.h: + +includes/ScilabView.hxx: + +/usr/include/c++/5/list: + +/usr/include/c++/5/bits/stl_list.h: + +/usr/include/c++/5/bits/list.tcc: + +/usr/include/c++/5/vector: + +/usr/include/c++/5/bits/stl_construct.h: + +/usr/include/c++/5/bits/stl_uninitialized.h: + +/usr/include/c++/5/bits/stl_vector.h: + +/usr/include/c++/5/bits/stl_bvector.h: + +/usr/include/c++/5/bits/vector.tcc: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-pickSurface.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-pickSurface.Plo new file mode 100755 index 000000000..b5594c6ec --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-pickSurface.Plo @@ -0,0 +1,161 @@ +src/cpp/libscigraphic_objects_la-pickSurface.lo: src/cpp/pickSurface.cpp \ + /usr/include/stdc-predef.h /usr/include/stdio.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/getGraphicObjectProperty.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h includes/returnType.h \ + includes/dynlib_graphic_objects.h includes/CurrentObject.h \ + ../../modules/core/includes/BOOL.h includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/getGraphicObjectProperty.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/returnType.h: + +includes/dynlib_graphic_objects.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-setGraphicObjectProperty.Plo b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-setGraphicObjectProperty.Plo new file mode 100755 index 000000000..4b1e3e9f9 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.deps/libscigraphic_objects_la-setGraphicObjectProperty.Plo @@ -0,0 +1,429 @@ +src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo: \ + src/cpp/setGraphicObjectProperty.cpp /usr/include/stdc-predef.h \ + includes/setGraphicObjectProperty.h /usr/include/stdlib.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + ../../modules/core/includes/BOOL.h includes/returnType.h \ + includes/dynlib_graphic_objects.h includes/CurrentObject.h \ + includes/graphicObjectProperties.h \ + ../../modules/jvm/includes/getScilabJavaVM.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + /usr/include/string.h /usr/include/x86_64-linux-gnu/bits/string3.h \ + src/jni/CallGraphicController.hxx /usr/include/c++/5/iostream \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/c++/5/bits/ios_base.h \ + /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc \ + ../../modules/commons/src/jni/GiwsException.hxx \ + includes/DataController.hxx includes/DataModel.hxx \ + /usr/include/c++/5/map /usr/include/c++/5/bits/stl_tree.h \ + /usr/include/c++/5/bits/stl_map.h /usr/include/c++/5/bits/stl_multimap.h \ + includes/Data3D.hxx includes/DataProperties.hxx \ + includes/NgonGeneralData.hxx includes/NgonData.hxx \ + includes/NgonGridData.hxx includes/NgonGridMatplotData.hxx \ + includes/Matplot.h includes/NgonPolylineData.hxx includes/MeshData.hxx \ + includes/MeshFecData.hxx includes/graphicObjectProperties.h \ + includes/ScilabView.hxx /usr/include/c++/5/list \ + /usr/include/c++/5/bits/stl_list.h /usr/include/c++/5/bits/list.tcc \ + /usr/include/c++/5/vector /usr/include/c++/5/bits/stl_construct.h \ + /usr/include/c++/5/bits/stl_uninitialized.h \ + /usr/include/c++/5/bits/stl_vector.h \ + /usr/include/c++/5/bits/stl_bvector.h /usr/include/c++/5/bits/vector.tcc + +/usr/include/stdc-predef.h: + +includes/setGraphicObjectProperty.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +../../modules/core/includes/BOOL.h: + +includes/returnType.h: + +includes/dynlib_graphic_objects.h: + +includes/CurrentObject.h: + +includes/graphicObjectProperties.h: + +../../modules/jvm/includes/getScilabJavaVM.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +src/jni/CallGraphicController.hxx: + +/usr/include/c++/5/iostream: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +../../modules/commons/src/jni/GiwsException.hxx: + +includes/DataController.hxx: + +includes/DataModel.hxx: + +/usr/include/c++/5/map: + +/usr/include/c++/5/bits/stl_tree.h: + +/usr/include/c++/5/bits/stl_map.h: + +/usr/include/c++/5/bits/stl_multimap.h: + +includes/Data3D.hxx: + +includes/DataProperties.hxx: + +includes/NgonGeneralData.hxx: + +includes/NgonData.hxx: + +includes/NgonGridData.hxx: + +includes/NgonGridMatplotData.hxx: + +includes/Matplot.h: + +includes/NgonPolylineData.hxx: + +includes/MeshData.hxx: + +includes/MeshFecData.hxx: + +includes/graphicObjectProperties.h: + +includes/ScilabView.hxx: + +/usr/include/c++/5/list: + +/usr/include/c++/5/bits/stl_list.h: + +/usr/include/c++/5/bits/list.tcc: + +/usr/include/c++/5/vector: + +/usr/include/c++/5/bits/stl_construct.h: + +/usr/include/c++/5/bits/stl_uninitialized.h: + +/usr/include/c++/5/bits/stl_vector.h: + +/usr/include/c++/5/bits/stl_bvector.h: + +/usr/include/c++/5/bits/vector.tcc: diff --git a/modules/graphic_objects/src/cpp/.dirstamp b/modules/graphic_objects/src/cpp/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/graphic_objects/src/cpp/.dirstamp diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-AxesModel.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-AxesModel.o Binary files differnew file mode 100755 index 000000000..36ee73db6 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-AxesModel.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-ColorComputer.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-ColorComputer.o Binary files differnew file mode 100755 index 000000000..e4451c0a2 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-ColorComputer.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-CurrentFigure.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-CurrentFigure.o Binary files differnew file mode 100755 index 000000000..0a11d63de --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-CurrentFigure.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-CurrentObject.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-CurrentObject.o Binary files differnew file mode 100755 index 000000000..50e313099 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-CurrentObject.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-CurrentSubwin.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-CurrentSubwin.o Binary files differnew file mode 100755 index 000000000..d0d3c5747 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-CurrentSubwin.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Data3D.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Data3D.o Binary files differnew file mode 100755 index 000000000..20386ca5a --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Data3D.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-DataLoader.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-DataLoader.o Binary files differnew file mode 100755 index 000000000..537ab68ff --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-DataLoader.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-DecompositionUtils.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-DecompositionUtils.o Binary files differnew file mode 100755 index 000000000..abceab62c --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-DecompositionUtils.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Fac3DColorComputer.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Fac3DColorComputer.o Binary files differnew file mode 100755 index 000000000..4fcbc5706 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Fac3DColorComputer.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Fac3DDecomposer.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Fac3DDecomposer.o Binary files differnew file mode 100755 index 000000000..8ef821c41 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Fac3DDecomposer.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-FigureList.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-FigureList.o Binary files differnew file mode 100755 index 000000000..e54fbb37b --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-FigureList.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-FigureModel.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-FigureModel.o Binary files differnew file mode 100755 index 000000000..aeccf38e9 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-FigureModel.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-HandleManagement.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-HandleManagement.o Binary files differnew file mode 100755 index 000000000..35f97a9f1 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-HandleManagement.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-MatPlotDecomposer.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-MatPlotDecomposer.o Binary files differnew file mode 100755 index 000000000..084d1de91 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-MatPlotDecomposer.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-MeshData.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-MeshData.o Binary files differnew file mode 100755 index 000000000..8b6d05cc0 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-MeshData.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-MeshFecData.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-MeshFecData.o Binary files differnew file mode 100755 index 000000000..46bf0b65d --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-MeshFecData.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-MeshFecDataDecomposer.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-MeshFecDataDecomposer.o Binary files differnew file mode 100755 index 000000000..4531ff1ca --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-MeshFecDataDecomposer.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonData.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonData.o Binary files differnew file mode 100755 index 000000000..58213544e --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonData.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGeneralData.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGeneralData.o Binary files differnew file mode 100755 index 000000000..32b69e0e0 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGeneralData.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridData.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridData.o Binary files differnew file mode 100755 index 000000000..7a68340de --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridData.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridDataDecomposer.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridDataDecomposer.o Binary files differnew file mode 100755 index 000000000..69fd1fc60 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridDataDecomposer.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.o Binary files differnew file mode 100755 index 000000000..5cdbaccd5 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridMatplotData.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridMatplotData.o Binary files differnew file mode 100755 index 000000000..c5ef15ff4 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridMatplotData.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.o Binary files differnew file mode 100755 index 000000000..4a193bb74 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonPolylineData.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonPolylineData.o Binary files differnew file mode 100755 index 000000000..36421843d --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NgonPolylineData.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NormalGenerator.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NormalGenerator.o Binary files differnew file mode 100755 index 000000000..2bbe05f8e --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-NormalGenerator.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Plot3DDecomposer.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Plot3DDecomposer.o Binary files differnew file mode 100755 index 000000000..b65310f0e --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Plot3DDecomposer.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-PolylineDecomposer.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-PolylineDecomposer.o Binary files differnew file mode 100755 index 000000000..b0e0ff18b --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-PolylineDecomposer.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-ScilabView.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-ScilabView.o Binary files differnew file mode 100755 index 000000000..c1de15063 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-ScilabView.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Texture.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Texture.o Binary files differnew file mode 100755 index 000000000..e9866eadd --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Texture.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Triangulator.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Triangulator.o Binary files differnew file mode 100755 index 000000000..270450fbe --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-Triangulator.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-createGraphicObject.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-createGraphicObject.o Binary files differnew file mode 100755 index 000000000..5bf6c1b7f --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-createGraphicObject.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-createObjectData.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-createObjectData.o Binary files differnew file mode 100755 index 000000000..c5a453815 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-createObjectData.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-dataModel.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-dataModel.o Binary files differnew file mode 100755 index 000000000..b0b060729 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-dataModel.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-deleteGraphicObject.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-deleteGraphicObject.o Binary files differnew file mode 100755 index 000000000..ac5a95135 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-deleteGraphicObject.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-getConsoleIdentifier.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-getConsoleIdentifier.o Binary files differnew file mode 100755 index 000000000..ab5d689e6 --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-getConsoleIdentifier.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-getGraphicObjectProperty.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-getGraphicObjectProperty.o Binary files differnew file mode 100755 index 000000000..74921b19c --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-getGraphicObjectProperty.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-pickSurface.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-pickSurface.o Binary files differnew file mode 100755 index 000000000..978a967cf --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-pickSurface.o diff --git a/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-setGraphicObjectProperty.o b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-setGraphicObjectProperty.o Binary files differnew file mode 100755 index 000000000..bd6c6db6e --- /dev/null +++ b/modules/graphic_objects/src/cpp/.libs/libscigraphic_objects_la-setGraphicObjectProperty.o diff --git a/modules/graphic_objects/src/cpp/AxesModel.cpp b/modules/graphic_objects/src/cpp/AxesModel.cpp new file mode 100755 index 000000000..80222e832 --- /dev/null +++ b/modules/graphic_objects/src/cpp/AxesModel.cpp @@ -0,0 +1,37 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <string.h> +#include "ScilabView.hxx" + +extern "C" +{ +#include "AxesModel.h" +} + +int getAxesModel(void) +{ + return ScilabView::getAxesModel(); +} +void setAxesModel(int UID) +{ + ScilabView::setAxesModel(UID); +} + +BOOL isAxesModel(int UID) +{ + if (UID == getAxesModel()) + { + return TRUE; + } + return FALSE; +} diff --git a/modules/graphic_objects/src/cpp/ColorComputer.cpp b/modules/graphic_objects/src/cpp/ColorComputer.cpp new file mode 100755 index 000000000..5c9628519 --- /dev/null +++ b/modules/graphic_objects/src/cpp/ColorComputer.cpp @@ -0,0 +1,208 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "ColorComputer.hxx" + +extern "C" +{ +#include <math.h> + +#include "getGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +} + +void ColorComputer::getColor(double s, double smin, double srange, double indexOffset, double* colormap, int colormapSize, float* returnedColor) +{ + double value = 0.; + int index = 0; + + if (!DecompositionUtils::isANumber(s)) + { + /* Black is output if s is a Nan */ + returnedColor[0] = MIN_COMPONENT_VALUE; + returnedColor[1] = MIN_COMPONENT_VALUE; + returnedColor[2] = MIN_COMPONENT_VALUE; + } + else + { + value = (s - smin) / (srange); + index = (int) ((double)(colormapSize - 1) * value + indexOffset); + + /* Clamp */ + if (index < 0) + { + index = 0; + } + else if (index > colormapSize - 1) + { + index = colormapSize - 1; + } + + returnedColor[0] = (float)colormap[index]; + returnedColor[1] = (float)colormap[colormapSize + index]; + returnedColor[2] = (float)colormap[2 * colormapSize + index]; + } +} + +void ColorComputer::getColor(double s, double smin, double srange, double indexOffset, double* colormap, int minIndex, int maxIndex, int colormapSize, float* returnedColor) +{ + double value = 0.; + int index = 0; + + if (!DecompositionUtils::isANumber(s)) + { + /* Black is output if s is a Nan */ + returnedColor[0] = MIN_COMPONENT_VALUE; + returnedColor[1] = MIN_COMPONENT_VALUE; + returnedColor[2] = MIN_COMPONENT_VALUE; + } + else + { + value = (s - smin) / (srange); + index = (int) ((double)(maxIndex - minIndex) * value + indexOffset + (double) minIndex); + + /* Clamp */ + if (index < minIndex) + { + index = minIndex; + } + else if (index > maxIndex) + { + index = maxIndex; + } + + returnedColor[0] = (float)colormap[index]; + returnedColor[1] = (float)colormap[colormapSize + index]; + returnedColor[2] = (float)colormap[2 * colormapSize + index]; + } +} + +double ColorComputer::getIndex(double s, double smin, double srange, double indexOffset, int minIndex, int maxIndex) +{ + double value = 0.; + double index = 0.; + + if (!DecompositionUtils::isANumber(s)) + { + /* Black is output if s is a Nan. */ + index = BLACK_INDEX; + } + else + { + value = (s - smin) / (srange); + index = (double)(maxIndex - minIndex) * value + indexOffset + (double) minIndex; + + index = floor(index); + + /* Clamp */ + if (index < (double) minIndex) + { + index = (double) minIndex; + } + else if (index > (double) maxIndex) + { + index = (double) maxIndex; + } + } + + return index; +} + +double ColorComputer::getDirectIndex(double s, int colormapSize) +{ + double index = 0.; + + if (s <= (double) WHITE_LOWER_INDEX) + { + /* Lowest index if the color is below the white range's lower index */ + index = 0.0; + } + else if (s <= (double) BLACK_LOWER_INDEX) + { + /* White is output */ + index = WHITE_INDEX; + } + else if ((((double) BLACK_LOWER_INDEX < s) && (s < (double) BLACK_UPPER_INDEX)) || !DecompositionUtils::isANumber(s)) + { + /* Black is also output for Nan values */ + index = BLACK_INDEX; + } + else + { + index = floor(s); + + if (index > (double)(colormapSize - 1)) + { + index = (double) (colormapSize - 1); + } + } + + return index; +} + +double ColorComputer::getClampedDirectIndex(double s, int colormapSize) +{ + double index = s; + + /* Black is output if s is a Nan or if it corresponds to the black color */ + if (!DecompositionUtils::isANumber(s) || ((BLACK_INDEX <= s) && (s < 0.0))) + { + index = BLACK_INDEX; + } + else + { + index = floor(index); + + /* Clamp */ + if (s < 0.0) + { + index = 0.0; + } + else if (s > (double)(colormapSize - 1)) + { + index = (double) (colormapSize - 1); + } + } + + return index; +} + +void ColorComputer::getClampedDirectColor(double s, double* colormap, int colormapSize, float* returnedColor) +{ + int index = 0; + + if (!DecompositionUtils::isANumber(s)) + { + /* Black is output if s is a Nan */ + returnedColor[0] = MIN_COMPONENT_VALUE; + returnedColor[1] = MIN_COMPONENT_VALUE; + returnedColor[2] = MIN_COMPONENT_VALUE; + } + else + { + /* Clamp */ + if (s < 0.0) + { + s = 0.0; + } + else if (s > (double)(colormapSize - 1)) + { + s = (double) (colormapSize - 1); + } + + index = (int) s; + + returnedColor[0] = (float)colormap[index]; + returnedColor[1] = (float)colormap[colormapSize + index]; + returnedColor[2] = (float)colormap[2 * colormapSize + index]; + } +} diff --git a/modules/graphic_objects/src/cpp/CurrentFigure.cpp b/modules/graphic_objects/src/cpp/CurrentFigure.cpp new file mode 100755 index 000000000..b74f682b4 --- /dev/null +++ b/modules/graphic_objects/src/cpp/CurrentFigure.cpp @@ -0,0 +1,40 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "ScilabView.hxx" + +extern "C" +{ +#include <string.h> + +#include "BOOL.h" +#include "CurrentFigure.h" +} + +int getCurrentFigure(void) +{ + return ScilabView::getCurrentFigure(); +} + +void setCurrentFigure(int UID) +{ + ScilabView::setCurrentFigure(UID); +} + +BOOL isCurrentFigure(int UID) +{ + if (UID == ScilabView::getCurrentFigure()) + { + return TRUE; + } + return FALSE; +} diff --git a/modules/graphic_objects/src/cpp/CurrentObject.cpp b/modules/graphic_objects/src/cpp/CurrentObject.cpp new file mode 100755 index 000000000..99b38dbcd --- /dev/null +++ b/modules/graphic_objects/src/cpp/CurrentObject.cpp @@ -0,0 +1,63 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "ScilabView.hxx" + +extern "C" +{ +#include <string.h> +#include "getGraphicObjectProperty.h" +#include "setGraphicObjectProperty.h" +#include "graphicObjectProperties.h" + +#include "BOOL.h" +#include "CurrentObject.h" +} + + +int getCurrentObject(void) +{ + return ScilabView::getCurrentObject(); +} + +void setCurrentObject(int UID) +{ + ScilabView::setCurrentObject(UID); +} + +BOOL isCurrentObject(int UID) +{ + if (UID == ScilabView::getCurrentObject()) + { + return TRUE; + } + return FALSE; +} + +int getParentObject(int iUID) +{ + int iParent = 0; + int* piParent = &iParent; + if (iUID == 0) + { + return 0; + } + + getGraphicObjectProperty(iUID, __GO_PARENT__, jni_int, (void**)&piParent); + return iParent; +} + +void setParentObject(int iUID, int iParent) +{ + setGraphicObjectProperty(iUID, __GO_PARENT__, &iParent, jni_int, 1); + return; +} diff --git a/modules/graphic_objects/src/cpp/CurrentSubwin.cpp b/modules/graphic_objects/src/cpp/CurrentSubwin.cpp new file mode 100755 index 000000000..cfae88753 --- /dev/null +++ b/modules/graphic_objects/src/cpp/CurrentSubwin.cpp @@ -0,0 +1,28 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "ScilabView.hxx" + +extern "C" +{ +#include "CurrentSubwin.h" +} + +int getCurrentSubWin(void) +{ + return ScilabView::getCurrentSubWin(); +} + +void setCurrentSubWin(int UID) +{ + ScilabView::setCurrentSubWin(UID); +} diff --git a/modules/graphic_objects/src/cpp/Data3D.cpp b/modules/graphic_objects/src/cpp/Data3D.cpp new file mode 100755 index 000000000..5fdfdcfda --- /dev/null +++ b/modules/graphic_objects/src/cpp/Data3D.cpp @@ -0,0 +1,52 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "Data3D.hxx" + +extern "C" { +#include "BOOL.h" + +#include "graphicObjectProperties.h" +} + +Data3D::Data3D(void) +{ + +} + +Data3D::~Data3D(void) +{ + +} + +int Data3D::getPropertyFromName(int propertyName) +{ + return UNKNOWN_DATA_PROPERTY; +} + +int Data3D::setDataProperty(int property, void const* value, int numElements) +{ + return 0; +} + +void Data3D::getDataProperty(int property, void **_pvData) +{ + if (property == UNKNOWN_DATA_PROPERTY) + { + *_pvData = NULL; + } + else + { + *_pvData = NULL; + } +} + diff --git a/modules/graphic_objects/src/cpp/DataLoader.cpp b/modules/graphic_objects/src/cpp/DataLoader.cpp new file mode 100755 index 000000000..0debb6089 --- /dev/null +++ b/modules/graphic_objects/src/cpp/DataLoader.cpp @@ -0,0 +1,454 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * Copyright (C) 2011-2012 - DIGITEO - Pierre Lando + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <cstring> + +#include "DataLoader.hxx" + +#include "MatPlotDecomposer.hxx" +#include "Fac3DDecomposer.hxx" +#include "NgonGridMatplotData.hxx" +#include "NgonGridGrayplotDataDecomposer.hxx" +#include "NgonGridMatplotDataDecomposer.hxx" +#include "Plot3DDecomposer.hxx" +#include "PolylineDecomposer.hxx" +#include "MeshFecDataDecomposer.hxx" +#include "NormalGenerator.hxx" + +extern "C" +{ +#include "getGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +} + +int getTextureWidth(int id) +{ + int iType = 0; + int *piType = &iType; + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + if (iType == __GO_MATPLOT__) + { + return MatPlotDecomposer::getTextureWidth(id); + } + else + { + return 0; + } +} + +int getTextureHeight(int id) +{ + int iType = 0; + int *piType = &iType; + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + if (iType == __GO_MATPLOT__) + { + return MatPlotDecomposer::getTextureHeight(id); + } + else + { + return 0; + } +} + +int fillTextureData(int id, unsigned char* buffer, int bufferLength) +{ + int iType = 0; + int *piType = &iType; + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + if (iType == __GO_MATPLOT__) + { + return MatPlotDecomposer::fillTextureData(id, buffer, bufferLength); + } + else + { + return 0; + } +} + +int fillSubTextureData(int id, unsigned char* buffer, int bufferLength, int x, int y, int width, int height) +{ + int iType = 0; + int *piType = &iType; + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + if (iType == __GO_MATPLOT__) + { + return MatPlotDecomposer::fillTextureData(id, buffer, bufferLength, x, y, width, height); + } + else + { + return 0; + } +} + +int getDataSize(int id) +{ + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + switch (iType) + { + case __GO_FAC3D__ : + return Fac3DDecomposer::getDataSize(id); + case __GO_FEC__ : + return MeshFecDataDecomposer::getDataSize(id); + case __GO_GRAYPLOT__ : + return NgonGridGrayplotDataDecomposer::getDataSize(id); + case __GO_MATPLOT__ : + return NgonGridMatplotDataDecomposer::getDataSize(id); + case __GO_PLOT3D__ : + return Plot3DDecomposer::getDataSize(id); + case __GO_POLYLINE__ : + return PolylineDecomposer::getDataSize(id); + default : + return 0; + } + +} + +void fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask) +{ + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + switch (iType) + { + case __GO_FAC3D__ : + Fac3DDecomposer::fillVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask); + break; + case __GO_FEC__ : + MeshFecDataDecomposer::fillVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask); + break; + case __GO_GRAYPLOT__ : + NgonGridGrayplotDataDecomposer::fillVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask); + break; + case __GO_MATPLOT__ : + NgonGridMatplotDataDecomposer::fillVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask); + break; + case __GO_PLOT3D__ : + Plot3DDecomposer::fillVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask); + break; + case __GO_POLYLINE__ : + PolylineDecomposer::fillVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask); + break; + } +} + + +void fillNormals(int id, float* position, float* buffer, int bufferLength, int elementsSize) +{ + + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + switch (iType) + { + case __GO_FAC3D__ : + { + int numVerticesPerGon = 0; + int* piNumVerticesPerGon = &numVerticesPerGon; + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &piNumVerticesPerGon); + CalculatePolygonNormalFlat(position, buffer, bufferLength, elementsSize, numVerticesPerGon); + } + break; + case __GO_FEC__ : + break; + case __GO_GRAYPLOT__ : + break; + case __GO_MATPLOT__ : + break; + case __GO_PLOT3D__ : + { + //CalculateGridNormalFlat(position, buffer, bufferLength, elementsSize); + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + CalculateGridNormalSmooth(position, buffer, bufferLength, elementsSize, numX, numY); + } + break; + case __GO_POLYLINE__ : + break; + } +} + +void fillTextureCoordinates(int id, float* BUFF, int bufferLength) +{ + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + switch (iType) + { + case __GO_FAC3D__ : + Fac3DDecomposer::fillTextureCoordinates(id, BUFF, bufferLength); + break; + case __GO_FEC__ : + MeshFecDataDecomposer::fillTextureCoordinates(id, BUFF, bufferLength); + break; + case __GO_POLYLINE__ : + PolylineDecomposer::fillTextureCoordinates(id, BUFF, bufferLength); + break; + } +} + +void fillColors(int id, float* BUFF, int bufferLength, int elementsSize) +{ + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + switch (iType) + { + case __GO_FEC__ : + MeshFecDataDecomposer::fillColors(id, BUFF, bufferLength, elementsSize); + break; + case __GO_GRAYPLOT__ : + NgonGridGrayplotDataDecomposer::fillColors(id, BUFF, bufferLength, elementsSize); + break; + case __GO_MATPLOT__ : + NgonGridMatplotDataDecomposer::fillColors(id, BUFF, bufferLength, elementsSize); + break; + case __GO_PLOT3D__ : + Plot3DDecomposer::fillColors(id, BUFF, bufferLength, elementsSize); + break; + case __GO_POLYLINE__ : + PolylineDecomposer::fillColors(id, BUFF, bufferLength, elementsSize); + break; + } +} + + +int getIndicesSize(int id) +{ + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + switch (iType) + { + case __GO_FAC3D__ : + return Fac3DDecomposer::getIndicesSize(id); + case __GO_FEC__ : + return MeshFecDataDecomposer::getIndicesSize(id); + case __GO_GRAYPLOT__ : + return NgonGridGrayplotDataDecomposer::getIndicesSize(id); + case __GO_MATPLOT__ : + return NgonGridMatplotDataDecomposer::getIndicesSize(id); + case __GO_PLOT3D__ : + return Plot3DDecomposer::getIndicesSize(id); + case __GO_POLYLINE__ : + return PolylineDecomposer::getIndicesSize(id); + default : + return 0; + } +} + + +int fillIndices(int id, int* buffer, int bufferLength, int logMask) +{ + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + switch (iType) + { + case __GO_FAC3D__ : + return Fac3DDecomposer::fillIndices(id, buffer, bufferLength, logMask); + case __GO_FEC__ : + return MeshFecDataDecomposer::fillIndices(id, buffer, bufferLength, logMask); + case __GO_GRAYPLOT__ : + return NgonGridGrayplotDataDecomposer::fillIndices(id, buffer, bufferLength, logMask); + case __GO_MATPLOT__ : + return NgonGridMatplotDataDecomposer::fillIndices(id, buffer, bufferLength, logMask); + case __GO_PLOT3D__ : + return Plot3DDecomposer::fillIndices(id, buffer, bufferLength, logMask); + case __GO_POLYLINE__ : + return PolylineDecomposer::fillIndices(id, buffer, bufferLength, logMask); + default : + return 0; + } +} + +int getWireIndicesSize(int id) +{ + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + switch (iType) + { + case __GO_FAC3D__ : + return Fac3DDecomposer::getWireIndicesSize(id); + case __GO_FEC__ : + return MeshFecDataDecomposer::getWireIndicesSize(id); + case __GO_PLOT3D__ : + return Plot3DDecomposer::getWireIndicesSize(id); + case __GO_POLYLINE__ : + return PolylineDecomposer::getWireIndicesSize(id); + default : + return 0; + } +} + +int fillWireIndices(int id, int* buffer, int bufferLength, int logMask) +{ + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + switch (iType) + { + case __GO_FAC3D__ : + return Fac3DDecomposer::fillWireIndices(id, buffer, bufferLength, logMask); + case __GO_FEC__ : + return MeshFecDataDecomposer::fillWireIndices(id, buffer, bufferLength, logMask); + case __GO_PLOT3D__ : + return Plot3DDecomposer::fillWireIndices(id, buffer, bufferLength, logMask); + case __GO_POLYLINE__ : + return PolylineDecomposer::fillWireIndices(id, buffer, bufferLength, logMask); + default : + return 0; + } +} + +int getMarkIndicesSize(int id) +{ + return 0; +} + +int fillMarkIndices(int id, int* BUFF, int bufferLength) +{ + // TODO. + return 0; +} + +JavaDirectBuffer getTextureData(int id) +{ + JavaDirectBuffer info; + int iType = 0; + int *piType = &iType; + + info.address = NULL; + info.size = 0; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + if (iType == __GO_MATPLOT__) + { + void * address = NULL; + unsigned int size = 0; + + if (!MatPlotDecomposer::getTextureData(id, &address, &size)) + { + return info; + } + info.address = address; + info.size = size; + } + + return info; +} + +int getTextureImageType(int id) +{ + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + if (iType == __GO_MATPLOT__) + { + return MatPlotDecomposer::getTextureImageType(id); + } + + return -1; +} + +int getTextureDataType(int id) +{ + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + if (iType == __GO_MATPLOT__) + { + return MatPlotDecomposer::getTextureDataType(id); + } + + return -1; +} + +int getTextureGLType(int id) +{ + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + if (iType == __GO_MATPLOT__) + { + return MatPlotDecomposer::getTextureGLType(id); + } + + return -1; +} + +void disposeTextureData(int id, unsigned char * buffer) +{ + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + if (iType == __GO_MATPLOT__) + { + MatPlotDecomposer::disposeTextureData(id, buffer); + } +} + +int isTextureRowOrder(int id) +{ + int iType = 0; + int *piType = &iType; + + getGraphicObjectProperty(id, __GO_TYPE__, jni_int, (void**) &piType); + + if (iType == __GO_MATPLOT__) + { + return MatPlotDecomposer::isTextureRowOrder(id); + } + + return 0; +} + +void setABGRExt(int isAvailable) +{ + NgonGridMatplotData::setABGRSupported(isAvailable != 0); +} diff --git a/modules/graphic_objects/src/cpp/DecompositionUtils.cpp b/modules/graphic_objects/src/cpp/DecompositionUtils.cpp new file mode 100755 index 000000000..5c0e3c06e --- /dev/null +++ b/modules/graphic_objects/src/cpp/DecompositionUtils.cpp @@ -0,0 +1,289 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "DecompositionUtils.hxx" + +extern "C" +{ +#include <math.h> +#include <float.h> +#ifdef _MSC_VER +#define isnan _isnan + // isinf(x) + // | +%inf -> 1 + // | -%inf -> -1 + // | _ -> 0 +#define isinf(x) (_fpclass(x)==_FPCLASS_PINF?1:(_fpclass(x)==_FPCLASS_NINF?-1:0)) +#endif +} + +int DecompositionUtils::isANumber(double x) +{ + if (isnan(x)) + { + return 0; + } + else + { + return 1; + } +} + +int DecompositionUtils::isFinite(double x) +{ + if (isinf(x)) + { + return 0; + } + else + { + return 1; + } +} + +int DecompositionUtils::isValid(double x) +{ + if (isnan(x) || isinf(x)) + { + return 0; + } + else + { + return 1; + } +} + +int DecompositionUtils::isValid(double x, double y, double z) +{ + if (isnan(x) || isnan(y) || isnan(z) || isinf(x) || isinf(y) || isinf(z)) + { + return 0; + } + else + { + return 1; + } +} + +int DecompositionUtils::isValid(double x, double y) +{ + if (isnan(x) || isnan(y) || isinf(x) || isinf(y)) + { + return 0; + } + else + { + return 1; + } +} + +double DecompositionUtils::getLog10Value(double value) +{ + return log10(value); +} + +int DecompositionUtils::isLogValid(double x) +{ + if (x > 0.0) + { + return 1; + } + else + { + return 0; + } +} + +int DecompositionUtils::isLogValid(double x, double y, double z, int logMask) +{ + int valid = 1; + + if (logMask & 0x1) + { + valid &= (x > 0.0); + } + + if (logMask & 0x2) + { + valid &= (y > 0.0); + } + + if (logMask & 0x4) + { + valid &= (z > 0.0); + } + + return valid; +} + +int DecompositionUtils::isLogValid(double x, double y, int logMask) +{ + int valid = 1; + + if (logMask & 0x1) + { + valid &= (x > 0.0); + } + + if (logMask & 0x2) + { + valid &= (y > 0.0); + } + + return valid; +} + +double DecompositionUtils::getMaxDoubleValue(void) +{ + return DBL_MAX; +} + +double DecompositionUtils::getMinDoubleValue(void) +{ + return DBL_MIN; +} + +double DecompositionUtils::getAbsoluteValue(double value) +{ + return fabs(value); +} + +double DecompositionUtils::getSquareRoot(double value) +{ + return sqrt(value); +} + +/* + * Decomposes a rectangle into two adjacent triangles. + * The rectangle's vertices are supposed to be specified in + * counter-clockwise order, with 0 corresponding to the former's lower-left vertex. + * The two output triangles' vertex indices are also specified in + * counter-clockwise order. + */ +void DecompositionUtils::getDecomposedRectangleTriangleIndices(int* indices) +{ + indices[0] = 0; + indices[1] = 1; + indices[2] = 2; + indices[3] = 0; + indices[4] = 2; + indices[5] = 3; +} + +/* To do: use a Vector3d class to perform vector operations. */ +void DecompositionUtils::getDecomposedQuadTriangleIndices(double vertices[4][3], int* facetVertexIndices, int* triangleVertexIndices) +{ + /* The two decompositions' midpoints */ + double mid0[3]; + double mid1[3]; + + /* The vectors from one midpoint to its opposite vertices */ + double mo0[3]; + double mo1[3]; + + double nmo0 = 0.; + double nmo1 = 0.; + + double dot0 = 0.; + double dot1 = 0.; + + double denom = 0.; + + /* + * The input vertices are given in counter-clockwise order, from v0 to v3. + * Two decompositions are possible: either (v0,v1,v2) and (v0,v2,v3) or (v1,v2,v3) and (v1,v3,v0). + * The best one is the one that yields the most coplanar triangles. To estimate this, for each configuration, + * we compute the midpoint of the triangles' shared edge, which are respectively mid0 and mid1. + * The angles (v1 mid0 v3) and (v2 mid1 v0) give an approximation of the angles between the two triangles' planes + * for respectively the first and second condigurations. + */ + + mid0[0] = 0.5 * (vertices[0][0] + vertices[2][0]); + mid0[1] = 0.5 * (vertices[0][1] + vertices[2][1]); + mid0[2] = 0.5 * (vertices[0][2] + vertices[2][2]); + mid1[0] = 0.5 * (vertices[1][0] + vertices[3][0]); + mid1[1] = 0.5 * (vertices[1][1] + vertices[3][1]); + mid1[2] = 0.5 * (vertices[1][2] + vertices[3][2]); + + /* 1st decomposition */ + + /* mo0 = v1 - mid0 */ + mo0[0] = vertices[1][0] - mid0[0]; + mo0[1] = vertices[1][1] - mid0[1]; + mo0[2] = vertices[1][2] - mid0[2]; + + /* mo1 = v3 - mid0 */ + mo1[0] = vertices[3][0] - mid0[0]; + mo1[1] = vertices[3][1] - mid0[1]; + mo1[2] = vertices[3][2] - mid0[2]; + + nmo0 = mo0[0] * mo0[0] + mo0[1] * mo0[1] + mo0[2] * mo0[2]; + nmo1 = mo1[0] * mo1[0] + mo1[1] * mo1[1] + mo1[2] * mo1[2]; + + if (nmo0 * nmo1 > 0.0) + { + denom = DecompositionUtils::getSquareRoot(nmo0 * nmo1); + } + else + { + denom = 1.0; + } + + dot0 = (mo0[0] * mo1[0] + mo0[1] * mo1[1] + mo0[2] * mo1[2]) / denom; + + /* 2nd decomposition */ + + /* mo0 = v2 - mid1 */ + mo0[0] = vertices[2][0] - mid1[0]; + mo0[1] = vertices[2][1] - mid1[1]; + mo0[2] = vertices[2][2] - mid1[2]; + + /* mo1 = v0 - mid1 */ + mo1[0] = vertices[0][0] - mid1[0]; + mo1[1] = vertices[0][1] - mid1[1]; + mo1[2] = vertices[0][2] - mid1[2]; + + nmo0 = mo0[0] * mo0[0] + mo0[1] * mo0[1] + mo0[2] * mo0[2]; + nmo1 = mo1[0] * mo1[0] + mo1[1] * mo1[1] + mo1[2] * mo1[2]; + + if (nmo0 * nmo1 > 0.0) + { + denom = getSquareRoot(nmo0 * nmo1); + } + else + { + denom = 1.0; + } + + dot1 = (mo0[0] * mo1[0] + mo0[1] * mo1[1] + mo0[2] * mo1[2]) / denom; + + /* The lower the dot product, the closer to -1, and the more coplanar the triangles are. */ + if (dot0 <= dot1) + { + triangleVertexIndices[0] = facetVertexIndices[0]; + triangleVertexIndices[1] = facetVertexIndices[1]; + triangleVertexIndices[2] = facetVertexIndices[2]; + triangleVertexIndices[3] = facetVertexIndices[0]; + triangleVertexIndices[4] = facetVertexIndices[2]; + triangleVertexIndices[5] = facetVertexIndices[3]; + } + else + { + triangleVertexIndices[0] = facetVertexIndices[1]; + triangleVertexIndices[1] = facetVertexIndices[2]; + triangleVertexIndices[2] = facetVertexIndices[3]; + triangleVertexIndices[3] = facetVertexIndices[1]; + triangleVertexIndices[4] = facetVertexIndices[3]; + triangleVertexIndices[5] = facetVertexIndices[0]; + } +} + diff --git a/modules/graphic_objects/src/cpp/Fac3DColorComputer.cpp b/modules/graphic_objects/src/cpp/Fac3DColorComputer.cpp new file mode 100755 index 000000000..bff8a45e0 --- /dev/null +++ b/modules/graphic_objects/src/cpp/Fac3DColorComputer.cpp @@ -0,0 +1,323 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "DecompositionUtils.hxx" +#include "Fac3DColorComputer.hxx" + +extern "C" +{ +#include <stdlib.h> +} + +Fac3DColorComputer::Fac3DColorComputer(void) +{ + colors = NULL; + numColors = 0; + colorFlag = 0; + /* 1: direct mapping */ + dataMapping = 1; + numGons = 0; + numVerticesPerGon = 0; + numColorsPerFacet = 0; + perVertex = 0; + minColorValue = 0.0; + maxColorValue = 0.0; + colorRange = 0.0; + usedMinColorValue = 0.0; + colorRangeValid = 0; +} + +Fac3DColorComputer::Fac3DColorComputer(double* colors, int numColors, int colorFlag, int dataMapping, int numGons, int numVerticesPerGon) +{ + this->colors = colors; + this->numColors = numColors; + this->colorFlag = colorFlag; + this->dataMapping = dataMapping; + this->numGons = numGons; + this->numVerticesPerGon = numVerticesPerGon; + + if (numColors == numGons * numVerticesPerGon) + { + perVertex = 1; + numColorsPerFacet = numVerticesPerGon; + } + else + { + perVertex = 0; + numColorsPerFacet = 1; + } + + /* Scaled */ + if (dataMapping == 0) + { + if (numColors == 0) + { + colorRangeValid = 0; + + /* Set the actually used color range to [0.0, 1.0] */ + usedMinColorValue = 0.0; + colorRange = 1.0; + } + else + { + colorRangeValid = 1; + computeMinMaxValues(); + + colorRange = maxColorValue - minColorValue; + usedMinColorValue = minColorValue; + + /* + * The color range is invalid when its minimum and maximum values are equal. + * This does not matter when all the color values are either infinite or Nans, + * as facets will be considered as invalid anyway. + */ + if (colorRange < DecompositionUtils::getMinDoubleValue()) + { + colorRangeValid = 0; + + /* Set the actually used color range to [0.0, 1.0] */ + usedMinColorValue = 0.0; + colorRange = 1.0; + } + } + } + +} + +Fac3DColorComputer::~Fac3DColorComputer(void) +{ + +} + +int Fac3DColorComputer::isInterpolatedShadingUsed(void) +{ + int interpolatedShading = 0; + + /* + * Interpolated shading is used only when colors are defined per vertex + * and color flag is equal to 3. In any other case, flat shading is used. + */ + if (perVertex == 1 && colorFlag == 3) + { + interpolatedShading = 1; + } + + return interpolatedShading; +} + +double Fac3DColorComputer::getOutputFacetColor(int facetIndex, int vertexIndex) +{ + /* + * Special case for scaled colors: return the color at half + * the used color range if it is not value, whatever perVertex's value. + */ + if (dataMapping == 0 && colorRangeValid == 0) + { + return 0.5 * (colorRange); + } + else + { + return getFacetColor(facetIndex, vertexIndex); + } + +} + +/* To do: + * -rename getFacetColor to getFacetValue. or getVertexColorIndex + * -streamline. + */ +double Fac3DColorComputer::getFacetColor(int facetIndex, int vertexIndex) +{ + double color = 0.0; + + if (perVertex == 1) + { + if (colorFlag == 2) + { + color = computeAverageValue(facetIndex); + } + else if (colorFlag == 3) + { + color = colors[facetIndex * numVerticesPerGon + vertexIndex]; + } + else if (colorFlag == 4) + { + color = colors[facetIndex * numVerticesPerGon]; + } + } + else if (perVertex == 0) + { + color = colors[facetIndex]; + } + + return color; +} + +/* + * To do: + * -streamline. + */ +int Fac3DColorComputer::isFacetColorValid(int facetIndex) +{ + double color = 0.; + int valid = 0; + + /* Special case, no colors therefore facets are always valid */ + if (colorFlag == 0 || colorFlag == 1 || numColors == 0) + { + return 1; + } + + /* Special case for colorFlag == 3 and perVertex color values */ + if (colorFlag == 3 && perVertex == 1) + { + valid = 0; + + for (int i = 0; i < numVerticesPerGon; i++) + { + color = getFacetColor(facetIndex, i); + + if (dataMapping == 1) + { + /* + * The facet is valid if at least one of its vertex colors is not in the interval + * [0,1) and is a valid number. + */ + if ((int) color != 0 && DecompositionUtils::isANumber(color)) + { + valid = 1; + break; + } + } + else if (dataMapping == 0) + { + /* If at least one color value is infinite, the facet is considered as invalid. */ + if (!DecompositionUtils::isFinite(color)) + { + valid = 0; + break; + } + + /* If at least one value is a number, the facet is valid, provided it has no infinite values. */ + if (DecompositionUtils::isANumber(color) && valid == 0) + { + valid = 1; + } + + } + } + + } + else + { + /* Vertex index set to 0 as all the vertices of a given facet have the same color value */ + color = getFacetColor(facetIndex, 0); + + if (dataMapping == 1) + { + /* The facet is valid if its color value is not in the interval [0,1) and is a valid number. */ + if ((int) color == 0 || DecompositionUtils::isANumber(color) == 0) + { + valid = 0; + } + else + { + valid = 1; + } + } + else if (dataMapping == 0) + { + /* The facet is valid if its color value is valid. */ + if (DecompositionUtils::isValid(color)) + { + valid = 1; + } + else + { + valid = 0; + } + + } + } + + return valid; +} + +double Fac3DColorComputer::computeAverageValue(int facetIndex) +{ + double averageValue = 0.; + int i = 0; + + averageValue = 0.0; + + for (i = 0; i < numVerticesPerGon; i++) + { + averageValue += colors[numVerticesPerGon * facetIndex + i]; + } + + averageValue /= (double) numVerticesPerGon; + + return averageValue; +} + +void Fac3DColorComputer::computeMinMaxValues(void) +{ + double maxDouble = 0.; + double tmpValueMin = 0.; + double tmpValueMax = 0.; + + int i = 0; + + maxDouble = DecompositionUtils::getMaxDoubleValue(); + + tmpValueMin = maxDouble; + tmpValueMax = -maxDouble; + + for (i = 0; i < numGons; i++) + { + computeFacetMinMax(i, &tmpValueMin, &tmpValueMax); + } + + minColorValue = tmpValueMin; + maxColorValue = tmpValueMax; +} + +void Fac3DColorComputer::computeFacetMinMax(int facetIndex, double* currentMin, double* currentMax) +{ + double value = 0.; + + for (int i = 0; i < numColorsPerFacet; i++) + { + value = getFacetColor(facetIndex, i); + + if (DecompositionUtils::isValid(value)) + { + if (value < *currentMin) + { + *currentMin = value; + } + + if (value > *currentMax) + { + *currentMax = value; + } + } + } + +} + +void Fac3DColorComputer::getColorRangeValue(double* minColorValue, double* colorRange) +{ + *minColorValue = usedMinColorValue; + *colorRange = this->colorRange; +} + diff --git a/modules/graphic_objects/src/cpp/Fac3DDecomposer.cpp b/modules/graphic_objects/src/cpp/Fac3DDecomposer.cpp new file mode 100755 index 000000000..bfdafb38b --- /dev/null +++ b/modules/graphic_objects/src/cpp/Fac3DDecomposer.cpp @@ -0,0 +1,599 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "DecompositionUtils.hxx" +#include "ColorComputer.hxx" +#include "Fac3DColorComputer.hxx" +#include "Fac3DDecomposer.hxx" + +extern "C" +{ +#include <stdlib.h> +#include <string.h> + +#include "getGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +} + +int Fac3DDecomposer::getDataSize(int id) +{ + int numVerticesPerGon = 0; + int* piNumVerticesPerGon = &numVerticesPerGon; + int numGons = 0; + int* piNumGons = &numGons; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &piNumVerticesPerGon); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &piNumGons); + + return numVerticesPerGon * numGons; +} + +void Fac3DDecomposer::fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask) +{ + double* x = NULL; + double* y = NULL; + double* z = NULL; + + int i = 0; + + int numVerticesPerGon = 0; + int* piNumVerticesPerGon = &numVerticesPerGon; + int numGons = 0; + int* piNumGons = &numGons; + + int bufferOffset = 0; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &piNumVerticesPerGon); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &piNumGons); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_X__, jni_int, (void**) &x); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y__, jni_int, (void**) &y); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_int, (void**) &z); + + + for (i = 0; i < numVerticesPerGon * numGons; i++) + { + if (coordinateMask & 0x1) + { + double xi = x[i]; + if (logMask & 0x1) + { + xi = DecompositionUtils::getLog10Value(x[i]); + } + buffer[bufferOffset] = (float)(xi * scale[0] + translation[0]); + } + + if (coordinateMask & 0x2) + { + double yi = y[i]; + if (logMask & 0x2) + { + yi = DecompositionUtils::getLog10Value(y[i]); + } + buffer[bufferOffset + 1] = (float)(yi * scale[1] + translation[1]); + } + + if (coordinateMask & 0x4) + { + double zi = z[i]; + if (logMask & 0x4) + { + zi = DecompositionUtils::getLog10Value(z[i]); + } + buffer[bufferOffset + 2] = (float)(zi * scale[2] + translation[2]); + } + + if (elementsSize == 4 && (coordinateMask & 0x8)) + { + buffer[bufferOffset + 3] = 1.0; + } + + bufferOffset += 4; + } + +} + +void Fac3DDecomposer::fillTextureCoordinates(int id, float* buffer, int bufferLength) +{ + int parentFigure = 0; + int* pparentFigure = &parentFigure; + int parent = 0; + int* pparent = &parent; + + double* colors = NULL; + double* colormap = NULL; + double* z = NULL; + + double color = 0.; + + int numVerticesPerGon = 0; + int* piNumVerticesPerGon = &numVerticesPerGon; + int numGons = 0; + int* piNumGons = &numGons; + int numColors = 0; + int* piNumColors = &numColors; + + int colormapSize = 0; + int* piColormapSize = &colormapSize; + + int colorFlag = 0; + int* piColorFlag = &colorFlag; + + int dataMapping = 0; + int* piDataMapping = &dataMapping; + + int perVertex = 0; + + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &piNumVerticesPerGon); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &piNumGons); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_COLORS__, jni_int, (void**) &piNumColors); + getGraphicObjectProperty(id, __GO_DATA_MODEL_COLORS__, jni_double_vector, (void**) &colors); + + + parent = getParentObject(id); + + /* Temporary: to avoid getting a null parent_figure property when the object is built */ + if (parent == 0) + { + return; + } + + getGraphicObjectProperty(id, __GO_PARENT_FIGURE__, jni_int, (void**) &pparentFigure); + + if (parentFigure == 0) + { + return; + } + + getGraphicObjectProperty(id, __GO_COLOR_FLAG__, jni_int, (void**) &piColorFlag); + getGraphicObjectProperty(id, __GO_DATA_MAPPING__, jni_int, (void**) &piDataMapping); + + /* Do not fill */ + if (colorFlag == 0) + { + return; + } + + getGraphicObjectProperty(parentFigure, __GO_COLORMAP__, jni_double_vector, (void**) &colormap); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP_SIZE__, jni_int, (void**) &piColormapSize); + + if (numColors == numGons * numVerticesPerGon) + { + perVertex = 1; + } + else if (numColors == numGons) + { + perVertex = 0; + } + + + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_int, (void**) &z); + + if (colorFlag == 1) + { + fillNormalizedZColorsTextureCoordinates(buffer, bufferLength, colormap, colormapSize, z, numGons, numVerticesPerGon); + } + else if (colorFlag > 1 && numColors == 0) + { + /* + * The color buffer must be filled with the color_mode value. + * To do: correctly take into account Nan and infinite values. + */ + int colorMode = 0; + int* piColorMode = &colorMode; + + getGraphicObjectProperty(id, __GO_COLOR_MODE__, jni_int, (void**) &piColorMode); + + color = (double) colorMode; + color = DecompositionUtils::getAbsoluteValue(color); + + fillConstantColorsTextureCoordinates(buffer, bufferLength, colormap, colormapSize, + color, numGons, numVerticesPerGon); + } + else + { + fillDataColorsTextureCoordinates(buffer, bufferLength, colormap, colormapSize, + colors, colorFlag, perVertex, dataMapping, numGons, numVerticesPerGon); + } + + releaseGraphicObjectProperty(__GO_COLORMAP__, colormap, jni_double_vector, colormapSize); +} + +void Fac3DDecomposer::fillNormalizedZColorsTextureCoordinates(float* buffer, int bufferLength, double* colormap, int colormapSize, + double* z, int numGons, int numVerticesPerGon) +{ + double zavg = 0.; + double zMin = 0.; + double zMax = 0.; + double zRange = 0.; + double minDoubleValue = 0.; + float index = 0.; + + int i = 0; + int j = 0; + int bufferOffset = 0; + + computeMinMaxValues(z, numGons * numVerticesPerGon, numGons, numVerticesPerGon, ALL_VALUES, &zMin, &zMax); + + minDoubleValue = DecompositionUtils::getMinDoubleValue(); + + /* To be verified */ + if ((zMax - zMin) < minDoubleValue) + { + zRange = 1.0; + } + else + { + zRange = zMax - zMin; + } + + for (i = 0; i < numGons; i++) + { + /* Per-face average */ + zavg = computeAverageValue(&z[i * numVerticesPerGon], numVerticesPerGon); + index = (float)((ColorComputer::getIndex(zavg, zMin, zRange, Z_COLOR_OFFSET, 0, colormapSize - 1) + 2.0 + COLOR_TEXTURE_OFFSET) / (float) (colormapSize + 2)); + + for (j = 0; j < numVerticesPerGon; j++) + { + buffer[bufferOffset++] = index; + buffer[bufferOffset++] = 0; + buffer[bufferOffset++] = 0; + buffer[bufferOffset++] = 1.0; + } + } + +} + +void Fac3DDecomposer::fillConstantColorsTextureCoordinates(float* buffer, int bufferLength, double* colormap, int colormapSize, + double colorValue, int numGons, int numVerticesPerGon) +{ + int bufferOffset = 0; + + double index = (ColorComputer::getClampedDirectIndex(colorValue - 1.0, colormapSize) + 2.0 + COLOR_TEXTURE_OFFSET) / (float) (colormapSize + 2); + + for (int i = 0; i < numGons * numVerticesPerGon; i++) + { + buffer[bufferOffset++] = (float)index; + buffer[bufferOffset++] = 0; + buffer[bufferOffset++] = 0; + buffer[bufferOffset++] = 1.0; + } + +} + +void Fac3DDecomposer::fillDataColorsTextureCoordinates(float* buffer, int bufferLength, double* colormap, int colormapSize, + double* colors, int colorFlag, int perVertex, int dataMapping, int numGons, int numVerticesPerGon) +{ + double colMin = 0.; + double colRange = 0.; + double color = 0.; + double colorTextureOffset = 0.; + double index = 0.; + + int bufferOffset = 0; + + int numColors = 0; + + Fac3DColorComputer colorComputer; + + if (perVertex) + { + numColors = numGons * numVerticesPerGon; + } + else + { + numColors = numGons; + } + + colorComputer = Fac3DColorComputer(colors, numColors, colorFlag, dataMapping, numGons, numVerticesPerGon); + + /* 0: colors are scaled */ + if (dataMapping == 0) + { + colorComputer.getColorRangeValue(&colMin, &colRange); + } + + /* + * The color texture offset value is used to center color sub-intervals + * on integer index values when interpolated shading is used or to be sure + * to fetch the correct color value when flat shading is used. + */ + colorTextureOffset = COLOR_TEXTURE_OFFSET; + + for (int i = 0; i < numGons; i++) + { + for (int j = 0; j < numVerticesPerGon; j++) + { + color = colorComputer.getOutputFacetColor(i, j); + + if (dataMapping == 1) + { + color = DecompositionUtils::getAbsoluteValue(color); + index = ColorComputer::getClampedDirectIndex(color - 1.0 , colormapSize); + } + else if (dataMapping == 0) + { + index = ColorComputer::getIndex(color, colMin, colRange, COLOR_OFFSET, 0, colormapSize - 1); + } + + /* The offset corresponding to the black and white colors must added to the index and the colormap size. */ + buffer[bufferOffset++] = (float) ((index + colorTextureOffset + 2.0) / (double) (colormapSize + 2)); + buffer[bufferOffset++] = 0; + buffer[bufferOffset++] = 0; + buffer[bufferOffset++] = 1.0; + } + } +} + +double Fac3DDecomposer::computeAverageValue(double* values, int numVertices) +{ + double averageValue = 0.0; + + for (int i = 0; i < numVertices; i++) + { + averageValue += values[i]; + } + + averageValue /= (double) numVertices; + + return averageValue; +} + +void Fac3DDecomposer::computeMinMaxValues(double* values, int numValues, int numGons, int numVerticesPerGon, int minMaxComputation, + double* valueMin, double* valueMax) +{ + double maxDouble = DecompositionUtils::getMaxDoubleValue(); + double tmpValueMin = maxDouble; + double tmpValueMax = -maxDouble; + double value = 0.; + + int numIterations = 0; + + if (minMaxComputation != ALL_VALUES) + { + numIterations = numGons; + } + else + { + numIterations = numValues; + } + + for (int i = 0; i < numIterations; i++) + { + if (minMaxComputation == FIRST_VERTEX_VALUE) + { + value = values[i * numVerticesPerGon]; + } + else if (minMaxComputation == FACE_AVERAGE) + { + value = computeAverageValue(&values[i * numVerticesPerGon], numVerticesPerGon); + } + else + { + value = values[i]; + } + + if (DecompositionUtils::isValid(value)) + { + if (value < tmpValueMin) + { + tmpValueMin = value; + } + + if (value > tmpValueMax) + { + tmpValueMax = value; + } + } + } + + *valueMin = tmpValueMin; + *valueMax = tmpValueMax; +} + +int Fac3DDecomposer::getIndicesSize(int id) +{ + int numVerticesPerGon = 0; + int* piNumVerticesPerGon = &numVerticesPerGon; + int numGons = 0; + int* piNumGons = &numGons; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &piNumVerticesPerGon); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &piNumGons); + + if (numVerticesPerGon < 2) + { + return 0; + } + + return 3 * (numVerticesPerGon - 2) * numGons; +} + +/* + * To do: use a polygon triangulation algorithm, as the fan decomposition used may produce + * overlapping triangles for non-convex polygons. + */ +int Fac3DDecomposer::fillIndices(int id, int* buffer, int bufferLength, int logMask) +{ + double* x = NULL; + double* y = NULL; + double* z = NULL; + + double xc = 0.; + double yc = 0.; + double zc = 0.; + + double* colors = NULL; + + int numVerticesPerGon = 0; + int* piNumVerticesPerGon = &numVerticesPerGon; + int numGons = 0; + int* piNumGons = &numGons; + + int numColors = 0; + int* piNumColors = &numColors; + + int colorFlag = 0; + int* piColorFlag = &colorFlag; + + int dataMapping = 0; + int* piDataMapping = &dataMapping; + + int bufferOffset = 0; + int vertexOffset = 0; + + Fac3DColorComputer colorComputer; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &piNumVerticesPerGon); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &piNumGons); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_COLORS__, jni_int, (void**) &piNumColors); + getGraphicObjectProperty(id, __GO_DATA_MODEL_COLORS__, jni_double_vector, (void**) &colors); + + getGraphicObjectProperty(id, __GO_COLOR_FLAG__, jni_int, (void**) &piColorFlag); + + getGraphicObjectProperty(id, __GO_DATA_MAPPING__, jni_int, (void**) &piDataMapping); + + /* At least 3 vertices per N-gon are required to output triangles. */ + if (numVerticesPerGon < 3) + { + return 0; + } + + colorComputer = Fac3DColorComputer(colors, numColors, colorFlag, dataMapping, numGons, numVerticesPerGon); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_X__, jni_double_vector, (void**) &x); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y__, jni_double_vector, (void**) &y); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &z); + + for (int i = 0; i < numGons; i++) + { + int isValid = 1; + + for (int j = 0; j < numVerticesPerGon; j++) + { + xc = x[vertexOffset + j]; + yc = y[vertexOffset + j]; + zc = z[vertexOffset + j]; + + if (!DecompositionUtils::isValid(xc, yc, zc) || !DecompositionUtils::isLogValid(xc, yc, zc, logMask)) + { + isValid = 0; + break; + } + } + + if (isValid == 0 || colorComputer.isFacetColorValid(i) == 0) + { + vertexOffset += numVerticesPerGon; + continue; + } + + /* Performs a fan decomposition, vertices are ordered counter-clockwise. */ + for (int j = 0; j < numVerticesPerGon - 2; j++) + { + buffer[bufferOffset] = vertexOffset; + buffer[bufferOffset + 1] = vertexOffset + j + 2; + buffer[bufferOffset + 2] = vertexOffset + j + 1; + + bufferOffset += 3; + } + + vertexOffset += numVerticesPerGon; + } + + return bufferOffset; +} + +int Fac3DDecomposer::getWireIndicesSize(int id) +{ + int numVerticesPerGon = 0; + int* piNumVerticesPerGon = &numVerticesPerGon; + int numGons = 0; + int* piNumGons = &numGons; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &piNumVerticesPerGon); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &piNumGons); + + return 2 * numVerticesPerGon * numGons; +} + +int Fac3DDecomposer::fillWireIndices(int id, int* buffer, int bufferLength, int logMask) +{ + double* x = NULL; + double* y = NULL; + double* z = NULL; + + double xc = 0.; + double yc = 0.; + double zc = 0.; + + int numVerticesPerGon = 0; + int* piNumVerticesPerGon = &numVerticesPerGon; + int numGons = 0; + int* piNumGons = &numGons; + + int bufferOffset = 0; + int vertexOffset = 0; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &piNumVerticesPerGon); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &piNumGons); + + /* At least 2 vertices per N-gon are required to output segments. */ + if (numVerticesPerGon < 2) + { + return 0; + } + + getGraphicObjectProperty(id, __GO_DATA_MODEL_X__, jni_double_vector, (void**) &x); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y__, jni_double_vector, (void**) &y); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &z); + + for (int i = 0; i < numGons; i++) + { + int isValid = 1; + + for (int j = 0; j < numVerticesPerGon; j++) + { + xc = x[vertexOffset + j]; + yc = y[vertexOffset + j]; + zc = z[vertexOffset + j]; + + if (!DecompositionUtils::isValid(xc, yc, zc) || !DecompositionUtils::isLogValid(xc, yc, zc, logMask)) + { + isValid = 0; + break; + } + } + + if (isValid == 0) + { + vertexOffset += numVerticesPerGon; + continue; + } + + for (int j = 0; j < numVerticesPerGon; j++) + { + buffer[bufferOffset] = vertexOffset + j; + buffer[bufferOffset + 1] = vertexOffset + (j + 1) % numVerticesPerGon; + + bufferOffset += 2; + } + + vertexOffset += numVerticesPerGon; + } + + return bufferOffset; +} + diff --git a/modules/graphic_objects/src/cpp/FigureList.cpp b/modules/graphic_objects/src/cpp/FigureList.cpp new file mode 100755 index 000000000..8feaf78ba --- /dev/null +++ b/modules/graphic_objects/src/cpp/FigureList.cpp @@ -0,0 +1,75 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "ScilabView.hxx" + +extern "C" +{ +#include "FigureList.h" +#ifdef _MSC_VER +#include "strdup_windows.h" +#else +#include <string.h> +#endif +#include "FigureList.h" +} + +int sciGetNbFigure(void) +{ + return ScilabView::getNbFigure(); +} + +void sciGetFiguresId(int ids[]) +{ + return ScilabView::getFiguresId(ids); +} + +int getValidDefaultFigureId() +{ + return ScilabView::getValidDefaultFigureId(); +} + +BOOL sciIsExistingFigure(int id) +{ + return (ScilabView::existsFigureId(id) == true ? TRUE : FALSE); +} + +BOOL sciHasFigures() +{ + return (ScilabView::isEmptyFigureList() == true ? FALSE : TRUE); +} + +int getFigureFromIndex(int figNum) +{ + return ScilabView::getFigureFromIndex(figNum); +} + +void registerToController() +{ + ScilabView::registerToController(); +} +void unregisterToController() +{ + ScilabView::unregisterToController(); +} + +int search_path(char* _pstPath) +{ + return ScilabView::search_path(_pstPath); +} + +char* get_path(int uid) +{ + std::string path = ScilabView::get_path(uid); + return strdup(path.c_str()); +} + diff --git a/modules/graphic_objects/src/cpp/FigureModel.cpp b/modules/graphic_objects/src/cpp/FigureModel.cpp new file mode 100755 index 000000000..3709937eb --- /dev/null +++ b/modules/graphic_objects/src/cpp/FigureModel.cpp @@ -0,0 +1,38 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <string.h> +#include "ScilabView.hxx" + +extern "C" +{ +#include "FigureModel.h" +} + +int getFigureModel(void) +{ + return ScilabView::getFigureModel(); +} + +void setFigureModel(int UID) +{ + ScilabView::setFigureModel(UID); +} + +BOOL isFigureModel(int UID) +{ + if (UID == getFigureModel()) + { + return TRUE; + } + return FALSE; +} diff --git a/modules/graphic_objects/src/cpp/HandleManagement.cpp b/modules/graphic_objects/src/cpp/HandleManagement.cpp new file mode 100755 index 000000000..60996ad6f --- /dev/null +++ b/modules/graphic_objects/src/cpp/HandleManagement.cpp @@ -0,0 +1,28 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "ScilabView.hxx" + +extern "C" +{ +#include "HandleManagement.h" +} + +long getHandle(int UID) +{ + return ScilabView::getObjectHandle(UID); +} + +int getObjectFromHandle(long handle) +{ + return ScilabView::getObjectFromHandle(handle); +} diff --git a/modules/graphic_objects/src/cpp/MatPlotDecomposer.cpp b/modules/graphic_objects/src/cpp/MatPlotDecomposer.cpp new file mode 100755 index 000000000..2d4e4ad2c --- /dev/null +++ b/modules/graphic_objects/src/cpp/MatPlotDecomposer.cpp @@ -0,0 +1,257 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Pierre Lando + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "DecompositionUtils.hxx" +#include "MatPlotDecomposer.hxx" +#include "DataProperties.hxx" +#include "ColorComputer.hxx" +#include <iostream> +#include <cstring> + +extern "C" { +#include "getGraphicObjectProperty.h" +#include "setGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +#include "Matplot.h" +} + +int MatPlotDecomposer::getTextureWidth(int id) +{ + int width = 0; + int* piWidth = &width; + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piWidth); + + return width - 1; +} + + +int MatPlotDecomposer::getTextureHeight(int id) +{ + int height = 0; + int* piHeight = &height; + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piHeight); + + return height - 1; +} + + +int MatPlotDecomposer::fillTextureData(int id, unsigned char* buffer, int bufferLength) +{ + // Indexed colors + void * data = NULL; + int parentFigure = 0; + int * piParentFigure = &parentFigure; + double * colormap = NULL; + int colormapSize = 0; + int * piColormapSize = &colormapSize; + int datatype = -1; + int * pidataType = &datatype; + const int h = getTextureHeight(id); + const int w = getTextureWidth(id); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_double_vector, &data); + getGraphicObjectProperty(id, __GO_DATA_MODEL_MATPLOT_DATA_TYPE__, jni_int, (void**) &pidataType); + getGraphicObjectProperty(id, __GO_PARENT_FIGURE__, jni_int, (void**) &piParentFigure); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP__, jni_double_vector, (void**) &colormap); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP_SIZE__, jni_int, (void**) &piColormapSize); + + switch ((DataType)datatype) + { + case MATPLOT_HM1_Char : + case MATPLOT_Char : + { + char * index = (char *)data; + for (int i = 0 ; i < w * h; i++) + { + ColorComputer::getDirectByteColor(index[i] - 1, colormap, colormapSize, &buffer[4 * i], false); + } + + break; + } + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + { + unsigned char * index = (unsigned char *)data; + for (int i = 0 ; i < w * h; i++) + { + ColorComputer::getDirectByteColor(index[i] - 1, colormap, colormapSize, &buffer[4 * i], false); + } + + break; + } + case MATPLOT_Int : + { + int * index = (int *)data; + for (int i = 0 ; i < w * h; i++) + { + ColorComputer::getDirectByteColor(index[i] - 1, colormap, colormapSize, &buffer[4 * i], false); + } + + break; + } + case MATPLOT_UInt : + { + unsigned int * index = (unsigned int *)data; + for (int i = 0 ; i < w * h; i++) + { + ColorComputer::getDirectByteColor(index[i] - 1, colormap, colormapSize, &buffer[4 * i], false); + } + + break; + } + case MATPLOT_Short : + { + short * index = (short *)data; + for (int i = 0 ; i < w * h; i++) + { + ColorComputer::getDirectByteColor(index[i] - 1, colormap, colormapSize, &buffer[4 * i], false); + } + + break; + } + case MATPLOT_UShort : + { + unsigned short * index = (unsigned short *)data; + for (int i = 0 ; i < w * h; i++) + { + ColorComputer::getDirectByteColor(index[i] - 1, colormap, colormapSize, &buffer[4 * i], false); + } + + break; + } + case MATPLOT_HM1_Double : + case MATPLOT_Double : + { + double * index = (double *)data; + for (int i = 0 ; i < w * h ; i++) + { + ColorComputer::getDirectByteColor(index[i] - 1, colormap, colormapSize, &buffer[4 * i], false); + } + break; + } + } + + releaseGraphicObjectProperty(__GO_COLORMAP__, colormap, jni_double_vector, colormapSize); + + return bufferLength; +} + + +int MatPlotDecomposer::fillTextureData(int id, unsigned char* buffer, int bufferLength, int x, int y, int width, int height) +{ + double* value = NULL; + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &value); + if (width * height * 4 == bufferLength) + { + int parentFigure = 0; + int * piParentFigure = &parentFigure; + double* colormap = NULL; + int colormapSize = 0; + int* piColormapSize = &colormapSize; + getGraphicObjectProperty(id, __GO_PARENT_FIGURE__, jni_int, (void**) &piParentFigure); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP__, jni_double_vector, (void**) &colormap); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP_SIZE__, jni_int, (void**) &piColormapSize); + int textureHeight = getTextureHeight(id); + int k = 0; + for (int j = y ; j < y + height ; j++) + { + for (int i = x ; i < x + width ; i++) + { + ColorComputer::getDirectByteColor(value[j + i * textureHeight] - 1, colormap, colormapSize, &buffer[k]); + buffer[k + 3] = 255; + k += 4; + } + } + + releaseGraphicObjectProperty(__GO_COLORMAP__, colormap, jni_double_vector, colormapSize); + + return bufferLength; + } + else + { + return 0; + } +} + +int MatPlotDecomposer::getTextureImageType(int id) +{ + int type = -1; + int * piType = &type; + getGraphicObjectProperty(id, __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__, jni_int, (void**) &piType); + + return type; +} + +int MatPlotDecomposer::getTextureDataType(int id) +{ + int type = -1; + int * piType = &type; + getGraphicObjectProperty(id, __GO_DATA_MODEL_MATPLOT_DATA_TYPE__, jni_int, (void**) &piType); + + return type; +} + +int MatPlotDecomposer::getTextureGLType(int id) +{ + int type = -1; + int * piType = &type; + getGraphicObjectProperty(id, __GO_DATA_MODEL_MATPLOT_GL_TYPE__, jni_int, (void**) &piType); + + return type; +} + +int MatPlotDecomposer::getTextureData(int id, void ** address, unsigned int * size) +{ + int type = getTextureImageType(id); + if (type == MATPLOT_INDEX) + { + // Indexed colors + const int h = getTextureHeight(id); + const int w = getTextureWidth(id); + const int bsize = w * h * sizeof(int); + unsigned char * buffer = new unsigned char[bsize]; + fillTextureData(id, buffer, bsize); + + *address = buffer; + *size = bsize; + + return 1; + } + + getGraphicObjectProperty(id, __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__, jni_double_vector, address); + getGraphicObjectProperty(id, __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__, jni_int, (void **)&size); + + return 1; +} + +void MatPlotDecomposer::disposeTextureData(int id, unsigned char * buffer) +{ + if (buffer) + { + delete[] buffer; + } +} + +int MatPlotDecomposer::isTextureRowOrder(int id) +{ + int rowOrder; + int * piRowOrder = &rowOrder; + getGraphicObjectProperty(id, __GO_DATA_MODEL_MATPLOT_DATA_ORDER__, jni_int, (void**) &piRowOrder); + + return rowOrder; +} + +int buildMatplotType(DataType datatype, DataOrder dataorder, ImageType imagetype) +{ + return ((int)datatype) | ((int)dataorder << 8) | ((int)imagetype << 16); +} diff --git a/modules/graphic_objects/src/cpp/MeshData.cpp b/modules/graphic_objects/src/cpp/MeshData.cpp new file mode 100755 index 000000000..7be7128a0 --- /dev/null +++ b/modules/graphic_objects/src/cpp/MeshData.cpp @@ -0,0 +1,364 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "MeshData.hxx" +#include "DataProperties.hxx" + +extern "C" { +#include <string.h> +#include "BOOL.h" + +#include "graphicObjectProperties.h" +} + +MeshData::MeshData(void) +{ + vertices = NULL; + indices = NULL; + values = NULL; + + numberVertices = 0; + numberElements = 0; + numberVerticesByElem = 3; +} + +/* To be correctly implemented */ +MeshData::MeshData(unsigned int numberVertices, unsigned int numberElements, unsigned int numberVerticesByElem) +{ + vertices = new double[numberVerticesByElem * numberVertices]; + indices = new unsigned int[numberVerticesByElem * numberElements]; + + this->numberVertices = numberVertices; + this->numberElements = numberElements; + this->numberVerticesByElem = numberVerticesByElem; +} + +/* To be correctly implemented */ +MeshData::~MeshData(void) +{ + if (numberVertices > 0) + { + delete [] vertices; + delete [] values; + } + + if (numberElements > 0) + { + delete [] indices; + } + +} + +int MeshData::getPropertyFromName(int propertyName) +{ + switch (propertyName) + { + case __GO_DATA_MODEL_NUM_VERTICES__ : + return NUM_VERTICES; + case __GO_DATA_MODEL_NUM_INDICES__ : + return NUM_INDICES; + case __GO_DATA_MODEL_X__ : + return X_COORDINATES; + case __GO_DATA_MODEL_Y__ : + return Y_COORDINATES; + case __GO_DATA_MODEL_Z__ : + return Z_COORDINATES; + case __GO_DATA_MODEL_COORDINATES__ : + return COORDINATES; + case __GO_DATA_MODEL_INDICES__ : + return INDICES; + case __GO_DATA_MODEL_VALUES__ : + return VALUES; + case __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__ : + return NUM_VERTICES_BY_ELEM; + default : + return Data3D::getPropertyFromName(propertyName); + } + +} + + +int MeshData::setDataProperty(int property, void const* value, int numElements) +{ + switch (property) + { + case NUM_VERTICES : + return setNumVertices(*((unsigned int const*) value)); + case NUM_INDICES : + return setNumIndices(*((unsigned int const*) value)); + case X_COORDINATES : + setDataX((double const*) value, numElements); + break; + case Y_COORDINATES : + setDataY((double const*) value, numElements); + break; + case Z_COORDINATES : + setDataZ((double const*) value, numElements); + break; + case COORDINATES : + setVertices((double const*) value, numElements); + break; + case INDICES : + setIndices((unsigned int const*) value, numElements); + break; + case VALUES : + setValues((double const*) value, numElements); + break; + case NUM_VERTICES_BY_ELEM : + numberVerticesByElem = *((unsigned int const*) value); + break; + default : + return Data3D::setDataProperty(property, value, numElements); + } + + return 1; +} + +void MeshData::getDataProperty(int property, void **_pvData) +{ + switch (property) + { + case NUM_VERTICES : + ((int *)*_pvData)[0] = getNumVertices(); + break; + case NUM_INDICES : + ((int *)*_pvData)[0] = getNumIndices(); + break; + case COORDINATES : + *_pvData = getVertices(); + break; + case INDICES : + *_pvData = getIndices(); + break; + case VALUES : + *_pvData = getValues(); + break; + case NUM_VERTICES_BY_ELEM : + ((int *) *_pvData)[0] = numberVerticesByElem; + break; + default : + Data3D::getDataProperty(property, _pvData); + } +} + +unsigned int MeshData::getNumVertices(void) +{ + return numberVertices; +} + +/* + * Values are considered as being specified per-vertex for now + * To be corrected + */ +int MeshData::setNumVertices(unsigned int numVertices) +{ + int result = 1; + + if (numVertices == 0 && numberVertices > 0) + { + numberVertices = 0; + + delete [] vertices; + delete [] values; + + return 1; + } + + if (numVertices != this->numberVertices) + { + double* newVertices = NULL; + double* newValues = NULL; + + try + { + newVertices = new double[3 * numVertices]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + + try + { + newValues = new double[numVertices]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + + if (result) + { + if (this->numberVertices > 0) + { + delete [] vertices; + delete [] values; + } + + vertices = newVertices; + values = newValues; + + this->numberVertices = numVertices; + + resetCoordinates(); + } + else + { + /* Failed allocation, nothing is set */ + if (newVertices != NULL) + { + delete [] newVertices; + } + + if (newValues != NULL) + { + delete [] newValues; + } + } + + } + + return result; +} + +unsigned int MeshData::getNumIndices(void) +{ + return numberElements; +} + +int MeshData::setNumIndices(unsigned int numIndices) +{ + int result = 1; + + if (numIndices != this->numberElements) + { + unsigned int* newIndices = NULL; + + try + { + newIndices = new unsigned int[numberVerticesByElem * numIndices]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + + if (result) + { + if (this->numberElements > 0) + { + delete [] indices; + } + + indices = newIndices; + + this->numberElements = numIndices; + } + else + { + /* Failed allocation, nothing is set */ + if (newIndices != NULL) + { + delete [] newIndices; + } + } + + } + + return result; +} + +double* MeshData::getVertices(void) +{ + return vertices; +} + +void MeshData::setVertices(double const* vertices, unsigned int numElements) +{ + if (numElements <= numberVertices) + { + memcpy(this->vertices, vertices, numElements * 3 * sizeof(double)); + } +} + +unsigned int* MeshData::getIndices(void) +{ + return indices; +} + +void MeshData::setIndices(unsigned int const* indices, unsigned int numElements) +{ + if (numElements <= numberElements) + { + memcpy(this->indices, indices, numElements * numberVerticesByElem * sizeof(unsigned int)); + } +} + +void MeshData::setDataX(double const* data, unsigned int numElements) +{ + if (numElements <= numberVertices) + { + for (unsigned int i = 0 ; i < numElements ; i++) + { + vertices[3 * i] = data[i]; + } + } +} + +void MeshData::setDataY(double const* data, unsigned int numElements) +{ + if (numElements <= numberVertices) + { + for (unsigned int i = 0 ; i < numElements ; i++) + { + vertices[3 * i + 1] = data[i]; + } + } +} + +void MeshData::setDataZ(double const* data, unsigned int numElements) +{ + if (numElements <= numberVertices) + { + for (unsigned int i = 0; i < numElements; i++) + { + vertices[3 * i + 2] = data[i]; + } + } +} + +void MeshData::setValues(double const* data, unsigned int numElements) +{ + if (numElements <= numberVertices) + { + memcpy(this->values, data, numElements * sizeof(double)); + } +} + +double* MeshData::getValues(void) +{ + return values; +} + +unsigned int MeshData::scilabIndexToIndex(unsigned int scilabIndex) +{ + return (scilabIndex - 1); +} + +void MeshData::resetCoordinates(void) +{ + memset(vertices, 0, numberVertices * 3 * sizeof(double)); +} + diff --git a/modules/graphic_objects/src/cpp/MeshFecData.cpp b/modules/graphic_objects/src/cpp/MeshFecData.cpp new file mode 100755 index 000000000..7a98adec9 --- /dev/null +++ b/modules/graphic_objects/src/cpp/MeshFecData.cpp @@ -0,0 +1,212 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "MeshFecData.hxx" +#include "MeshData.hxx" +#include "DataProperties.hxx" + +extern "C" { +#include <string.h> +#include "BOOL.h" + +#include "graphicObjectProperties.h" +} + +MeshFecData::MeshFecData(void) +{ + vertices = NULL; + indices = NULL; + values = NULL; + fecValues = NULL; + + numberVertices = 0; + numberElements = 0; + numberVerticesByElem = 3; +} + +MeshFecData::MeshFecData(unsigned int numberVertices, unsigned int numberElements, unsigned int numberVerticesByElem) +{ + vertices = new double[numberVerticesByElem * numberVertices]; + indices = new unsigned int[numberVerticesByElem * numberElements]; + fecValues = new double[(numberVerticesByElem + 2) * numberElements]; + + this->numberVerticesByElem = numberVerticesByElem; + this->numberVertices = numberVertices; + this->numberElements = numberElements; +} + +MeshFecData::~MeshFecData(void) +{ + if (numberVertices > 0) + { + delete [] vertices; + delete [] values; + } + + if (numberElements > 0) + { + delete [] indices; + delete [] fecValues; + } + + numberVertices = 0; + numberElements = 0; +} + +int MeshFecData::getPropertyFromName(int propertyName) +{ + switch (propertyName) + { + case __GO_DATA_MODEL_NUM_INDICES__ : + return NUM_INDICES; + case __GO_DATA_MODEL_FEC_ELEMENTS__ : + return FEC_ELEMENTS; + default : + return MeshData::getPropertyFromName(propertyName); + } +} + + +int MeshFecData::setDataProperty(int property, void const* value, int numElements) +{ + if (property == NUM_INDICES) + { + return setNumIndices(*((unsigned int const*) value)); + } + else if (property == FEC_ELEMENTS) + { + setFecElements((double const*) value, numElements); + } + else + { + return MeshData::setDataProperty(property, value, numElements); + } + + return 1; +} + +void MeshFecData::getDataProperty(int property, void **_pvData) +{ + if (property == NUM_INDICES) + { + ((int *) *_pvData)[0] = getNumIndices(); + } + else if (property == FEC_ELEMENTS) + { + *_pvData = getFecElements(); + } + else + { + MeshData::getDataProperty(property, _pvData); + } + +} + +unsigned int MeshFecData::getNumIndices(void) +{ + return numberElements; +} + +int MeshFecData::setNumIndices(unsigned int numIndices) +{ + int result = 1; + if (numIndices != this->numberElements) + { + unsigned int* newIndices = NULL; + double* newFecValues = NULL; + + try + { + newIndices = new unsigned int[numberVerticesByElem * numIndices]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + + try + { + newFecValues = new double[(numberVerticesByElem + 2) * numIndices]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + + + if (result) + { + if (this->numberElements > 0) + { + delete [] indices; + delete [] fecValues; + } + + indices = newIndices; + fecValues = newFecValues; + + this->numberElements = numIndices; + } + else + { + /* Failed allocation, nothing is set */ + if (newIndices != NULL) + { + delete [] newIndices; + } + + if (newFecValues != NULL) + { + delete [] newFecValues; + } + } + + } + + return result; +} + +void MeshFecData::setFecElements(double const* data, int numElements) +{ + if ((unsigned int)numElements > numberElements) + { + return; + } + + for (int i = 0; i < numElements; i++) + { + for (unsigned j = 0; j < numberVerticesByElem; ++j) + { + indices[numberVerticesByElem * i + j] = scilabIndexToIndex((unsigned int) data[(j + 1) * numElements + i]); + } + + /* Element number */ + fecValues[i] = data[i]; + + /* Element vertices */ + for (unsigned int j = 1; j <= numberVerticesByElem; ++j) + { + fecValues[j * numElements + i] = data[j * numElements + i]; + } + + /* Flag */ + fecValues[(numberVerticesByElem + 1) * numElements + i] = data[(numberVerticesByElem + 1) * numElements + i]; + } +} + +double* MeshFecData::getFecElements(void) +{ + return fecValues; +} + diff --git a/modules/graphic_objects/src/cpp/MeshFecDataDecomposer.cpp b/modules/graphic_objects/src/cpp/MeshFecDataDecomposer.cpp new file mode 100755 index 000000000..f482bf6fe --- /dev/null +++ b/modules/graphic_objects/src/cpp/MeshFecDataDecomposer.cpp @@ -0,0 +1,598 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "ColorComputer.hxx" +#include "DecompositionUtils.hxx" +#include "MeshFecDataDecomposer.hxx" + +#include <iostream> + +extern "C" +{ +#include <stdlib.h> +#include <string.h> + +#include "getGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +} + +int MeshFecDataDecomposer::getDataSize(int id) +{ + int numVertices = 0; + int* piNumVertices = &numVertices; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES__, jni_int, (void**) &piNumVertices); + + return numVertices; +} + +void MeshFecDataDecomposer::fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask) +{ + double* coordinates = NULL; + + int numVertices = 0; + int* piNumVertices = &numVertices; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_COORDINATES__, jni_double_vector, (void**) &coordinates); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES__, jni_int, (void**) &piNumVertices); + + for (int i = 0; i < numVertices; i++) + { + if (coordinateMask & 0x1) + { + double xi = coordinates[3 * i]; + if (logMask & 0x1) + { + xi = DecompositionUtils::getLog10Value(xi); + } + buffer[elementsSize * i] = (float)(xi * scale[0] + translation[0]); + } + + if (coordinateMask & 0x2) + { + double yi = coordinates[3 * i + 1]; + if (logMask & 0x2) + { + yi = DecompositionUtils::getLog10Value(yi); + } + buffer[elementsSize * i + 1] = (float)(yi * scale[1] + translation[1]); + } + + if (coordinateMask & 0x4) + { + double zi = coordinates[3 * i + 2]; + if (logMask & 0x4) + { + zi = DecompositionUtils::getLog10Value(zi); + } + buffer[elementsSize * i + 2] = (float)(zi * scale[2] + translation[2]); + } + + if (elementsSize == 4 && (coordinateMask & 0x8)) + { + buffer[elementsSize * i + 3] = 1.0; + } + } + +} + +void MeshFecDataDecomposer::fillTextureCoordinates(int id, float* buffer, int bufferLength) +{ + int parentFigure = 0; + int * piParentFigure = &parentFigure; + int colormapSize = 0; + int* piColormapSize = &colormapSize; + int* colorRange = NULL; + + double colorsNumber = 0.; + double scale = 0.; + double t = 0.; + + double* values = NULL; + double* zBounds = NULL; + + double minValue = 0.; + double maxValue = 0.; + + int numVertices = 0; + int* piNumVertices = &numVertices; + + int bufferOffset = 0; + + getGraphicObjectProperty(id, __GO_PARENT_FIGURE__, jni_int, (void**) &piParentFigure); + /* Temporary: to avoid getting a null parent_figure property when the object is built */ + if (parentFigure == 0) + { + return; + } + + getGraphicObjectProperty(id, __GO_COLOR_RANGE__, jni_int_vector, (void**) &colorRange); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP_SIZE__, jni_int, (void**) &piColormapSize); + + if (colorRange[0] != 0 || colorRange[1] != 0) + { + colorsNumber = (double) (1 + colorRange[1] - colorRange[0]); + } + else + { + colorsNumber = (double) colormapSize; + } + + releaseGraphicObjectProperty(__GO_COLOR_RANGE__, colorRange, jni_int_vector, 0); + + /** To take into account the presence of exterior colors: + * - We add 2 to the number of colors. + * - We skip the first color. + */ + t = 3. / (2. * (colorsNumber + 2.)); + scale = (colorsNumber - 1.) / (colorsNumber + 2); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES__, jni_int, (void**) &piNumVertices); + getGraphicObjectProperty(id, __GO_DATA_MODEL_VALUES__, jni_double_vector, (void**) &values); + getGraphicObjectProperty(id, __GO_Z_BOUNDS__, jni_double_vector, (void**) &zBounds); + + /* Z-bounds are not taken into account if either of them is invalid */ + if ((zBounds[0] != 0.0 || zBounds[1] != 0.0) && (DecompositionUtils::isValid(zBounds[0]) && DecompositionUtils::isValid(zBounds[1])) && (zBounds[0] != zBounds[1])) + { + minValue = zBounds[0]; + maxValue = zBounds[1]; + } + else + { + computeMinMaxValues(values, numVertices, &minValue, &maxValue); + } + + releaseGraphicObjectProperty(__GO_Z_BOUNDS__, zBounds, jni_double_vector, 0); + + if (maxValue == minValue) + { + for (int i = 0; i < numVertices; i++) + { + buffer[bufferOffset++] = (float)minValue; + buffer[bufferOffset++] = 0; + buffer[bufferOffset++] = 0; + buffer[bufferOffset++] = 1; + } + } + else + { + for (int i = 0; i < numVertices; i++) + { + buffer[bufferOffset++] = (float)(t + scale * (values[i] - minValue) / (maxValue - minValue)); + buffer[bufferOffset++] = 0; + buffer[bufferOffset++] = 0; + buffer[bufferOffset++] = 1; + } + } +} + +void MeshFecDataDecomposer::fillColors(int id, float* buffer, int bufferLength, int elementsSize) +{ + int parent = 0; + int parentFigure = 0; + int * piParentFigure = &parentFigure; + + double* values = NULL; + double* zBounds = NULL; + double* colormap = NULL; + + double minValue = 0.; + double maxValue = 0.; + double valueRange = 0.; + + float minColor[3]; + float maxColor[3]; + + int colormapSize = 0; + int* piColormapSize = &colormapSize; + + int numVertices = 0; + int* piNumVertices = &numVertices; + + int minColorIndex = 0; + int maxColorIndex = 0; + + int* colorRange = NULL; + int useOutsideColors = 0; + int bufferOffset = 0; + + parent = getParentObject(id); + + /* Temporary: to avoid getting a null parent_figure property when the object is built */ + if (parent == 0) + { + return; + } + + getGraphicObjectProperty(id, __GO_PARENT_FIGURE__, jni_int, (void**) &piParentFigure); + + getGraphicObjectProperty(parentFigure, __GO_COLORMAP__, jni_double_vector, (void**) &colormap); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP_SIZE__, jni_int, (void**) &piColormapSize); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES__, jni_int, (void**) &piNumVertices); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_VALUES__, jni_double_vector, (void**) &values); + + getGraphicObjectProperty(id, __GO_Z_BOUNDS__, jni_double_vector, (void**) &zBounds); + getGraphicObjectProperty(id, __GO_COLOR_RANGE__, jni_int_vector, (void**) &colorRange); + + if (colorRange[0] != 0 || colorRange[1] != 0) + { + /* To do: use a scilab index to colormap index conversion function */ + minColorIndex = colorRange[0] - 1; + maxColorIndex = colorRange[1] - 1; + + if (minColorIndex < 0) + { + minColorIndex = 0; + } + if (maxColorIndex < 0) + { + maxColorIndex = 0; + } + + if (maxColorIndex > colormapSize - 1) + { + maxColorIndex = colormapSize - 1; + } + if (minColorIndex > colormapSize - 1) + { + minColorIndex = colormapSize - 1; + } + + } + else + { + minColorIndex = 0; + maxColorIndex = colormapSize - 1; + } + + releaseGraphicObjectProperty(__GO_COLOR_RANGE__, colorRange, jni_int_vector, 0); + + computeMinMaxValues(values, numVertices, &minValue, &maxValue); + + /* Z-bounds are not taken into account if either of them is invalid */ + if ((zBounds[0] != 0.0 || zBounds[1] != 0.0) && (DecompositionUtils::isValid(zBounds[0]) && DecompositionUtils::isValid(zBounds[1])) && (zBounds[0] != zBounds[1])) + { + int* outsideColors; + + minValue = zBounds[0]; + maxValue = zBounds[1]; + + getGraphicObjectProperty(id, __GO_OUTSIDE_COLOR__, jni_int_vector, (void**) &outsideColors); + + if (outsideColors[0] != 0 || outsideColors[1] != 0) + { + useOutsideColors = 1; + + ColorComputer::getDirectColor((double) outsideColors[0] - 1.0, colormap, colormapSize, minColor); + ColorComputer::getDirectColor((double) outsideColors[1] - 1.0, colormap, colormapSize, maxColor); + } + } + + releaseGraphicObjectProperty(__GO_Z_BOUNDS__, zBounds, jni_double_vector, 0); + + /* To be verified (when reverse z bounds are specified) */ + if (DecompositionUtils::getAbsoluteValue(maxValue - minValue) < DecompositionUtils::getMinDoubleValue()) + { + valueRange = 1.0; + } + else + { + valueRange = maxValue - minValue; + } + + for (int i = 0; i < numVertices; i++) + { + bufferOffset = elementsSize * i; + + if (useOutsideColors == 1) + { + if (values[i] < minValue) + { + buffer[bufferOffset] = minColor[0]; + buffer[bufferOffset + 1] = minColor[1]; + buffer[bufferOffset + 2] = minColor[2]; + } + else if (values[i] > maxValue) + { + buffer[bufferOffset] = maxColor[0]; + buffer[bufferOffset + 1] = maxColor[1]; + buffer[bufferOffset + 2] = maxColor[2]; + } + else + { + /* To do: replace 0.5 by a macro-definition */ + ColorComputer::getColor(values[i], minValue, valueRange, 0.5, colormap, minColorIndex, maxColorIndex, colormapSize, &buffer[bufferOffset]); + } + } + else + { + /* To do: replace 0.5 by a macro-definition */ + ColorComputer::getColor(values[i], minValue, valueRange, 0.5, colormap, minColorIndex, maxColorIndex, colormapSize, &buffer[bufferOffset]); + } + + if (elementsSize == 4) + { + buffer[bufferOffset + 3] = 1.0; + } + } + + releaseGraphicObjectProperty(__GO_COLORMAP__, colormap, jni_double_vector, colormapSize); +} + +void MeshFecDataDecomposer::computeMinMaxValues(double* values, int numValues, double* valueMin, double* valueMax) +{ + double maxDouble = DecompositionUtils::getMaxDoubleValue(); + double tmpValueMin = maxDouble; + double tmpValueMax = -maxDouble; + double value = 0.; + + for (int i = 0; i < numValues; i++) + { + value = values[i]; + + if (value < tmpValueMin) + { + tmpValueMin = value; + } + + if (value > tmpValueMax) + { + tmpValueMax = value; + } + } + + *valueMin = tmpValueMin; + *valueMax = tmpValueMax; +} + +int MeshFecDataDecomposer::getIndicesSize(int id) +{ + int numIndices = 0; + int* piNumIndices = &numIndices; + int nVertex = 0; + int* piNVertex = &nVertex; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_INDICES__, jni_int, (void**) &piNumIndices); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__, jni_int, (void**) &piNVertex); + + return 3 * (nVertex - 2) * numIndices; +} + +int MeshFecDataDecomposer::fillIndices(int id, int* buffer, int bufferLength, int logMask) +{ + double* coordinates = NULL; + double* values = NULL; + + int numIndices = 0; + int* piNumIndices = &numIndices; + int numVertices = 0; + int* piNumVertices = &numVertices; + int nVertex = 0; + int* piNVertex = &nVertex; + + int* triangleIndices = NULL; + + int v0 = 0; + int v1 = 0; + int v2 = 0; + int bufferOffset = 0; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_INDICES__, jni_int, (void**) &piNumIndices); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES__, jni_int, (void**) &piNumVertices); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__, jni_int, (void**) &piNVertex); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_COORDINATES__, jni_double_vector, (void**) &coordinates); + getGraphicObjectProperty(id, __GO_DATA_MODEL_VALUES__, jni_double_vector, (void**) &values); + + /* 0 facets */ + if (numIndices == 0 || numVertices < 3) + { + return 0; + } + + getGraphicObjectProperty(id, __GO_DATA_MODEL_INDICES__, jni_int_vector, (void**) &triangleIndices); + + for (int i = 0; i < numIndices; i++) + { + v0 = triangleIndices[nVertex * i]; + for (unsigned int j = 1; j < nVertex - 1; ++j) + { + v1 = triangleIndices[nVertex * i + j]; + v2 = triangleIndices[nVertex * i + j + 1]; + + if (areFaceIndicesValid(numVertices, v0, v1, v2) && + areFaceVerticesValid(coordinates, v0, v1, v2, logMask) && + areFaceValuesValid(values, v0, v1, v2)) + { + buffer[bufferOffset] = v0; + buffer[bufferOffset + 1] = v1; + buffer[bufferOffset + 2] = v2; + bufferOffset += 3; + } + } + } + + return bufferOffset; +} + +int MeshFecDataDecomposer::areFaceVerticesValid(double* coordinates, int v0, int v1, int v2, int logMask) +{ + double vertex0[3]; + double vertex1[3]; + double vertex2[3]; + + getVertexCoordinates(coordinates, v0, vertex0); + getVertexCoordinates(coordinates, v1, vertex1); + getVertexCoordinates(coordinates, v2, vertex2); + + if (DecompositionUtils::isValid(vertex0[0], vertex0[1], vertex0[2]) && + DecompositionUtils::isLogValid(vertex0[0], vertex0[1], vertex0[2], logMask) && + DecompositionUtils::isValid(vertex1[0], vertex1[1], vertex1[2]) && + DecompositionUtils::isLogValid(vertex1[0], vertex1[1], vertex1[2], logMask) && + DecompositionUtils::isValid(vertex2[0], vertex2[1], vertex2[2]) && + DecompositionUtils::isLogValid(vertex2[0], vertex2[1], vertex2[2], logMask)) + { + return 1; + } + + return 0; +} + +int MeshFecDataDecomposer::areSegmentVerticesValid(double* coordinates, int v0, int v1, int logMask) +{ + double vertex0[3]; + double vertex1[3]; + + getVertexCoordinates(coordinates, v0, vertex0); + getVertexCoordinates(coordinates, v1, vertex1); + + if (DecompositionUtils::isValid(vertex0[0], vertex0[1], vertex0[2]) && + DecompositionUtils::isLogValid(vertex0[0], vertex0[1], vertex0[2], logMask) && + DecompositionUtils::isValid(vertex1[0], vertex1[1], vertex1[2]) && + DecompositionUtils::isLogValid(vertex1[0], vertex1[1], vertex1[2], logMask)) + { + return 1; + } + + return 0; +} + +int MeshFecDataDecomposer::areFaceValuesValid(double* values, int v0, int v1, int v2) +{ + if (DecompositionUtils::isValid(values[v0], values[v1], values[v2])) + { + return 1; + } + + return 0; +} + +int MeshFecDataDecomposer::areSegmentValuesValid(double* values, int v0, int v1) +{ + if (DecompositionUtils::isValid(values[v0], values[v1])) + { + return 1; + } + + return 0; +} + +int MeshFecDataDecomposer::areFaceIndicesValid(int numVertices, int v0, int v1, int v2) +{ + if (v0 < 0 || v0 >= numVertices || v1 < 0 || v1 >= numVertices || v2 < 0 || v2 >= numVertices) + { + return 0; + } + + return 1; +} + +int MeshFecDataDecomposer::areSegmentIndicesValid(int numVertices, int v0, int v1) +{ + if (v0 < 0 || v0 >= numVertices || v1 < 0 || v1 >= numVertices) + { + return 0; + } + + return 1; +} + + +void MeshFecDataDecomposer::getVertexCoordinates(double* coordinates, int index, double* vertexCoordinates) +{ + vertexCoordinates[0] = coordinates[3 * index]; + vertexCoordinates[1] = coordinates[3 * index + 1]; + vertexCoordinates[2] = coordinates[3 * index + 2]; +} + +int MeshFecDataDecomposer::getWireIndicesSize(int id) +{ + int numTriangles = 0; + int* piNumTriangles = &numTriangles; + int nVertex = 0; + int* piNVertex = &nVertex; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_INDICES__, jni_int, (void**) &piNumTriangles); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__, jni_int, (void**) &piNVertex); + + return 2 * nVertex * numTriangles; +} + +/* + * To do: output shared edges once instead of twice (once per adjacent face). + */ +int MeshFecDataDecomposer::fillWireIndices(int id, int* buffer, int bufferLength, int logMask) +{ + double* coordinates = NULL; + double* values = NULL; + + int numVertices = 0; + int* piNumVertices = &numVertices; + int numIndices = 0; + int* piNumIndices = &numIndices; + int* triangleIndices = NULL; + int nVertex = 0; + int* piNVertex = &nVertex; + + int v0 = 0; + int v1 = 0; + int v2 = 0; + int bufferOffset = 0; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_INDICES__, jni_int, (void**) &piNumIndices); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES__, jni_int, (void**) &piNumVertices); + getGraphicObjectProperty(id, __GO_DATA_MODEL_COORDINATES__, jni_double_vector, (void**) &coordinates); + getGraphicObjectProperty(id, __GO_DATA_MODEL_VALUES__, jni_double_vector, (void**) &values); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__, jni_int, (void**) &piNVertex); + + /* 0 segments */ + if (numIndices == 0 || numVertices < 3) + { + return 0; + } + + getGraphicObjectProperty(id, __GO_DATA_MODEL_INDICES__, jni_int_vector, (void**) &triangleIndices); + + for (int i = 0; i < numIndices; i++) + { + for (unsigned int j = 0; j < nVertex - 1; ++j) + { + v0 = triangleIndices[nVertex * i + j]; + v1 = triangleIndices[nVertex * i + j + 1]; + if (areSegmentIndicesValid(numVertices, v0, v1) && + areSegmentVerticesValid(coordinates, v0, v1, logMask) && + areSegmentValuesValid(values, v0, v1)) + { + buffer[bufferOffset] = v0; + buffer[bufferOffset + 1] = v1; + bufferOffset += 2; + } + } + + v0 = triangleIndices[nVertex * i + nVertex - 1]; + v1 = triangleIndices[nVertex * i]; + if (areSegmentIndicesValid(numVertices, v0, v1) && + areSegmentVerticesValid(coordinates, v0, v1, logMask) && + areSegmentValuesValid(values, v0, v1)) + { + buffer[bufferOffset] = v0; + buffer[bufferOffset + 1] = v1; + bufferOffset += 2; + } + } + + return bufferOffset; +} + diff --git a/modules/graphic_objects/src/cpp/NgonData.cpp b/modules/graphic_objects/src/cpp/NgonData.cpp new file mode 100755 index 000000000..7cfd398cd --- /dev/null +++ b/modules/graphic_objects/src/cpp/NgonData.cpp @@ -0,0 +1,106 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "NgonData.hxx" +#include "DataProperties.hxx" + +extern "C" { +#include "BOOL.h" + +#include <string.h> + +#include "graphicObjectProperties.h" + +} + +NgonData::NgonData(void) +{ + numGons = 0; + numVerticesPerGon = 0; +} + +/* To be implemented */ +NgonData::~NgonData(void) +{ + +} + +int NgonData::getPropertyFromName(int propertyName) +{ + switch (propertyName) + { + case __GO_DATA_MODEL_NUM_GONS__ : + return NUM_GONS; + case __GO_DATA_MODEL_NUM_VERTICES_PER_GON__ : + return NUM_VERTICES_PER_GON; + default : + return Data3D::getPropertyFromName(propertyName); + } + +} + +int NgonData::setDataProperty(int property, void const* value, int numElements) +{ + + if (property == NUM_GONS) + { + setNumGons(*((int*) value)); + } + else if (property == NUM_VERTICES_PER_GON) + { + setNumVerticesPerGon(*((int*) value)); + } + else + { + return Data3D::setDataProperty(property, value, numElements); + } + + return 1; +} + +void NgonData::getDataProperty(int property, void **_pvData) +{ + if (property == NUM_GONS) + { + ((int *) *_pvData)[0] = getNumGons(); + } + else if (property == NUM_VERTICES_PER_GON) + { + ((int *) *_pvData)[0] = getNumVerticesPerGon(); + } + else + { + Data3D::getDataProperty(property, _pvData); + } + +} + +void NgonData::setNumGons(int numGons) +{ + this->numGons = numGons; +} + +int NgonData::getNumGons(void) +{ + return numGons; +} + +void NgonData::setNumVerticesPerGon(int numVerticesPerGon) +{ + this->numVerticesPerGon = numVerticesPerGon; +} + +int NgonData::getNumVerticesPerGon(void) +{ + return numVerticesPerGon; +} + diff --git a/modules/graphic_objects/src/cpp/NgonGeneralData.cpp b/modules/graphic_objects/src/cpp/NgonGeneralData.cpp new file mode 100755 index 000000000..b8ea011b5 --- /dev/null +++ b/modules/graphic_objects/src/cpp/NgonGeneralData.cpp @@ -0,0 +1,304 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <iostream> + +#include "NgonGeneralData.hxx" +#include "DataProperties.hxx" + +extern "C" { +#include "BOOL.h" + +#include <string.h> + +#include "graphicObjectProperties.h" +} + +NgonGeneralData::NgonGeneralData(void) +{ + numGons = 0; + numVerticesPerGon = 0; + + coordinates = NULL; + + colorValues = NULL; + numColors = 0; +} + +NgonGeneralData::~NgonGeneralData(void) +{ + if (numGons * numVerticesPerGon > 0) + { + delete [] coordinates; + } + + if (numColors > 0) + { + delete [] colorValues; + } +} + +int NgonGeneralData::getPropertyFromName(int propertyName) +{ + switch (propertyName) + { + case __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ : + return NUM_ELEMENTS_ARRAY; + case __GO_DATA_MODEL_COORDINATES__ : + return COORDINATES; + case __GO_DATA_MODEL_X__ : + return X_COORDINATES; + case __GO_DATA_MODEL_Y__ : + return Y_COORDINATES; + case __GO_DATA_MODEL_Z__ : + return Z_COORDINATES; + case __GO_DATA_MODEL_COLORS__ : + return COLORS; + case __GO_DATA_MODEL_NUM_COLORS__ : + return NUM_COLORS; + default : + return NgonData::getPropertyFromName(propertyName); + } +} + +int NgonGeneralData::setDataProperty(int property, void const* value, int numElements) +{ + switch (property) + { + case NUM_ELEMENTS_ARRAY : + return setNumElementsArray((int const*) value); + case COORDINATES : + setData((double const*) value, numElements); + break; + case X_COORDINATES : + setDataX((double const*) value, numElements); + break; + case Y_COORDINATES : + setDataY((double const*) value, numElements); + break; + case Z_COORDINATES : + setDataZ((double const*) value, numElements); + break; + case COLORS : + setColors((double const*) value, numElements); + break; + default : + return NgonData::setDataProperty(property, value, numElements); + } + + return 1; +} + +void NgonGeneralData::getDataProperty(int property, void **_pvData) +{ + switch (property) + { + case NUM_ELEMENTS_ARRAY : + /* Not implemented yet */ + // getNumElementsArray(); + break; + case COORDINATES : + *_pvData = getData(); + break; + case X_COORDINATES : + *_pvData = getDataX(); + break; + case Y_COORDINATES : + *_pvData = getDataY(); + break; + case Z_COORDINATES : + *_pvData = getDataZ(); + break; + case COLORS : + *_pvData = getColors(); + break; + case NUM_COLORS : + ((int *) *_pvData)[0] = getNumColors(); + break; + default : + NgonData::getDataProperty(property, _pvData); + } +} + +double* NgonGeneralData::getData() +{ + return coordinates; +} + +double* NgonGeneralData::getDataX(void) +{ + return coordinates; +} + +double* NgonGeneralData::getDataY(void) +{ + return &coordinates[numGons * numVerticesPerGon]; +} + +double* NgonGeneralData::getDataZ(void) +{ + return &coordinates[2 * numGons * numVerticesPerGon]; +} + +/* + * Only partially implemented + * Must be made consistent with setNumElementsArray + */ +void NgonGeneralData::setData(double const* data, int numElements) +{ + if (numElements != numGons * numVerticesPerGon) + { + delete [] coordinates; + + numVerticesPerGon = numElements / numGons; + coordinates = new double[3 * numElements]; + } + + memcpy(coordinates, data, 3 * numElements * sizeof(double)); +} + +void NgonGeneralData::setDataX(double const* data, int numElements) +{ + double* xCoordinates = NULL; + + xCoordinates = coordinates; + memcpy(xCoordinates, data, numElements * sizeof(double)); +} + +void NgonGeneralData::setDataY(double const* data, int numElements) +{ + double* yCoordinates; + + yCoordinates = &coordinates[numGons * numVerticesPerGon]; + memcpy(yCoordinates, data, numElements * sizeof(double)); +} + +void NgonGeneralData::setDataZ(double const* data, int numElements) +{ + double* zCoordinates = NULL; + + zCoordinates = &coordinates[2 * numGons * numVerticesPerGon]; + memcpy(zCoordinates, data, numElements * sizeof(double)); +} + +int NgonGeneralData::getNumElements(void) +{ + return numGons; +} + +int NgonGeneralData::setNumElementsArray(int const* numElementsArray) +{ + double* newCoordinates = NULL; + double* newColorValues = NULL; + int result = 1; + + /* Test whether the number of colors is valid */ + if ((numElementsArray[2] != numElementsArray[0]*numElementsArray[1]) && + (numElementsArray[2] != numElementsArray[0]) && + (numElementsArray[2] != 0)) + { + return 0; + } + + if (numGons * numVerticesPerGon != numElementsArray[0]*numElementsArray[1]) + { + try + { + newCoordinates = new double[3 * numElementsArray[0]*numElementsArray[1]]; + } + catch (const std::exception& e) + { + e.what(); + return 0; + } + + result = 1; + } + + if (numElementsArray[2] != this->numColors) + { + if (numElementsArray[2] > 0) + { + try + { + newColorValues = new double[numElementsArray[2]]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + } + + } + + if (result == 1) + { + if (newCoordinates != NULL) + { + if (numGons * numVerticesPerGon > 0) + { + delete [] coordinates; + } + + coordinates = newCoordinates; + + numGons = numElementsArray[0]; + numVerticesPerGon = numElementsArray[1]; + } + + if (newColorValues != NULL || numElementsArray[2] == 0) + { + if (this->numColors > 0) + { + delete [] colorValues; + } + + colorValues = newColorValues; + this->numColors = numElementsArray[2]; + } + } + else + { + if (newCoordinates != NULL) + { + delete [] newCoordinates; + } + + if (newColorValues != NULL) + { + delete [] newColorValues; + } + } + + return result; +} + +double* NgonGeneralData::getColors(void) +{ + return colorValues; +} + +void NgonGeneralData::setColors(double const* colors, int numElements) +{ + if (numElements > numColors) + { + return; + } + memcpy(colorValues, colors, numElements * sizeof(double)); +} + +int NgonGeneralData::getNumColors(void) +{ + return numColors; +} + diff --git a/modules/graphic_objects/src/cpp/NgonGridData.cpp b/modules/graphic_objects/src/cpp/NgonGridData.cpp new file mode 100755 index 000000000..4085b26ff --- /dev/null +++ b/modules/graphic_objects/src/cpp/NgonGridData.cpp @@ -0,0 +1,387 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "NgonGridData.hxx" + +extern "C" { +#include <string.h> +#include <stdlib.h> + +#include "graphicObjectProperties.h" +} + +NgonGridData::NgonGridData(void) +{ + numGons = 0; + + /* Grid: must be set to 4 */ + numVerticesPerGon = 4; + + xCoordinates = NULL; + yCoordinates = NULL; + zCoordinates = NULL; + + xSize = 0; + ySize = 0; + + xDimensions[0] = 0; + xDimensions[1] = 0; + + yDimensions[0] = 0; + yDimensions[1] = 0; + + /* Set to 0 as a default */ + zCoordinatesShift = 0.0; +} + +NgonGridData::~NgonGridData(void) +{ + if (xSize > 0) + { + delete [] xCoordinates; + } + + if (ySize > 0) + { + delete [] yCoordinates; + } + + if (xSize > 0 && ySize > 0) + { + delete [] zCoordinates; + } +} + +int NgonGridData::getPropertyFromName(int propertyName) +{ + switch (propertyName) + { + case __GO_DATA_MODEL_NUM_X__ : + return NUM_X; + case __GO_DATA_MODEL_NUM_Y__ : + return NUM_Y; + case __GO_DATA_MODEL_NUM_Z__ : + return NUM_Z; + case __GO_DATA_MODEL_X_DIMENSIONS__ : + return X_DIMENSIONS; + case __GO_DATA_MODEL_Y_DIMENSIONS__ : + return Y_DIMENSIONS; + case __GO_DATA_MODEL_GRID_SIZE__ : + return GRID_SIZE; + case __GO_DATA_MODEL_X__ : + return X_COORDINATES; + case __GO_DATA_MODEL_Y__ : + return Y_COORDINATES; + case __GO_DATA_MODEL_Z__ : + return Z_COORDINATES; + case __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ : + return Z_COORDINATES_SHIFT; + default : + return NgonData::getPropertyFromName(propertyName); + } + +} + +int NgonGridData::setDataProperty(int property, void const* value, int numElements) +{ + switch (property) + { + case GRID_SIZE : + return setGridSize((int const*) value); + case X_COORDINATES : + setDataX((double const*) value, numElements); + break; + case Y_COORDINATES : + setDataY((double const*) value, numElements); + break; + case Z_COORDINATES : + setDataZ((double const*) value, numElements); + break; + case Z_COORDINATES_SHIFT : + setZCoordinatesShift((double const*) value); + break; + default : + return NgonData::setDataProperty(property, value, numElements); + } + + return 1; +} + +void NgonGridData::getDataProperty(int property, void **_pvData) +{ + switch (property) + { + case NUM_X: + ((int *) *_pvData)[0] = getNumX(); + break; + case NUM_Y : + ((int *) *_pvData)[0] = getNumY(); + break; + case NUM_Z : + ((int *) *_pvData)[0] = getNumZ(); + break; + case X_DIMENSIONS : + *_pvData = getXDimensions(); + break; + case Y_DIMENSIONS : + *_pvData = getYDimensions(); + break; + case X_COORDINATES : + *_pvData = getDataX(); + break; + case Y_COORDINATES : + *_pvData = getDataY(); + break; + case Z_COORDINATES : + *_pvData = getDataZ(); + break; + case Z_COORDINATES_SHIFT : + ((double *) *_pvData)[0] = getZCoordinatesShift(); + break; + default : + NgonData::getDataProperty(property, _pvData); + } +} + +int NgonGridData::setGridSize(int const* gridSize) +{ + int newXSize = 0; + int newYSize = 0; + int xModified = 0; + int yModified = 0; + int zModified = 0; + int result = 0; + + double* newXCoordinates = NULL; + double* newYCoordinates = NULL; + double* newZCoordinates = NULL; + + result = 1; + + xModified = 0; + yModified = 0; + zModified = 0; + + if ((gridSize[0] != 1) && (gridSize[1] != 1)) + { + return 0; + } + + if ((gridSize[2] != 1) && (gridSize[3] != 1)) + { + return 0; + } + + newXSize = gridSize[0] * gridSize[1]; + newYSize = gridSize[2] * gridSize[3]; + + + if (newXSize != xSize) + { + xModified = 1; + + try + { + newXCoordinates = new double[newXSize]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + } + + if (newYSize != ySize) + { + yModified = 1; + + try + { + newYCoordinates = new double[newYSize]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + } + + if (newXSize * newYSize != xSize * ySize) + { + zModified = 1; + + try + { + newZCoordinates = new double[newXSize * newYSize]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + } + + if (result) + { + if (xModified) + { + if (xSize > 0) + { + delete [] xCoordinates; + } + + xCoordinates = newXCoordinates; + xSize = newXSize; + } + + xDimensions[0] = gridSize[0]; + xDimensions[1] = gridSize[1]; + + if (yModified) + { + if (ySize > 0) + { + delete [] yCoordinates; + } + + yCoordinates = newYCoordinates; + ySize = newYSize; + } + + yDimensions[0] = gridSize[2]; + yDimensions[1] = gridSize[3]; + + if (zModified) + { + if (xSize * ySize > 0) + { + delete [] zCoordinates; + } + + zCoordinates = newZCoordinates; + + numGons = (xSize - 1) * (ySize - 1); + } + + } + else + { + /* Failed allocation(s) */ + + if (xModified && (newXCoordinates != NULL)) + { + delete [] newXCoordinates; + } + + if (yModified && (newYCoordinates != NULL)) + { + delete [] newYCoordinates; + } + + if (zModified && (newZCoordinates != NULL)) + { + delete [] newZCoordinates; + } + + } + + return result; +} + +int NgonGridData::getNumX(void) +{ + return xSize; +} + +int NgonGridData::getNumY(void) +{ + return ySize; +} + +int NgonGridData::getNumZ(void) +{ + return xSize * ySize; +} + +int* NgonGridData::getXDimensions(void) +{ + return xDimensions; +} + +int* NgonGridData::getYDimensions(void) +{ + return yDimensions; +} + +void NgonGridData::setDataX(double const* data, int numElements) +{ + if (numElements > xSize) + { + return; + } + + for (int i = 0; i < numElements; i++) + { + xCoordinates[i] = data[i]; + } +} + +void NgonGridData::setDataY(double const* data, int numElements) +{ + if (numElements > ySize) + { + return; + } + + for (int i = 0; i < numElements; i++) + { + yCoordinates[i] = data[i]; + } +} + +void NgonGridData::setDataZ(double const* data, int numElements) +{ + if (numElements > xSize * ySize) + { + return; + } + + for (int i = 0; i < numElements; i++) + { + zCoordinates[i] = data[i]; + } +} + +void NgonGridData::setZCoordinatesShift(double const* data) +{ + zCoordinatesShift = *data; +} + +double* NgonGridData::getDataX(void) +{ + return xCoordinates; +} + +double* NgonGridData::getDataY(void) +{ + return yCoordinates; +} + +double* NgonGridData::getDataZ(void) +{ + return zCoordinates; +} + +double NgonGridData::getZCoordinatesShift(void) +{ + return zCoordinatesShift; +} diff --git a/modules/graphic_objects/src/cpp/NgonGridDataDecomposer.cpp b/modules/graphic_objects/src/cpp/NgonGridDataDecomposer.cpp new file mode 100755 index 000000000..4f32ff480 --- /dev/null +++ b/modules/graphic_objects/src/cpp/NgonGridDataDecomposer.cpp @@ -0,0 +1,701 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "ColorComputer.hxx" +#include "DecompositionUtils.hxx" +#include "NgonGridDataDecomposer.hxx" + +extern "C" +{ +#include <stdlib.h> + +#include "getGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +} + +NgonGridDataDecomposer* NgonGridDataDecomposer::decomposer = NULL; + +int NgonGridDataDecomposer::getDataSize(int id) +{ + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + +#if PER_VERTEX_VALUES + return numX * numY; +#else + return 4 * (numX - 1) * (numY - 1); +#endif +} + +void NgonGridDataDecomposer::fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask) +{ + double* x = NULL; + double* y = NULL; + double zShift = 0.; + double* pdZShift = &zShift; + + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + NgonGridDataDecomposer* decomposer = get(); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_X__, jni_double_vector, (void**) &x); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y__, jni_double_vector, (void**) &y); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z_COORDINATES_SHIFT__, jni_double, (void**) &pdZShift); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + decomposer->fillGridVertices(buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask, x, y, &zShift, numX, numY); +} + +void NgonGridDataDecomposer::fillGridVertices(float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask, + double* x, double* y, double* z, int numX, int numY) +{ + double xi = 0.; + double yj = 0.; + double zij = 0.; + + int bufferOffset = 0; + +#if PER_VERTEX_VALUES + for (int j = 0; j < numY; j++) + { + yj = y[j]; + + if (coordinateMask & 0x2) + { + if (logMask & 0x2) + { + yj = DecompositionUtils::getLog10Value(yj); + } + } + + for (int i = 0; i < numX; i++) + { + xi = x[i]; + bufferOffset = elementsSize * (numX * j + i); + + if (coordinateMask & 0x1) + { + if (logMask & 0x1) + { + xi = DecompositionUtils::getLog10Value(xi); + } + + buffer[bufferOffset] = xi * scale[0] + translation[0]; + } + + if (coordinateMask & 0x2) + { + buffer[bufferOffset + 1] = yj * scale[1] + translation[1]; + } + + if (coordinateMask & 0x4) + { + zij = getZCoordinate(z, numX, numY, i, j, logMask & 0x4); + + buffer[bufferOffset + 2] = zij * scale[2] + translation[2]; + } + + if (elementsSize == 4 && (coordinateMask & 0x8)) + { + buffer[bufferOffset + 3] = 1.0; + } + } + } +#else + + double yjp1 = 0.; + double xip1 = 0.; + + bufferOffset = 0; + + for (int j = 0; j < numY - 1; j++) + { + double ycoords[4]; + int yindices[4]; + + yj = y[j]; + yjp1 = y[j + 1]; + + if (coordinateMask & 0x2) + { + if (logMask & 0x2) + { + yj = DecompositionUtils::getLog10Value(yj); + yjp1 = DecompositionUtils::getLog10Value(yjp1); + } + } + + ycoords[0] = yj; + ycoords[1] = yj; + ycoords[2] = yjp1; + ycoords[3] = yjp1; + + yindices[0] = j; + yindices[1] = j; + yindices[2] = j + 1; + yindices[3] = j + 1; + + for (int i = 0; i < numX - 1; i++) + { + double xcoords[4]; + int xindices[4]; + + xi = x[i]; + xip1 = x[i + 1]; + + if (logMask & 0x1) + { + xi = DecompositionUtils::getLog10Value(xi); + xip1 = DecompositionUtils::getLog10Value(xip1); + } + + xcoords[0] = xi; + xcoords[1] = xip1; + xcoords[2] = xi; + xcoords[3] = xip1; + + xindices[0] = i; + xindices[1] = i + 1; + xindices[2] = i; + xindices[3] = i + 1; + + /* + * If color values are defined per facet, we must duplicate shared vertices in order + * to be able to render flat-shading facets, as the renderer uses smooth shading as a default. + * Reducing duplication would require being able to enable flat shading at render time. + */ + for (int k = 0; k < 4; k++) + { + if (coordinateMask & 0x1) + { + buffer[bufferOffset] = (float)(xcoords[k] * scale[0] + translation[0]); + } + + if (coordinateMask & 0x2) + { + buffer[bufferOffset + 1] = (float)(ycoords[k] * scale[1] + translation[1]); + } + + if (coordinateMask & 0x4) + { + zij = getZCoordinate(z, numX, numY, xindices[k], yindices[k], logMask & 0x4); + + buffer[bufferOffset + 2] = (float)(zij * scale[2] + translation[2]); + } + + if (elementsSize == 4 && (coordinateMask & 0x8)) + { + buffer[bufferOffset + 3] = 1.0; + } + + bufferOffset += elementsSize; + } + + } + + } + +#endif + +} + +void NgonGridDataDecomposer::fillNormalizedZGridColors(float* buffer, int bufferLength, int elementsSize, double* colormap, int colormapSize, + double* z, int numX, int numY) +{ + double zMin = 0.; + double zMax = 0.; + double zRange = 0.; + double minDoubleValue = 0.; + + int bufferOffset = 0; + + computeMinMaxZValues(z, numX, numY, &zMin, &zMax); + + minDoubleValue = DecompositionUtils::getMinDoubleValue(); + + /* To be verified */ + if ((zMax - zMin) < minDoubleValue) + { + zRange = 1.0; + } + else + { + zRange = zMax - zMin; + } + +#if PER_VERTEX_VALUES + for (int j = 0; j < numY; j++) + { + for (int i = 0; i < numX; i++) + { + int currentPointIndex = getPointIndex(numX, numY, i, j); + + ColorComputer::getColor(z[currentPointIndex], zMin, zRange, Z_COLOR_OFFSET, colormap, colormapSize, &buffer[bufferOffset]); + + if (elementsSize == 4) + { + buffer[bufferOffset + 3] = 1.0; + } + + bufferOffset += elementsSize; + } + } +#else + for (int j = 0; j < numY - 1; j++) + { + for (int i = 0; i < numX - 1; i++) + { + double avgz; + float facetColor[3]; + + avgz = computeFacetAverageZValue(z, numX, numY, i, j); + + ColorComputer::getColor(avgz, zMin, zRange, Z_COLOR_OFFSET, colormap, colormapSize, facetColor); + + writeFacetColorToBuffer(buffer, bufferOffset, facetColor, elementsSize); + + bufferOffset += 4 * elementsSize; + } + } +#endif + +} + +void NgonGridDataDecomposer::fillDirectGridColors(float* buffer, int bufferLength, int elementsSize, double* colormap, int colormapSize, + double* z, int numX, int numY) +{ + int currentPointIndex = 0; + int bufferOffset = 0; + +#if PER_VERTEX_VALUES + for (int j = 0; j < numY; j++) + { + for (int i = 0; i < numX; i++) + { + currentPointIndex = getPointIndex(numX, numY, i, j); + + ColorComputer::getDirectColor(z[currentPointIndex] - 1.0, colormap, colormapSize, &buffer[bufferOffset]); + + if (elementsSize == 4) + { + buffer[bufferOffset + 3] = 1.0; + } + + bufferOffset += elementsSize; + } + } +#else + for (int j = 0; j < numY - 1; j++) + { + for (int i = 0; i < numX - 1; i++) + { + float facetColor[3]; + + currentPointIndex = getPointIndex(numX, numY, i, j); + + ColorComputer::getDirectColor(z[currentPointIndex] - 1.0, colormap, colormapSize, facetColor); + + writeFacetColorToBuffer(buffer, bufferOffset, facetColor, elementsSize); + + bufferOffset += 4 * elementsSize; + } + } +#endif + +} + +void NgonGridDataDecomposer::getFacetCoordinates(double* x, double* y, double*z, int numX, int numY, int i, int j, + double vertices[4][3]) +{ + vertices[0][0] = x[i]; + vertices[0][1] = y[j]; + vertices[0][2] = getZCoordinate(z, numX, numY, i, j);; + + vertices[1][0] = x[i + 1]; + vertices[1][1] = y[j]; + vertices[1][2] = getZCoordinate(z, numX, numY, i + 1, j); + + vertices[2][0] = x[i + 1]; + vertices[2][1] = y[j + 1]; + vertices[2][2] = getZCoordinate(z, numX, numY, i + 1, j + 1); + + vertices[3][0] = x[i]; + vertices[3][1] = y[j + 1]; + vertices[3][2] = getZCoordinate(z, numX, numY, i, j + 1); +} + +double NgonGridDataDecomposer::getZCoordinate(double* z, int numX, int numY, int i, int j) +{ + return *z; +} + +double NgonGridDataDecomposer::getZCoordinate(double* z, int numX, int numY, int i, int j, int logUsed) +{ + double zij = 0.; + + if (logUsed) + { + /* If the logarithmic scale is used, add the default offset */ + zij = *z + DEFAULT_LOG_COORD_Z; + } + else + { + zij = *z; + } + + return zij; +} + +double NgonGridDataDecomposer::getValue(double* values, int numX, int numY, int i, int j) +{ + return values[numX * j + i]; +} + +int NgonGridDataDecomposer::getIndicesSize(int id) +{ + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + if (numX == 0 || numY == 0) + { + return 0; + } + + return 6 * (numX - 1) * (numY - 1); +} + + +int NgonGridDataDecomposer::fillIndices(int id, int* buffer, int bufferLength, int logMask) +{ + double* x = NULL; + double* y = NULL; + double* z = NULL; + + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + int numberIndices = 0; + + NgonGridDataDecomposer* decomposer = get(); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + /* 0 indices if 0 points */ + if (numX == 0 || numY == 0) + { + return 0; + } + + getGraphicObjectProperty(id, __GO_DATA_MODEL_X__, jni_double_vector, (void**) &x); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y__, jni_double_vector, (void**) &y); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &z); + + numberIndices = decomposer->fillTriangleIndices(buffer, bufferLength, logMask, x, y, z, z, 1, numX, numY); + + return numberIndices; +} + +/* + * To do: merge with Plot3DDecomposer::fillWireIndices, as these functions perform a lot of redundant work. + */ +int NgonGridDataDecomposer::fillTriangleIndices(int* buffer, int bufferLength, int logMask, double* x, double* y, double* z, double* values, int perNodeValues, int numX, int numY) +{ + int bufferOffset = 0; + + int currentRowValid = 0; + int nextRowValid = 0; + + int currentColumnValid = 0; + int nextColumnValid = 0; + + int currentEdgeValid = 0; + int nextEdgeValid = 0; + + int currentFacetValid = 0; + + int ij = 0; + int ip1j = 0; + int ip1jp1 = 0; + int ijp1 = 0; + + /* 0 indices if less than 2 points along either dimension */ + if (numX < 2 || numY < 2) + { + return 0; + } + + /* First row */ + currentRowValid = DecompositionUtils::isValid(y[0]); + + if (logMask & 0x2) + { + currentRowValid &= DecompositionUtils::isLogValid(y[0]); + } + + /* To do: optimize */ + for (int j = 0; j < numY - 1; j++) + { + nextRowValid = DecompositionUtils::isValid(y[j + 1]); + + if (logMask & 0x2) + { + nextRowValid &= DecompositionUtils::isLogValid(y[j + 1]); + } + + if (!currentRowValid || !nextRowValid) + { + currentRowValid = nextRowValid; + continue; + } + else + { + currentRowValid = nextRowValid; + } + + currentColumnValid = DecompositionUtils::isValid(x[0]); + + if (logMask & 0x1) + { + currentColumnValid &= DecompositionUtils::isLogValid(x[0]); + } + + ij = getPointIndex(numX, numY, 0, j); + ijp1 = getPointIndex(numX, numY, 0, j + 1); + + currentEdgeValid = isFacetEdgeValid(z, values, perNodeValues, numX, numY, 0, j, logMask & 0x4); + + for (int i = 0; i < numX - 1; i++) + { + nextColumnValid = DecompositionUtils::isValid(x[i + 1]); + + if (logMask & 0x1) + { + nextColumnValid &= DecompositionUtils::isLogValid(x[i + 1]); + } + + ip1j = getPointIndex(numX, numY, i + 1, j); + ip1jp1 = getPointIndex(numX, numY, i + 1, j + 1); + + currentFacetValid = isFacetValid(z, values, perNodeValues, numX, numY, i, j, logMask & 0x4, currentEdgeValid, &nextEdgeValid); + + if (currentColumnValid && nextColumnValid && (currentFacetValid)) + { + int facetVertexIndices[4]; + int triangleVertexIndices[6]; + int firstVertexIndex; + +#if PER_VERTEX_VALUES + facetVertexIndices[0] = ij; + facetVertexIndices[1] = ip1j; + facetVertexIndices[2] = ip1jp1; + facetVertexIndices[3] = ijp1; +#else + firstVertexIndex = getFirstVertexIndex(numX, numY, i, j); + + facetVertexIndices[0] = firstVertexIndex; + facetVertexIndices[1] = firstVertexIndex + 1; + facetVertexIndices[2] = firstVertexIndex + 3; + facetVertexIndices[3] = firstVertexIndex + 2; +#endif + + getFacetTriangles(x, y, z, numX, numY, i, j, facetVertexIndices, triangleVertexIndices); + + buffer[bufferOffset] = triangleVertexIndices[0]; + buffer[bufferOffset + 1] = triangleVertexIndices[1]; + buffer[bufferOffset + 2] = triangleVertexIndices[2]; + buffer[bufferOffset + 3] = triangleVertexIndices[3]; + buffer[bufferOffset + 4] = triangleVertexIndices[4]; + buffer[bufferOffset + 5] = triangleVertexIndices[5]; + + bufferOffset += 6; + } + + currentColumnValid = nextColumnValid; + + currentEdgeValid = nextEdgeValid; + + ij = ip1j; + ijp1 = ip1jp1; + } + } + + return bufferOffset; +} + +void NgonGridDataDecomposer::getFacetTriangles(double* x, double* y, double* z, int numX, int numY, int i, int j, + int* facetVertexIndices, int* triangleVertexIndices) +{ + /* Facets are plane: they are all decomposed the same way */ + triangleVertexIndices[0] = facetVertexIndices[0]; + triangleVertexIndices[1] = facetVertexIndices[1]; + triangleVertexIndices[2] = facetVertexIndices[2]; + triangleVertexIndices[3] = facetVertexIndices[0]; + triangleVertexIndices[4] = facetVertexIndices[2]; + triangleVertexIndices[5] = facetVertexIndices[3]; +} + +int NgonGridDataDecomposer::isFacetValid(double* z, double* values, int perNodeValues, int numX, int numY, int i, int j, int logUsed, int currentEdgeValid, int* nextEdgeValid) +{ + *nextEdgeValid = isFacetEdgeValid(z, values, perNodeValues, numX, numY, i + 1, j, logUsed); + + if (currentEdgeValid && *nextEdgeValid) + { + return 1; + } + else + { + return 0; + } +} + +int NgonGridDataDecomposer::isFacetEdgeValid(double* z, double* values, int perNodeValues, int numX, int numY, int i, int j, int logUsed) +{ + double zij = 0.; + double zijp1 = 0.; + + int lowerZValid = 0; + int upperZValid = 0; + + zij = getZCoordinate(z, numX, numY, i, j); + zijp1 = getZCoordinate(z, numX, numY, i, j + 1); + + lowerZValid = DecompositionUtils::isValid(zij); + upperZValid = DecompositionUtils::isValid(zijp1); + + if (logUsed) + { + lowerZValid &= DecompositionUtils::isLogValid(zij); + upperZValid &= DecompositionUtils::isLogValid(zijp1); + } + + if (lowerZValid && upperZValid) + { + return 1; + } + else + { + return 0; + } +} + +int NgonGridDataDecomposer::getPointIndex(int numX, int numY, int i, int j) +{ + return numX * j + i; +} + +void NgonGridDataDecomposer::computeMinMaxZValues(double* z, int numX, int numY, double* zMin, double* zMax) +{ + double maxDouble = 0; + double tmpZMin = 0; + double tmpZMax = 0; + double zi = 0; + + int currentPoint = 0; + + maxDouble = DecompositionUtils::getMaxDoubleValue(); + + tmpZMin = maxDouble; + tmpZMax = -maxDouble; + + for (int j = 0; j < numY; j++) + { + for (int i = 0; i < numX; i++) + { + currentPoint = getPointIndex(numX, numY, i, j); + zi = z[currentPoint]; + + if (DecompositionUtils::isValid(zi)) + { + if (zi < tmpZMin) + { + tmpZMin = zi; + } + + if (zi > tmpZMax) + { + tmpZMax = zi; + } + } + } + } + + *zMin = tmpZMin; + *zMax = tmpZMax; +} + +double NgonGridDataDecomposer::computeFacetAverageZValue(double* z, int numX, int numY, int i, int j) +{ + double avgz = 0.; + int pointIndex = 0; + + avgz = 0.0; + pointIndex = getPointIndex(numX, numY, i, j); + avgz += z[pointIndex]; + pointIndex = getPointIndex(numX, numY, i + 1, j); + avgz += z[pointIndex]; + pointIndex = getPointIndex(numX, numY, i, j + 1); + avgz += z[pointIndex]; + pointIndex = getPointIndex(numX, numY, i + 1, j + 1); + avgz += z[pointIndex]; + + avgz *= 0.25; + + return avgz; +} + +void NgonGridDataDecomposer::writeFacetColorToBuffer(float* buffer, int bufferOffset, float* color, int elementsSize, bool hasTransparency) +{ + for (int k = 0; k < 4; k++) + { + buffer[bufferOffset] = color[0]; + buffer[bufferOffset + 1] = color[1]; + buffer[bufferOffset + 2] = color[2]; + + if (elementsSize == 4) + { + if (hasTransparency) + { + buffer[bufferOffset + 3] = color[3]; + } + else + { + buffer[bufferOffset + 3] = 1.0; + } + } + + bufferOffset += elementsSize; + } +} + +int NgonGridDataDecomposer::getFirstVertexIndex(int numX, int numY, int i, int j) +{ + return 4 * j * (numX - 1) + 4 * i; +} + diff --git a/modules/graphic_objects/src/cpp/NgonGridGrayplotDataDecomposer.cpp b/modules/graphic_objects/src/cpp/NgonGridGrayplotDataDecomposer.cpp new file mode 100755 index 000000000..c071a1afd --- /dev/null +++ b/modules/graphic_objects/src/cpp/NgonGridGrayplotDataDecomposer.cpp @@ -0,0 +1,223 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "ColorComputer.hxx" +#include "DecompositionUtils.hxx" +#include "NgonGridGrayplotDataDecomposer.hxx" + +extern "C" +{ +#include <stdlib.h> +#include <string.h> + +#include "getGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +} + +NgonGridGrayplotDataDecomposer* NgonGridGrayplotDataDecomposer::decomposer = NULL; + +/* + * To do: allowing either per-vertex or per-facet colors + */ +void NgonGridGrayplotDataDecomposer::fillColors(int id, float* buffer, int bufferLength, int elementsSize) +{ + int parentFigure = 0; + int* pparentFigure = &parentFigure; + int parent = 0; + int* pparent = &parent; + + double* z = NULL; + double* colormap = NULL; + + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + int colormapSize = 0; + int* piColormapSize = &colormapSize; + int dataMapping = 0; + int* piDataMapping = &dataMapping; + + NgonGridGrayplotDataDecomposer* decomposer = get(); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &z); + + parent = getParentObject(id); + + /* Temporary: to avoid getting a null parent_figure property when the object is built */ + if (parent == 0) + { + return; + } + + getGraphicObjectProperty(id, __GO_PARENT_FIGURE__, jni_int, (void**) &pparentFigure); + + if (parentFigure == 0) + { + return; + } + + getGraphicObjectProperty(parentFigure, __GO_COLORMAP__, jni_double_vector, (void**) &colormap); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP_SIZE__, jni_int, (void**) &piColormapSize); + + getGraphicObjectProperty(id, __GO_DATA_MAPPING__, jni_int, (void**) &piDataMapping); + + if (dataMapping == 0) + { + decomposer->fillNormalizedZGridColors(buffer, bufferLength, elementsSize, colormap, colormapSize, z, numX, numY); + } + else if (dataMapping == 1) + { + decomposer->fillDirectGridColors(buffer, bufferLength, elementsSize, colormap, colormapSize, z, numX, numY); + } + + releaseGraphicObjectProperty(__GO_COLORMAP__, colormap, jni_double_vector, colormapSize); +} + +int NgonGridGrayplotDataDecomposer::fillIndices(int id, int* buffer, int bufferLength, int logMask) +{ + double* x = NULL; + double* y = NULL; + double* z = NULL; + double zShift = 0.0; + double* pdZShift = &zShift; + + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + int dataMapping = 0; + int* piDataMapping = &dataMapping; + + int perNodeValues = 1; + + int numberIndices = 0; + + NgonGridGrayplotDataDecomposer* decomposer = get(); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + /* 0 indices if 0 points */ + if (numX == 0 || numY == 0) + { + return 0; + } + + getGraphicObjectProperty(id, __GO_DATA_MAPPING__, jni_int, (void**) &piDataMapping); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_X__, jni_double_vector, (void**) &x); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y__, jni_double_vector, (void**) &y); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &z); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z_COORDINATES_SHIFT__, jni_double, (void**) &pdZShift); + + /* + * Data mapping values 0 and 1 respectively correspond to scaled and direct colors, for which per-node + * and per-facet values are respectively used. + */ + perNodeValues = !dataMapping; + + numberIndices = decomposer->fillTriangleIndices(buffer, bufferLength, logMask, x, y, &zShift, z, perNodeValues, numX, numY); + + return numberIndices; +} + +int NgonGridGrayplotDataDecomposer::isFacetValid(double* z, double* values, int perNodeValues, int numX, int numY, int i, int j, int logUsed, int currentEdgeValid, int* nextEdgeValid) +{ + *nextEdgeValid = isFacetEdgeValid(z, values, perNodeValues, numX, numY, i + 1, j, logUsed); + + if (!perNodeValues) + { + /* + * Grid values are defined per facet. + * In addition to edge validity, which in this case is determined only by z coordinates, the + * facet's (i,j) value must also be read in order to determine its overall validity. + */ + double zij = getValue(values, numX, numY, i, j); + + if (DecompositionUtils::isValid(zij) && currentEdgeValid && *nextEdgeValid) + { + return 1; + } + else + { + return 0; + } + } + else + { + /* + * Grid values are defined per node, and have therefore been already used + * to determine edge validity + */ + if (currentEdgeValid && *nextEdgeValid) + { + return 1; + } + else + { + return 0; + } + } +} + +/* + * To be merged with its parent's isFacetEdgeValid function. + */ +int NgonGridGrayplotDataDecomposer::isFacetEdgeValid(double* z, double* values, int perNodeValues, int numX, int numY, int i, int j, int logUsed) +{ + double zij = 0.; + double zijp1 = 0.; + + int lowerZValid = 0; + int upperZValid = 0; + + /* First, z-coordinate values are tested */ + zij = getZCoordinate(z, numX, numY, i, j, logUsed); + zijp1 = getZCoordinate(z, numX, numY, i, j + 1, logUsed); + + lowerZValid = DecompositionUtils::isValid(zij); + upperZValid = DecompositionUtils::isValid(zijp1); + + if (logUsed) + { + lowerZValid &= DecompositionUtils::isLogValid(zij); + upperZValid &= DecompositionUtils::isLogValid(zijp1); + } + + /* + * If values are defined per node, edge validity must also + * take into account grid values at the edge's nodes. + */ + if (perNodeValues) + { + zij = getValue(values, numX, numY, i, j); + zijp1 = getValue(values, numX, numY, i, j + 1); + + lowerZValid &= DecompositionUtils::isValid(zij); + upperZValid &= DecompositionUtils::isValid(zijp1); + } + + if (lowerZValid && upperZValid) + { + return 1; + } + else + { + return 0; + } +} + diff --git a/modules/graphic_objects/src/cpp/NgonGridMatplotData.cpp b/modules/graphic_objects/src/cpp/NgonGridMatplotData.cpp new file mode 100755 index 000000000..a650d5532 --- /dev/null +++ b/modules/graphic_objects/src/cpp/NgonGridMatplotData.cpp @@ -0,0 +1,688 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "NgonGridMatplotData.hxx" +#include "Texture.hxx" + +#include <climits> + +extern "C" { +#include <string.h> +#include <stdlib.h> + +#include "graphicObjectProperties.h" +} + +const bool NgonGridMatplotData::isLittleEndian = NgonGridMatplotData::initEndian(); +bool NgonGridMatplotData::isABGRSupported = false; + +NgonGridMatplotData::NgonGridMatplotData(void) +{ + this->data = NULL; + this->dataSize = 0; + this->scilabData = NULL; + this->type = 0; + this->imagetype = MATPLOT_NONE; +} + +NgonGridMatplotData::~NgonGridMatplotData(void) +{ + disposeTextureData(); + if (this->scilabData) + { + delete[] (unsigned char *)this->scilabData; + this->scilabData = NULL; + } +} + +int NgonGridMatplotData::getPropertyFromName(int propertyName) +{ + switch (propertyName) + { + case __GO_DATA_MODEL_GRID_SIZE__ : + return GRID_SIZE; + case __GO_DATA_MODEL_MATPLOT_BOUNDS__ : + return MATPLOT_BOUNDS; + case __GO_DATA_MODEL_MATPLOT_TYPE__ : + return MATPLOT_TYPE; + case __GO_DATA_MODEL_Z__ : + return Z_COORDINATES; + case __GO_DATA_MODEL_MATPLOT_GL_TYPE__ : + return MATPLOT_GL_TYPE; + case __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ : + return MATPLOT_DATA_INFOS; + case __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ : + return MATPLOT_DATA_TYPE; + case __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ : + return MATPLOT_DATA_ORDER; + case __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ : + return MATPLOT_IMAGE_TYPE; + case __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ : + return MATPLOT_IMAGE_DATA; + case __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__ : + return MATPLOT_IMAGE_DATASIZE; + default : + return NgonGridData::getPropertyFromName(propertyName); + } +} + +int NgonGridMatplotData::setDataProperty(int property, void const* value, int numElements) +{ + switch (property) + { + case GRID_SIZE : + { + return setGridSize((int const*) value); + } + case MATPLOT_BOUNDS : + { + setBounds((double const*) value); + break; + } + case Z_COORDINATES : + { + setDataZ((double const*) value, numElements); + break; + } + case MATPLOT_IMAGE_TYPE : + { + return setImageType(*((int const*) value)); + } + case MATPLOT_DATA_INFOS : + { + setDataInfos(*((int const*) value)); + break; + } + case MATPLOT_DATA_TYPE : + { + setDataType(*((int const*) value)); + break; + } + case MATPLOT_DATA_ORDER : + { + setDataOrder(*((int const*) value)); + break; + } + case MATPLOT_IMAGE_DATA : + { + setImageData((void const *) value, numElements); + break; + } + default : + { + return NgonGridData::setDataProperty(property, value, numElements); + } + } + + return 1; +} + +void NgonGridMatplotData::getDataProperty(int property, void **_pvData) +{ + switch (property) + { + case MATPLOT_BOUNDS : + { + *_pvData = getBounds(); + break; + } + case MATPLOT_TYPE : + { + ((int *) *_pvData)[0] = getType(); + break; + } + case Z_COORDINATES : + { + *_pvData = getScilabData(); + break; + } + case MATPLOT_IMAGE_TYPE : + { + ((int *) *_pvData)[0] = getImageType(); + break; + } + case MATPLOT_GL_TYPE : + { + ((int *) *_pvData)[0] = getGLType(); + break; + } + case MATPLOT_DATA_INFOS : + { + ((int *) *_pvData)[0] = getDataInfos(); + break; + } + case MATPLOT_DATA_TYPE : + { + ((int *) *_pvData)[0] = getDataType(); + break; + } + case MATPLOT_DATA_ORDER : + { + ((int *) *_pvData)[0] = getDataOrder(); + break; + } + case MATPLOT_IMAGE_DATA : + { + *_pvData = getImageData(); + break; + } + case MATPLOT_IMAGE_DATASIZE : + { + ((unsigned int *) *_pvData)[0] = getImageDataSize(); + break; + } + default : + { + NgonGridData::getDataProperty(property, _pvData); + break; + } + } +} + +/* + * To be done: refactoring with NgonGridData, as these two classes' + * setGridSize methods are almost identical. + */ +int NgonGridMatplotData::setGridSize(int const* gridSize) +{ + int newXSize = 0; + int newYSize = 0; + int xModified = 0; + int yModified = 0; + int zModified = 0; + int result = 0; + int formerGridSize = 0; + + double* newXCoordinates = NULL; + double* newYCoordinates = NULL; + double* newZCoordinates = NULL; + + result = 1; + + xModified = 0; + yModified = 0; + zModified = 0; + + if ((gridSize[0] != 1) && (gridSize[1] != 1)) + { + return 0; + } + + if ((gridSize[2] != 1) && (gridSize[3] != 1)) + { + return 0; + } + + newXSize = gridSize[0] * gridSize[1]; + newYSize = gridSize[2] * gridSize[3]; + + if (newXSize != xSize) + { + xModified = 1; + + try + { + newXCoordinates = new double[newXSize]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + } + + if (newYSize != ySize) + { + yModified = 1; + + try + { + newYCoordinates = new double[newYSize]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + } + + if (!result || (!xModified && !yModified)) + { + return result; + } + + if (xSize > 0 && ySize > 0) + { + formerGridSize = (xSize - 1) * (ySize - 1); + } + else + { + formerGridSize = 0; + } + + if ((newXSize - 1) * (newYSize - 1) != formerGridSize) + { + zModified = 1; + + try + { + newZCoordinates = new double[(newXSize - 1) * (newYSize - 1)]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + } + + if (result) + { + if (xModified) + { + if (xSize > 0) + { + delete [] xCoordinates; + } + + xCoordinates = newXCoordinates; + xSize = newXSize; + } + + xDimensions[0] = gridSize[0]; + xDimensions[1] = gridSize[1]; + + if (yModified) + { + if (ySize > 0) + { + delete [] yCoordinates; + } + + yCoordinates = newYCoordinates; + ySize = newYSize; + } + + yDimensions[0] = gridSize[2]; + yDimensions[1] = gridSize[3]; + + if (zModified) + { + if (formerGridSize > 0) + { + delete [] zCoordinates; + } + + zCoordinates = newZCoordinates; + + numGons = (xSize - 1) * (ySize - 1); + + } + + if (xModified || yModified) + { + computeCoordinates(); + } + + } + else + { + /* Failed allocation(s) */ + + if (xModified && (newXCoordinates != NULL)) + { + delete [] newXCoordinates; + } + + if (yModified && (newYCoordinates != NULL)) + { + delete [] newYCoordinates; + } + + if (zModified && (newZCoordinates != NULL)) + { + delete [] newZCoordinates; + } + + } + + return result; +} + +void NgonGridMatplotData::setBounds(double const* bounds) +{ + if (bounds == NULL) + { + /* Type 0 object: bounds are computed from element indices by the setGridSize method */ + type = 0; + } + else + { + /* To be done: test whether max > min */ + boundingRectangle[0] = bounds[0]; + boundingRectangle[1] = bounds[2]; + boundingRectangle[2] = bounds[1]; + boundingRectangle[3] = bounds[3]; + + type = 1; + } +} + +double* NgonGridMatplotData::getBounds(void) +{ + return boundingRectangle; +} + +void NgonGridMatplotData::computeCoordinates(void) +{ + if (type == 0) + { + for (int i = 0; i < xSize; i++) + { + xCoordinates[i] = 0.5 + (double) i; + } + + for (int i = 0; i < ySize; i++) + { + yCoordinates[i] = 0.5 + (double) i; + } + + boundingRectangle[0] = 0.5; + boundingRectangle[1] = 0.5 + (double) (xSize - 1); + boundingRectangle[2] = 0.5; + boundingRectangle[3] = 0.5 + (double) (ySize - 1); + } + else + { + double min = boundingRectangle[0]; + double max = boundingRectangle[1]; + int numElements = 0; + + + if (xSize == 1) + { + numElements = 1; + } + else + { + numElements = xSize - 1; + } + + for (int i = 0; i < xSize; i++) + { + xCoordinates[i] = min + (double) i * (max - min) / (double) numElements; + } + + min = boundingRectangle[2]; + max = boundingRectangle[3]; + + if (ySize == 1) + { + numElements = 1; + } + else + { + numElements = ySize - 1; + } + + for (int i = 0; i < ySize; i++) + { + yCoordinates[i] = min + (double) i * (max - min) / (double) numElements; + } + } +} + +void NgonGridMatplotData::setDataZ(double const* data, int numElements) +{ + if (numElements > (xSize - 1) * (ySize - 1)) + { + return; + } + + for (int i = 0; i < numElements; i++) + { + zCoordinates[i] = data[i]; + } +} + +int NgonGridMatplotData::setImageType(int imagetype) +{ + const ImageType type = (ImageType)imagetype; + + if (this->imagetype != type) + { + int grid[4] = {xSize, 1, ySize, 1}; + if (this->datatype == MATPLOT_UChar || this->datatype == MATPLOT_Char) + { + if (this->imagetype == MATPLOT_RGB) + { + grid[2] = (ySize - 1) * 3 + 1; + } + else if (this->imagetype == MATPLOT_RGBA || this->imagetype == MATPLOT_ARGB) + { + grid[2] = (ySize - 1) * 4 + 1; + } + + if (type == MATPLOT_RGB) + { + if ((grid[2] - 1) % 3 != 0) + { + return 0; + } + grid[2] = (grid[2] - 1) / 3 + 1; + } + else if (type == MATPLOT_RGBA || type == MATPLOT_ARGB) + { + if ((grid[2] - 1) % 4 != 0) + { + return 0; + } + grid[2] = (grid[2] - 1) / 4 + 1; + } + + this->setGridSize(grid); + } + + this->imagetype = type; + + if (this->scilabData) + { + setImageData(this->scilabData, (xSize - 1) * (ySize - 1)); + } + } + + return 1; +} + +int NgonGridMatplotData::getImageType() +{ + return (int)this->imagetype; +} + +int NgonGridMatplotData::getGLType() +{ + return (int)this->gltype; +} + +int NgonGridMatplotData::getDataType() +{ + return (int)this->datatype; +} + +void NgonGridMatplotData::setDataType(int datatype) +{ + if (this->datatype != (DataType)datatype) + { + this->datatype = (DataType)datatype; + disposeTextureData(); + } +} + +int NgonGridMatplotData::getDataOrder() +{ + return (int)this->dataorder; +} + +void NgonGridMatplotData::setDataOrder(int dataorder) +{ + this->dataorder = (DataOrder)dataorder; +} + +void * NgonGridMatplotData::getImageData() +{ + if (this->data) + { + return this->data; + } + else if (this->scilabData) + { + setImageData(this->scilabData, (xSize - 1) * (ySize - 1)); + return this->data; + } + + return NULL; +} + +void * NgonGridMatplotData::getScilabData() +{ + return this->scilabData; +} + +unsigned int NgonGridMatplotData::getImageDataSize() +{ + return this->dataSize; +} + +void NgonGridMatplotData::setDataInfos(int infos) +{ + setDataType(infos & 0xFF); + setDataOrder((infos & 0xFF00) >> 8); + setImageType((infos & 0xFF0000) >> 16); +} + +int NgonGridMatplotData::getDataInfos() +{ + return buildMatplotType(this->datatype, this->dataorder, this->imagetype); +} + +void NgonGridMatplotData::setImageData(void const* data, const int numElements) +{ + if (!data) + { + disposeTextureData(); + return; + } + + unsigned int dataSize = 0; + const int N = ySize - 1; + const int M = xSize - 1; + const int NM = N * M; + + if (numElements > NM) + { + return; + } + + if (data != this->scilabData) + { + if (scilabData) + { + delete[] (unsigned char *)scilabData; + scilabData = NULL; + } + + unsigned int _size; + + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + _size = numElements * 3; + break; + case MATPLOT_HM3_Double : + _size = numElements * sizeof(double) * 3; + break; + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + _size = numElements * 4; + break; + case MATPLOT_HM4_Double : + _size = numElements * sizeof(double) * 4; + break; + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_Char : + case MATPLOT_UChar : + _size = numElements; + break; + case MATPLOT_Int : + case MATPLOT_UInt : + _size = numElements * sizeof(int); + break; + case MATPLOT_Short : + case MATPLOT_UShort : + _size = numElements * sizeof(short); + break; + case MATPLOT_HM1_Double : + case MATPLOT_Double : + _size = numElements * sizeof(double); + break; + } + this->scilabData = new unsigned char[_size]; + // todo: on peut ameliorer ca + // pr certains type de donnees (et certains modes) scilabData == data + // dc on peut eviter cette copie + memcpy(this->scilabData, data, _size); + } + + void * dest = this->data; + if (this->imagetype == MATPLOT_INDEX) + { + this->gltype = MATPLOT_GL_RGBA_BYTE; + } + else if (Texture::getImage(data, numElements, this->datatype, this->imagetype, &(this->data), &(this->dataSize), &(this->gltype))) + { + if (dest) + { + delete[] (unsigned char *)dest; + } + } + + //std::cout << this->imagetype << "::" << this->datatype << "::" << this->dataorder << "::" << this->dataSize << "::" << (void*)this->data << std::endl; +} + +int NgonGridMatplotData::getType(void) +{ + return type; +} + +bool NgonGridMatplotData::initEndian() +{ + const int num = 1; + + return *(char *)&num == 1; +} + +void NgonGridMatplotData::setABGRSupported(bool _isABGRSupported) +{ + isABGRSupported = _isABGRSupported; +} + +void NgonGridMatplotData::disposeTextureData(void) +{ + if (this->data) + { + delete[] (unsigned char *)this->data; + this->data = NULL; + this->dataSize = 0; + } +} diff --git a/modules/graphic_objects/src/cpp/NgonGridMatplotDataDecomposer.cpp b/modules/graphic_objects/src/cpp/NgonGridMatplotDataDecomposer.cpp new file mode 100755 index 000000000..c494285e2 --- /dev/null +++ b/modules/graphic_objects/src/cpp/NgonGridMatplotDataDecomposer.cpp @@ -0,0 +1,837 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "ColorComputer.hxx" +#include "DecompositionUtils.hxx" +#include "NgonGridDataDecomposer.hxx" +#include "NgonGridMatplotDataDecomposer.hxx" + +#include <iostream> + +extern "C" +{ +#include <stdlib.h> +#include <string.h> + +#include "getGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +} + +NgonGridMatplotDataDecomposer* NgonGridMatplotDataDecomposer::decomposer = NULL; + +void NgonGridMatplotDataDecomposer::fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask) +{ + double* matplotScale = NULL; + double* matplotTranslate = NULL; + double zShift = 0.; + double* pdZShift = &zShift; + + double xTrans[2]; + double yTrans[2]; + + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + NgonGridMatplotDataDecomposer* decomposer = get(); + + getGraphicObjectProperty(id, __GO_MATPLOT_SCALE__, jni_double_vector, (void**) &matplotScale); + getGraphicObjectProperty(id, __GO_MATPLOT_TRANSLATE__, jni_double_vector, (void**) &matplotTranslate); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z_COORDINATES_SHIFT__, jni_double, (void**) &pdZShift); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + /* The position of the lower-left corner and the distance between two adjacent vertices i and i+1 (respectively) along the x-axis */ + xTrans[0] = matplotTranslate[0]; + xTrans[1] = matplotScale[0]; + + /* The position of the lower-left corner and the distance between two adjacent vertices j and j+1 (respectively) along the y-axis */ + yTrans[0] = matplotTranslate[1]; + yTrans[1] = matplotScale[1]; + + /* + * We pass the scale and translate values (for both the x and y axes) as the x and y coordinate arrays, + * because Matplot vertex coordinates are directly computed from these values. + */ + decomposer->fillGridVertices(buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask, (double*) xTrans, (double*) yTrans, &zShift, numX, numY); + + releaseGraphicObjectProperty(__GO_MATPLOT_SCALE__, matplotScale, jni_double_vector, 0); + releaseGraphicObjectProperty(__GO_MATPLOT_TRANSLATE__, matplotTranslate, jni_double_vector, 0); +} + +/* To do: refactor with its parent class' same method */ +void NgonGridMatplotDataDecomposer::fillGridVertices(float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask, + double* x, double* y, double* z, int numX, int numY) +{ + double xi = 0.; + double yj = 0.; + double zij = 0.; + double yjp1 = 0.; + double xip1 = 0.; + + int bufferOffset = 0; + +#if PER_VERTEX_VALUES + for (int j = 0; j < numY; j++) + { + yj = (double) j * y[1] + y[0]; + + if (coordinateMask & 0x2) + { + if (logMask & 0x2) + { + yj = DecompositionUtils::getLog10Value(yj); + } + } + + for (int i = 0; i < numX; i++) + { + xi = (double) i * x[1] + x[0]; + bufferOffset = elementsSize * (numX * j + i); + + if (coordinateMask & 0x1) + { + if (logMask & 0x1) + { + xi = DecompositionUtils::getLog10Value(xi); + } + + buffer[bufferOffset] = xi * scale[0] + translation[0]; + } + + if (coordinateMask & 0x2) + { + buffer[bufferOffset + 1] = yj * scale[1] + translation[1]; + } + + if (coordinateMask & 0x4) + { + zij = getZCoordinate(z, numX, numY, i, j, logMask & 0x4); + + buffer[bufferOffset + 2] = zij * scale[2] + translation[2]; + } + + if (elementsSize == 4 && (coordinateMask & 0x8)) + { + buffer[bufferOffset + 3] = 1.0; + } + } + } +#else + bufferOffset = 0; + + for (int j = 0; j < numY - 1; j++) + { + double ycoords[4]; + int yindices[4]; + + yj = (double) j * y[1] + y[0]; + yjp1 = (double) (j + 1) * y[1] + y[0]; + + if (coordinateMask & 0x2) + { + if (logMask & 0x2) + { + yj = DecompositionUtils::getLog10Value(yj); + yjp1 = DecompositionUtils::getLog10Value(yjp1); + } + } + + ycoords[0] = yj; + ycoords[1] = yj; + ycoords[2] = yjp1; + ycoords[3] = yjp1; + + yindices[0] = j; + yindices[1] = j; + yindices[2] = j + 1; + yindices[3] = j + 1; + + for (int i = 0; i < numX - 1; i++) + { + double xcoords[4]; + int xindices[4]; + + xi = (double) i * x[1] + x[0]; + xip1 = (double) (i + 1) * x[1] + x[0]; + + if (logMask & 0x1) + { + xi = DecompositionUtils::getLog10Value(xi); + xip1 = DecompositionUtils::getLog10Value(xip1); + } + + xcoords[0] = xi; + xcoords[1] = xip1; + xcoords[2] = xi; + xcoords[3] = xip1; + + xindices[0] = i; + xindices[1] = i + 1; + xindices[2] = i; + xindices[3] = i + 1; + + for (int k = 0; k < 4; k++) + { + if (coordinateMask & 0x1) + { + buffer[bufferOffset] = (float)(xcoords[k] * scale[0] + translation[0]); + } + + if (coordinateMask & 0x2) + { + buffer[bufferOffset + 1] = (float)(ycoords[k] * scale[1] + translation[1]); + } + + /*if (coordinateMask & 0x4) + zij = getZCoordinate(z, numX, numY, xindices[k], yindices[k], logMask & 0x4); + buffer[bufferOffset +2] = (float)(zij * scale[2] + translation[2]); + }*/ + + if (elementsSize == 4 && (coordinateMask & 0x8)) + { + buffer[bufferOffset + 3] = 1.0; + } + + bufferOffset += elementsSize; + } + } + } + +#endif +} + +/* + * To do: + * -clean-up: replace explicitely computed z indices by getPointIndex calls + * -remove the per-vertex color fill code + */ +void NgonGridMatplotDataDecomposer::fillColors(int id, float* buffer, int bufferLength, int elementsSize) +{ + int parent = 0; + int* pparent = &parent; + int parentFigure = 0; + int* pparentFigure = &parentFigure; + + void * data = NULL; + double* colormap = NULL; + double currentZ = 0.; + + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + int colormapSize = 0; + int* piColormapSize = &colormapSize; + int datatype = -1; + int * pidataType = &datatype; + int imagetype = 0; + int * piImagetype = &imagetype; + int gltype = 0; + int * piGltype = &gltype; + + parent = getParentObject(id); + + /* Temporary: to avoid getting a null parent_figure property when the object is built */ + if (parent == 0) + { + return; + } + + getGraphicObjectProperty(id, __GO_PARENT_FIGURE__, jni_int, (void**) &pparentFigure); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + getGraphicObjectProperty(id, __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__, jni_double_vector, &data); + getGraphicObjectProperty(id, __GO_DATA_MODEL_MATPLOT_DATA_TYPE__, jni_int, (void**) &pidataType); + getGraphicObjectProperty(id, __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__, jni_int, (void **)&piImagetype); + getGraphicObjectProperty(id, __GO_DATA_MODEL_MATPLOT_GL_TYPE__, jni_int, (void **)&piGltype); + + /* In order not to access invalid data when reading the last line's last element */ + if (numX < 2) + { + return; + } + + getGraphicObjectProperty(parentFigure, __GO_COLORMAP__, jni_double_vector, (void**) &colormap); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP_SIZE__, jni_int, (void**) &piColormapSize); + +#if PER_VERTEX_VALUES + for (int j = 0; j < numY - 1; j++) + { + for (int i = 0; i < numX - 1; i++) + { + currentZ = z[i * (numY - 1) + (numY - 2 - j)]; + + ColorComputer::getDirectColor((double) currentZ - 1.0, colormap, colormapSize, &buffer[bufferOffset]); + + if (elementsSize == 4) + { + buffer[bufferOffset + 3] = 1.0; + } + + bufferOffset += elementsSize; + } + + /* Last element (same as the above loop's last) */ + currentZ = z[(numX - 2) * (numY - 1) + (numY - 2 - j)]; + + ColorComputer::getDirectColor((double) currentZ - 1.0, colormap, colormapSize, &buffer[bufferOffset]); + + if (elementsSize == 4) + { + buffer[bufferOffset + 3] = 1.0; + } + + bufferOffset += elementsSize; + } + + /* Last line */ + for (int i = 0; i < numX - 1; i++) + { + currentZ = z[(numY - 1) * i + 0]; + + ColorComputer::getDirectColor((double) currentZ - 1.0, colormap, colormapSize, &buffer[bufferOffset]); + + bufferOffset += elementsSize; + + if (elementsSize == 4) + { + buffer[bufferOffset + 3] = 1.0; + } + } + + /* Last element (same as the above loop's last) */ + currentZ = z[(numX - 2) * (numY - 1) + 0]; + + ColorComputer::getDirectColor((double) currentZ - 1.0, colormap, colormapSize, &buffer[bufferOffset]); + + if (elementsSize == 4) + { + buffer[bufferOffset + 3] = 1.0; + } + +#else + + getRGBAData((ImageType)imagetype, (DataType)datatype, (GLType)gltype, data, buffer, elementsSize, numY - 1, numX - 1, colormap, colormapSize); + + /*for (int j = 0; j < numY-1; j++) + { + for (int i = 0; i < numX - 1; i++) + { + float facetColor[3]; + + currentZ = z[i * (numY - 1) + (numY - 2 - j)]; + ColorComputer::getDirectColor((double) currentZ - 1.0, colormap, colormapSize, facetColor); + writeFacetColorToBuffer(buffer, bufferOffset, facetColor, elementsSize); + + bufferOffset += 4 * elementsSize; + } + }*/ + +#endif + + releaseGraphicObjectProperty(__GO_COLORMAP__, colormap, jni_double_vector, colormapSize); +} + +/* + * To do: merge with NgonGridDataDecomposer::fillIndices as these functions perform a lot of work in + * a redundant way. + */ +int NgonGridMatplotDataDecomposer::fillIndices(int id, int* buffer, int bufferLength, int logMask) +{ + double* x = NULL; + double* y = NULL; + double* z = NULL; + double zShift = 0.0; + double* pdZShift = &zShift; + + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + int numberIndices = 0; + + NgonGridMatplotDataDecomposer* decomposer = get(); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + /* 0 indices if less than 2 points along either dimension */ + if (numX < 2 || numY < 2) + { + return 0; + } + + getGraphicObjectProperty(id, __GO_DATA_MODEL_X__, jni_double_vector, (void**) &x); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y__, jni_double_vector, (void**) &y); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &z); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z_COORDINATES_SHIFT__, jni_double, (void**) &pdZShift); + + /* + * The per-node value flag is set to 0 as for Matplot objects grid values are specified per-facet. + * However, it not used at all when determining facet validity and hence is only informative. + */ + numberIndices = decomposer->fillTriangleIndices(buffer, bufferLength, logMask, x, y, &zShift, z, 0, numX, numY); + + return numberIndices; +} + +int NgonGridMatplotDataDecomposer::isFacetValid(double* z, double* values, int perNodeValues, int numX, int numY, int i, int j, int logUsed, int currentEdgeValid, int* nextEdgeValid) +{ + double zij = 0.; + int facetValid = 1; + + /*zij = getZCoordinate(z, numX, numY, i, j, logUsed); + + facetValid = DecompositionUtils::isValid(zij); + + if (logUsed) + { + facetValid &= DecompositionUtils::isLogValid(zij); + }*/ + + /* Transposed relative to Grayplot */ + //facetValid &= DecompositionUtils::isValid(values[getPointIndex(numY-1, numX-1, numY-2-j, i)]); + + /* Edge validity is always 1 since it is not used at all to determine facet validity for Matplot decomposition */ + *nextEdgeValid = 1; + + return facetValid; +} + +int NgonGridMatplotDataDecomposer::isFacetEdgeValid(double* z, double* values, int perNodeValues, int numX, int numY, int i, int j, int logUsed) +{ + /* Always considered valid since not used at all to determine facet validity */ + return 1; +} + +void NgonGridMatplotDataDecomposer::getRGBAData(ImageType imagetype, DataType datatype, GLType gltype, void * data, float * buffer, int elementsSize, const int nbRow, const int nbCol, double * colormap, const int colormapSize) +{ + if (imagetype == MATPLOT_INDEX) + { + switch (datatype) + { + case MATPLOT_Char : + { + fillColorsByIndex((char *)data, buffer, elementsSize, nbRow, nbCol, colormap, colormapSize); + break; + } + case MATPLOT_UChar : + { + fillColorsByIndex((unsigned char *)data, buffer, elementsSize, nbRow, nbCol, colormap, colormapSize); + break; + } + case MATPLOT_Int : + { + fillColorsByIndex((int *)data, buffer, elementsSize, nbRow, nbCol, colormap, colormapSize); + break; + } + case MATPLOT_UInt : + { + fillColorsByIndex((unsigned int *)data, buffer, elementsSize, nbRow, nbCol, colormap, colormapSize); + break; + } + case MATPLOT_Short : + { + fillColorsByIndex((short *)data, buffer, elementsSize, nbRow, nbCol, colormap, colormapSize); + break; + } + case MATPLOT_UShort : + { + fillColorsByIndex((unsigned short *)data, buffer, elementsSize, nbRow, nbCol, colormap, colormapSize); + break; + } + case MATPLOT_Double : + { + fillColorsByIndex((double *)data, buffer, elementsSize, nbRow, nbCol, colormap, colormapSize); + break; + } + } + } + else + { + float colors[4]; + + switch (gltype) + { + case MATPLOT_GL_RGBA : + { + unsigned int k = 0; + unsigned int * ui = (unsigned int *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + const unsigned int c = ui[nbRow - 1 + i * nbRow - j]; + colors[0] = ((c >> 24) & 0xFF) / 255.0f; + colors[1] = ((c >> 16) & 0xFF) / 255.0f; + colors[2] = ((c >> 8) & 0xFF) / 255.0f; + colors[3] = (c & 0xFF) / 255.0f; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, true); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_RGB_FLOAT : + { + unsigned int k = 0; + float * f = (float *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + writeFacetColorToBuffer(buffer, k, &f[3 * (nbRow - 1 + i * nbRow - j)], elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_RGB : + { + unsigned int k = 0; + unsigned char * uc = (unsigned char *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + const unsigned int ind = 3 * (nbRow - 1 + i * nbRow - j); + colors[0] = uc[ind] / 255.0f; + colors[1] = uc[ind + 1] / 255.0f; + colors[2] = uc[ind + 2] / 255.0f; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_RGBA_BYTE : + { + unsigned int k = 0; + unsigned char * uc = (unsigned char *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + const unsigned int ind = 4 * (nbRow - 1 + i * nbRow - j); + colors[0] = uc[ind] / 255.0f; + colors[1] = uc[ind + 1] / 255.0f; + colors[2] = uc[ind + 2] / 255.0f; + colors[3] = uc[ind + 3] / 255.0f; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, true); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_RGBA_FLOAT : + { + unsigned int k = 0; + float * f = (float *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + writeFacetColorToBuffer(buffer, k, &f[4 * (nbRow - 1 + i * nbRow - j)], elementsSize, true); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_GRAY : + { + unsigned int k = 0; + unsigned char * uc = (unsigned char *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + colors[0] = uc[nbRow - 1 + i * nbRow - j] / 255.0f; + colors[1] = colors[0]; + colors[2] = colors[0]; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_RED : + { + unsigned int k = 0; + unsigned char * uc = (unsigned char *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + colors[0] = uc[nbRow - 1 + i * nbRow - j] / 255.0f; + colors[1] = 0; + colors[2] = 0; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_GREEN : + { + unsigned int k = 0; + unsigned char * uc = (unsigned char *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + colors[0] = 0; + colors[1] = uc[nbRow - 1 + i * nbRow - j] / 255.0f; + colors[2] = 0; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_BLUE : + { + unsigned int k = 0; + unsigned char * uc = (unsigned char *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + colors[0] = 0; + colors[1] = 0; + colors[2] = uc[nbRow - 1 + i * nbRow - j] / 255.0f; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_GRAY_FLOAT : + { + unsigned int k = 0; + float * f = (float *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + colors[0] = f[nbRow - 1 + i * nbRow - j]; + colors[1] = colors[0]; + colors[2] = colors[0]; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_RED_FLOAT : + { + unsigned int k = 0; + float * f = (float *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + colors[0] = f[nbRow - 1 + i * nbRow - j]; + colors[1] = 0; + colors[2] = 0; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_GREEN_FLOAT : + { + unsigned int k = 0; + float * f = (float *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + colors[0] = 0; + colors[1] = f[nbRow - 1 + i * nbRow - j]; + colors[2] = 0; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_BLUE_FLOAT : + { + unsigned int k = 0; + float * f = (float *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + colors[0] = 0; + colors[1] = 0; + colors[2] = f[nbRow - 1 + i * nbRow - j]; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_RGBA_4444 : + { + unsigned int k = 0; + unsigned short * us = (unsigned short *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + const unsigned short c = us[nbRow - 1 + i * nbRow - j]; + colors[0] = ((c >> 12) & 0xFF) / 15.0f; + colors[1] = ((c >> 8) & 0xFF) / 15.0f; + colors[2] = ((c >> 4) & 0xFF) / 15.0f; + colors[3] = (c & 0xFF) / 15.0f; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, true); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_RGBA_5551 : + { + unsigned int k = 0; + unsigned short * us = (unsigned short *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + const unsigned short c = us[nbRow - 1 + i * nbRow - j]; + colors[0] = ((c >> 11) & 0xFF) / 31.0f; + colors[1] = ((c >> 6) & 0xFF) / 31.0f; + colors[2] = ((c >> 1) & 0xFF) / 31.0f; + colors[3] = (float)(c & 0x1); + writeFacetColorToBuffer(buffer, k, colors, elementsSize, true); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_RGB_332 : + { + unsigned int k = 0; + unsigned char * uc = (unsigned char *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + const unsigned char c = uc[nbRow - 1 + i * nbRow - j]; + colors[0] = ((c >> 5) & 0x7) / 7.0f; + colors[1] = ((c >> 2) & 0x7) / 7.0f; + colors[2] = (c & 0x3) / 3.0f; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_GRAY_16 : + { + unsigned int k = 0; + unsigned short * us = (unsigned short *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + colors[0] = us[nbRow - 1 + i * nbRow - j] / 65535.0f; + colors[1] = colors[0]; + colors[2] = colors[0]; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_RED_16 : + { + unsigned int k = 0; + unsigned short * us = (unsigned short *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + colors[0] = us[nbRow - 1 + i * nbRow - j] / 65535.0f; + colors[1] = 0; + colors[2] = 0; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_GREEN_16 : + { + unsigned int k = 0; + unsigned short * us = (unsigned short *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + colors[0] = 0; + colors[1] = us[nbRow - 1 + i * nbRow - j] / 65535.0f; + colors[2] = 0; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + case MATPLOT_GL_BLUE_16 : + { + unsigned int k = 0; + unsigned short * us = (unsigned short *)data; + + for (int j = 0; j < nbRow; j++) + { + for (int i = 0; i < nbCol; i++) + { + colors[0] = 0; + colors[1] = 0; + colors[2] = us[nbRow - 1 + i * nbRow - j] / 65535.0f; + writeFacetColorToBuffer(buffer, k, colors, elementsSize, false); + k += 4 * elementsSize; + } + } + break; + } + } + } +} diff --git a/modules/graphic_objects/src/cpp/NgonPolylineData.cpp b/modules/graphic_objects/src/cpp/NgonPolylineData.cpp new file mode 100755 index 000000000..d28fd2d16 --- /dev/null +++ b/modules/graphic_objects/src/cpp/NgonPolylineData.cpp @@ -0,0 +1,568 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <iostream> + +#include "NgonPolylineData.hxx" +#include "DataProperties.hxx" + +extern "C" { +#include "BOOL.h" + +#include <string.h> + +#include "graphicObjectProperties.h" +} + +NgonPolylineData::NgonPolylineData(void) +{ + xShift = NULL; + yShift = NULL; + zShift = NULL; + + xShiftSet = 0; + yShiftSet = 0; + zShiftSet = 0; + + coordinatesShift = NULL; + + zCoordinatesSet = 0; + + display_function_data = NULL; + display_function_data_size = 0; + +} + +NgonPolylineData::~NgonPolylineData(void) +{ + if (xShiftSet) + { + delete [] xShift; + } + + if (yShiftSet) + { + delete [] yShift; + } + + if (zShiftSet) + { + delete [] zShift; + } + + if (display_function_data) + { + delete[] display_function_data; + } +} + +int NgonPolylineData::getPropertyFromName(int propertyName) +{ + switch (propertyName) + { + case __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ : + return NUM_ELEMENTS_ARRAY; + case __GO_DATA_MODEL_X_COORDINATES_SHIFT__ : + return X_COORDINATES_SHIFT; + case __GO_DATA_MODEL_Y_COORDINATES_SHIFT__ : + return Y_COORDINATES_SHIFT; + case __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ : + return Z_COORDINATES_SHIFT; + case __GO_DATA_MODEL_NUM_ELEMENTS__ : + return NUM_ELEMENTS; + case __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ : + return X_COORDINATES_SHIFT_SET; + case __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ : + return Y_COORDINATES_SHIFT_SET; + case __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ : + return Z_COORDINATES_SHIFT_SET; + case __GO_DATA_MODEL_Z_COORDINATES_SET__ : + return Z_COORDINATES_SET; + case __GO_DATA_MODEL_DISPLAY_FUNCTION__ : + return DISPLAY_FUNCTION_DATA; + case __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ : + return DISPLAY_FUNCTION_DATA_SIZE; + default : + return NgonGeneralData::getPropertyFromName(propertyName); + } + +} + + +int NgonPolylineData::setDataProperty(int property, void const* value, int numElements) +{ + switch (property) + { + case NUM_ELEMENTS_ARRAY : + return setNumElementsArray((int const*) value); + case X_COORDINATES_SHIFT : + return setXCoordinatesShift((double const*) value, numElements); + case Y_COORDINATES_SHIFT : + return setYCoordinatesShift((double const*) value, numElements); + case Z_COORDINATES_SHIFT : + return setZCoordinatesShift((double const*) value, numElements); + case X_COORDINATES_SHIFT_SET : + setXCoordinatesShiftSet(*((int const*) value)); + break; + case Y_COORDINATES_SHIFT_SET : + setYCoordinatesShiftSet(*((int const*) value)); + break; + case Z_COORDINATES_SHIFT_SET : + setZCoordinatesShiftSet(*((int const*) value)); + break; + case Z_COORDINATES_SET : + setZCoordinatesSet(*((int const*) value)); + break; + case DISPLAY_FUNCTION_DATA : + setDisplayFunctionData((int const*) value, numElements); + break; + default : + return NgonGeneralData::setDataProperty(property, value, numElements); + } + + return 1; +} + +void NgonPolylineData::getDataProperty(int property, void **_pvData) +{ + switch (property) + { + case X_COORDINATES_SHIFT : + *_pvData = getXCoordinatesShift(); + break; + case Y_COORDINATES_SHIFT : + *_pvData = getYCoordinatesShift(); + break; + case Z_COORDINATES_SHIFT : + *_pvData = getZCoordinatesShift(); + break; + case NUM_ELEMENTS : + ((int *) *_pvData)[0] = getNumElements(); + break; + case X_COORDINATES_SHIFT_SET : + ((int *) *_pvData)[0] = getXCoordinatesShiftSet(); + break; + case Y_COORDINATES_SHIFT_SET : + ((int *) *_pvData)[0] = getYCoordinatesShiftSet(); + break; + case Z_COORDINATES_SHIFT_SET : + ((int *) *_pvData)[0] = getZCoordinatesShiftSet(); + break; + case Z_COORDINATES_SET : + ((int *) *_pvData)[0] = getZCoordinatesSet(); + break; + case DISPLAY_FUNCTION_DATA : + *_pvData = getDisplayFunctionData(); + break; + case DISPLAY_FUNCTION_DATA_SIZE : + ((int *) *_pvData)[0] = getDisplayFunctionDataSize(); + break; + default : + NgonGeneralData::getDataProperty(property, _pvData); + } +} + +int NgonPolylineData::getNumElements(void) +{ + return numVerticesPerGon; +} + +void NgonPolylineData::setZCoordinatesSet(int zCoordinatesSet) +{ + this->zCoordinatesSet = zCoordinatesSet; +} + +int NgonPolylineData::getZCoordinatesSet(void) +{ + return this->zCoordinatesSet; +} + +double* NgonPolylineData::getXCoordinatesShift(void) +{ + return xShift; +} + +int NgonPolylineData::setXCoordinatesShift(double const* data, int numElements) +{ + if (xShiftSet == 0) + { + + try + { + xShift = new double[numVerticesPerGon]; + } + catch (const std::exception& e) + { + e.what(); + return 0; + } + + xShiftSet = 1; + } + + for (int i = 0; i < numVerticesPerGon; i++) + { + xShift[i] = data[i]; + } + + return 1; +} + +double* NgonPolylineData::getYCoordinatesShift() +{ + return yShift; +} + +int NgonPolylineData::setYCoordinatesShift(double const* data, int numElements) +{ + if (yShiftSet == 0) + { + + try + { + yShift = new double[numVerticesPerGon]; + } + catch (const std::exception& e) + { + e.what(); + return 0; + } + + yShiftSet = 1; + } + + for (int i = 0; i < numVerticesPerGon; i++) + { + yShift[i] = data[i]; + } + + return 1; +} + +double* NgonPolylineData::getZCoordinatesShift() +{ + return zShift; +} + +int NgonPolylineData::getXCoordinatesShiftSet(void) +{ + return xShiftSet; +} + +void NgonPolylineData::setXCoordinatesShiftSet(int xShiftSet) +{ + if (xShiftSet == 0 && this->xShiftSet == 1) + { + delete [] xShift; + xShift = NULL; + } + + this->xShiftSet = xShiftSet; +} + +int NgonPolylineData::getYCoordinatesShiftSet(void) +{ + return yShiftSet; +} + +void NgonPolylineData::setYCoordinatesShiftSet(int yShiftSet) +{ + if (yShiftSet == 0 && this->yShiftSet == 1) + { + delete [] yShift; + yShift = NULL; + } + + this->yShiftSet = yShiftSet; +} + +int NgonPolylineData::getZCoordinatesShiftSet(void) +{ + return zShiftSet; +} + +void NgonPolylineData::setZCoordinatesShiftSet(int zShiftSet) +{ + if (zShiftSet == 0 && this->zShiftSet == 1) + { + delete [] zShift; + zShift = NULL; + } + + this->zShiftSet = zShiftSet; +} + +int NgonPolylineData::setZCoordinatesShift(double const* data, int numElements) +{ + if (zShiftSet == 0) + { + + try + { + zShift = new double[numVerticesPerGon]; + } + catch (const std::exception& e) + { + e.what(); + return 0; + } + + zShiftSet = 1; + } + + for (int i = 0; i < numVerticesPerGon; i++) + { + zShift[i] = data[i]; + } + + return 1; +} + +int NgonPolylineData::setNumElementsArray(int const* numElementsArray) +{ + int newNumElements = 0; + int previousNumElements = 0; + int result = 1; + + if (numElementsArray[0] != 1) + { + return 0; + } + + newNumElements = numElementsArray[0] * numElementsArray[1]; + previousNumElements = numGons * numVerticesPerGon; + + if (newNumElements == 0 && previousNumElements > 0) + { + numVerticesPerGon = 0; + + deleteCoordinatesArrays(); + + return 1; + } + + if (numGons * numVerticesPerGon != newNumElements) + { + double* newCoordinates = NULL; + double* xShiftNew = NULL; + double* yShiftNew = NULL; + double* zShiftNew = NULL; + + result = 1; + + try + { + newCoordinates = new double[3 * newNumElements]; + } + catch (const std::exception& e) + { + e.what(); + return 0; + } + + if (xShiftSet) + { + try + { + xShiftNew = new double[newNumElements]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + } + + if (yShiftSet) + { + try + { + yShiftNew = new double[newNumElements]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + } + + if (zShiftSet) + { + try + { + zShiftNew = new double[newNumElements]; + } + catch (const std::exception& e) + { + e.what(); + result = 0; + } + } + + if (result) + { + if (numGons * numVerticesPerGon > 0) + { + delete [] coordinates; + } + + /* + * Initialize the new coordinates' z values to 0 in case + * they are not set afterwards. + */ + for (int i = 0; i < newNumElements; i++) + { + newCoordinates[2 * newNumElements + i] = 0.0; + } + + coordinates = newCoordinates; + + if (xShiftSet) + { + copyShiftCoordinatesArray(xShiftNew, xShift, newNumElements); + delete [] xShift; + xShift = xShiftNew; + } + + if (yShiftSet) + { + copyShiftCoordinatesArray(yShiftNew, yShift, newNumElements); + delete [] yShift; + yShift = yShiftNew; + } + + if (zShiftSet) + { + copyShiftCoordinatesArray(zShiftNew, zShift, newNumElements); + delete [] zShift; + zShift = zShiftNew; + } + + numGons = numElementsArray[0]; + numVerticesPerGon = numElementsArray[1]; + } + else + { + /* Delete the temporary arrays and don't set anything */ + if (newCoordinates != NULL) + { + delete [] newCoordinates; + } + + if (xShiftNew != NULL) + { + delete [] xShiftNew; + } + + if (yShiftNew != NULL) + { + delete [] yShiftNew; + } + + if (zShiftNew != NULL) + { + delete [] zShiftNew; + } + + } + + } + + return result; +} + +void NgonPolylineData::copyShiftCoordinatesArray(double * newShift, double const* oldShift, int numElementsNew) +{ + int numElementsCopied = 0; + + if (numElementsNew < numVerticesPerGon) + { + numElementsCopied = numElementsNew; + } + else + { + numElementsCopied = numVerticesPerGon; + } + + for (int i = 0; i < numElementsCopied; i++) + { + newShift[i] = oldShift[i]; + } + + for (int i = numElementsCopied; i < numElementsNew; i++) + { + newShift[i] = 0.0; + } +} + +void NgonPolylineData::deleteCoordinatesArrays(void) +{ + if (coordinates != NULL) + { + delete [] coordinates; + coordinates = NULL; + } + + if (xShiftSet) + { + delete [] xShift; + xShift = NULL; + xShiftSet = 0; + } + + if (yShiftSet) + { + delete [] yShift; + yShift = NULL; + yShiftSet = 0; + } + + if (zShiftSet) + { + delete [] zShift; + zShift = NULL; + zShiftSet = 0; + } +} + +int* NgonPolylineData::getDisplayFunctionData() +{ + return display_function_data; +} + +int NgonPolylineData::getDisplayFunctionDataSize() +{ + return display_function_data_size; +} + +int NgonPolylineData::setDisplayFunctionData(int const* data, int numElements) +{ + if (display_function_data != NULL) + { + delete[] display_function_data; + display_function_data = NULL; + } + + try + { + display_function_data_size = numElements; + display_function_data = new int[numElements]; + } + catch (const std::exception& e) + { + e.what(); + return 0; + } + + memcpy(display_function_data, data, display_function_data_size * sizeof(int)); + return 1; +}
\ No newline at end of file diff --git a/modules/graphic_objects/src/cpp/NormalGenerator.cpp b/modules/graphic_objects/src/cpp/NormalGenerator.cpp new file mode 100755 index 000000000..3c9dbc41b --- /dev/null +++ b/modules/graphic_objects/src/cpp/NormalGenerator.cpp @@ -0,0 +1,190 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2013 - Pedro SOUZA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <math.h> +#include "NormalGenerator.hxx" + +#define PLUS3(a, b, c) (c)[0]=(a)[0]+(b)[0];(c)[1]=(a)[1]+(b)[1];(c)[2]=(a)[2]+(b)[2]; +#define MINUS3(a, b, c) (c)[0]=(a)[0]-(b)[0];(c)[1]=(a)[1]-(b)[1];(c)[2]=(a)[2]-(b)[2]; +#define CROSS3(a, b, c) (c)[0]=(a)[1]*(b)[2] - (a)[2]*b[1];(c)[1]=(a)[2]*(b)[0] - (a)[0]*(b)[2];(c)[2]=(a)[0]*(b)[1] - (a)[1]*(b)[0]; +#define COPY3(a, b) (a)[0]=(b)[0];(a)[1]=(b)[1];(a)[2]=(b)[2]; + +inline void normalize3(float* v) +{ + float inv_norm = 1.0f / sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]); + v[0] *= inv_norm; + v[1] *= inv_norm; + v[2] *= inv_norm; +} + +bool CalculateGridNormalFlat(float* position, float* buffer, int bufferLength, int elementSize) +{ + if (elementSize < 3) + { + return false; + } + for (int i = 0; i < bufferLength; i += 4 * elementSize) + { + float *p1 = &position[i], + *p2 = &position[i + elementSize], + *p3 = &position[i + 2 * elementSize], + *p4 = &position[i + 3 * elementSize]; + + float v1[3], v2[3], n1[3], n2[3], n1pn2[3]; + //v1 = p2-p1 + MINUS3(p2, p1, v1); + MINUS3(p4, p1, v2); + + //n1 = v1 x v2 + CROSS3(v1, v2, n1); + + MINUS3(p4, p1, v1); + MINUS3(p3, p1, v2); + + CROSS3(v1, v2, n2); + + normalize3(n1); + normalize3(n2); + PLUS3(n1, n2, n1pn2); + + normalize3(n1pn2); + + + COPY3(&buffer[i], n1pn2); + COPY3(&buffer[i + elementSize], n1pn2); + COPY3(&buffer[i + 2 * elementSize], n1pn2); + COPY3(&buffer[i + 3 * elementSize], n1pn2); + } + return true; +} + +bool CalculateGridNormalSmooth(float* position, float* buffer, int bufferLength, int elementSize, int numX, int numY) +{ + if (elementSize < 3) + { + return false; + } + for (int i = 0; i < bufferLength; i += 4 * elementSize) + { + float *p1 = &position[i], + *p2 = &position[i + elementSize], + *p3 = &position[i + 2 * elementSize], + *p4 = &position[i + 3 * elementSize]; + + float v1[3], v2[3], n1[3], n2[3], n1pn2[3]; + //v1 = p2-p1 + MINUS3(p2, p1, v1); + MINUS3(p4, p1, v2); + + //n1 = v1 x v2 + CROSS3(v1, v2, n1); + + MINUS3(p4, p1, v1); + MINUS3(p3, p1, v2); + + CROSS3(v1, v2, n2); + + normalize3(n1); + normalize3(n2); + PLUS3(n1, n2, n1pn2); + + normalize3(n1pn2); + + + COPY3(&buffer[i], n1pn2); + COPY3(&buffer[i + elementSize], n1); + COPY3(&buffer[i + 2 * elementSize], n2); + COPY3(&buffer[i + 3 * elementSize], n1pn2); + } + + // average normals in x axis + for (int i = 0; i < numX - 1; ++i) + { + for (int j = 0; j < numY - 2; ++j) + { + float sum[3]; + float *p2, *p3, *pj0, *pj1; + p2 = getGridNormal(buffer, numX, numY, elementSize, i, j, 2); + p3 = getGridNormal(buffer, numX, numY, elementSize, i, j, 3); + + pj0 = getGridNormal(buffer, numX, numY, elementSize, i, j + 1, 0); + pj1 = getGridNormal(buffer, numX, numY, elementSize, i, j + 1, 1); + + PLUS3(pj0, p2, sum); + COPY3(p2, sum); + COPY3(pj0, sum); + + PLUS3(pj1, p3, sum); + COPY3(p3, sum); + COPY3(pj1, sum); + } + } + + // average normals in y axis + for (int j = 0; j < numY - 1; ++j) + { + for (int i = 0; i < numX - 2; ++i) + { + float sum[3]; + float *p1, *p3, *pi0, *pi2; + p1 = getGridNormal(buffer, numX, numY, elementSize, i, j, 1); + p3 = getGridNormal(buffer, numX, numY, elementSize, i, j, 3); + + pi0 = getGridNormal(buffer, numX, numY, elementSize, i + 1, j, 0); + pi2 = getGridNormal(buffer, numX, numY, elementSize, i + 1, j, 2); + + PLUS3(pi0, p1, sum); + COPY3(p1, sum); + COPY3(pi0, sum); + + PLUS3(pi2, p3, sum); + COPY3(p3, sum); + COPY3(pi2, sum); + } + } + return true; +} + +float * getGridNormal(float *buffer, int numX, int numY, int elementSize, int i, int j, int k) +{ + //int idx = (numX-1)*j*4*elementSize + i*4*elementSize + k*elementSize; + int idx = elementSize * (k + 4 * (j * (numX - 1) + i)); + return &buffer[idx]; +} + +bool CalculatePolygonNormalFlat(float* position, float* buffer, int bufferLength, int elementSize, int polygonVertices) +{ + for (int i = 0; i < bufferLength; i += (elementSize * polygonVertices)) + { + float v1[3], v2[3], n[3], sum[] = {0.0f, 0.0f, 0.0f}; + + for (int j = 0; j < polygonVertices - 2; ++j) + { + float *p1 = &position[i], + *p2 = &position[i + (j + 2) * elementSize], + *p3 = &position[i + (j + 1) * elementSize]; + + MINUS3(p2, p1, v1); + MINUS3(p3, p1, v2); + CROSS3(v1, v2, n); + normalize3(n); + + PLUS3(n, sum, sum); + } + for (int j = 0; j < polygonVertices; ++j) + { + COPY3(&buffer[i + j * elementSize], sum); + } + } + return true; +} + diff --git a/modules/graphic_objects/src/cpp/Plot3DDecomposer.cpp b/modules/graphic_objects/src/cpp/Plot3DDecomposer.cpp new file mode 100755 index 000000000..aa4e8a8cc --- /dev/null +++ b/modules/graphic_objects/src/cpp/Plot3DDecomposer.cpp @@ -0,0 +1,487 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <cstring> + +#include "ColorComputer.hxx" +#include "DecompositionUtils.hxx" +#include "Plot3DDecomposer.hxx" + +extern "C" +{ +#include "getGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +} + +Plot3DDecomposer* Plot3DDecomposer::decomposer = NULL; + +void Plot3DDecomposer::fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask) +{ + double* x = NULL; + double* y = NULL; + double* z = NULL; + + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + Plot3DDecomposer* decomposer = get(); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_X__, jni_double_vector, (void**) &x); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y__, jni_double_vector, (void**) &y); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &z); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + decomposer->fillGridVertices(buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask, x, y, z, numX, numY); +} + +double Plot3DDecomposer::getZCoordinate(double* z, int numX, int numY, int i, int j) +{ + double zij = 0.; + + zij = z[numX * j + i]; + + return zij; +} + +double Plot3DDecomposer::getZCoordinate(double* z, int numX, int numY, int i, int j, int logUsed) +{ + double zij = 0.; + + zij = z[numX * j + i]; + + if (logUsed) + { + zij = DecompositionUtils::getLog10Value(zij); + } + + return zij; +} + +void Plot3DDecomposer::getFacetTriangles(double* x, double* y, double* z, int numX, int numY, int i, int j, + int* facetVertexIndices, int* triangleVertexIndices) +{ + double vertices[4][3]; + + /* Gets the facet's vertices: (i,j), (i+1,j), (i+1,j+1), (i,j+1) */ + getFacetCoordinates(x, y, z, numX, numY, i, j, vertices); + + /* Decomposes the facet into two triangles and outputs their indices */ + DecompositionUtils::getDecomposedQuadTriangleIndices(vertices, facetVertexIndices, triangleVertexIndices); +} + +/* + * To do: compute and return color indices instead of directly looking + * up colors from the colormap. + */ +void Plot3DDecomposer::fillColors(int id, float* buffer, int bufferLength, int elementsSize) +{ + int parentFigure = 0; + int* pparentFigure = &parentFigure; + int parent = 0; + int* pparent = &parent; + + double* z = NULL; + double* colormap = NULL; + + + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + int colormapSize = 0; + int* piColormapSize = &colormapSize; + + Plot3DDecomposer* decomposer = get(); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &z); + + parent = getParentObject(id); + + /* Temporary: to avoid getting a null parent_figure property when the object is built */ + if (parent == 0) + { + return; + } + + getGraphicObjectProperty(id, __GO_PARENT_FIGURE__, jni_int, (void**) &pparentFigure); + + if (parentFigure == 0) + { + return; + } + + getGraphicObjectProperty(parentFigure, __GO_COLORMAP__, jni_double_vector, (void**) &colormap); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP_SIZE__, jni_int, (void**) &piColormapSize); + + decomposer->fillNormalizedZGridColors(buffer, bufferLength, elementsSize, colormap, colormapSize, z, numX, numY); + + releaseGraphicObjectProperty(__GO_COLORMAP__, colormap, jni_double_vector, colormapSize); +} + +int Plot3DDecomposer::fillIndices(int id, int* buffer, int bufferLength, int logMask) +{ + double* x = NULL; + double* y = NULL; + double* z = NULL; + + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + int numberIndices = 0; + + Plot3DDecomposer* decomposer = get(); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + /* 0 indices if 0 points */ + if (numX == 0 || numY == 0) + { + return 0; + } + + getGraphicObjectProperty(id, __GO_DATA_MODEL_X__, jni_double_vector, (void**) &x); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y__, jni_double_vector, (void**) &y); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &z); + + /* The per-node value flag is set to 1, as grid values amount to z coordinates and are not relevant anyway. */ + numberIndices = decomposer->fillTriangleIndices(buffer, bufferLength, logMask, x, y, z, z, 1, numX, numY); + + return numberIndices; +} + +int Plot3DDecomposer::getWireIndicesSize(int id) +{ + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + if (numX == 0 || numY == 0) + { + return 0; + } + + return 2 * 2 * (numX - 1) * (numY - 1) + 2 * (numX - 1) + 2 * (numY - 1); +} + +/* + * To be optimized: + * -a lot of work performed redundantly with NgonGridDataDecomposer::fillIndices, ought to be merged + * with it. + */ +int Plot3DDecomposer::fillWireIndices(int id, int* buffer, int bufferLength, int logMask) +{ + double* x = NULL; + double* y = NULL; + double* z = NULL; + + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + int previousRowValid = 0; + int currentRowValid = 0; + int nextRowValid = 0; + + int previousColumnValid = 0; + int currentColumnValid = 0; + int nextColumnValid = 0; + + int lowerLeftZValid = 0; + int lowerRightZValid = 0; + int upperLeftZValid = 0; + int upperRightZValid = 0; + + int jm1HorizontalEdgeZValid = 0; + int im1VerticalEdgeZValid = 0; + int jHorizontalEdgeZValid = 0; + int iVerticalEdgeZValid = 0; + int jp1HorizontalEdgeZValid = 0; + int ip1VerticalEdgeZValid = 0; + + int ij = 0; + int ip1j = 0; + int ijp1 = 0; + int ip1jp1 = 0; + int ijm1 = 0; + int ip1jm1 = 0; + + int firstVertexIndex = 0; + + int bufferOffset = 0; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + /* 0 indices if less than 2 points along either dimension */ + if (numX < 2 || numY < 2) + { + return 0; + } + + getGraphicObjectProperty(id, __GO_DATA_MODEL_X__, jni_double_vector, (void**) &x); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y__, jni_double_vector, (void**) &y); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &z); + + /* First row */ + previousRowValid = 0; + currentRowValid = DecompositionUtils::isValid(y[0]); + + if (logMask & 0x2) + { + currentRowValid &= DecompositionUtils::isLogValid(y[0]); + } + + /* Set to 0 as it is not relevant for the first row iteration */ + jm1HorizontalEdgeZValid = 0; + + /* x-axis and y-axis indices (respectively) */ + for (int j = 0; j < numY - 1; j++) + { + nextRowValid = DecompositionUtils::isValid(y[j + 1]); + + if (logMask & 0x2) + { + nextRowValid &= DecompositionUtils::isLogValid(y[j + 1]); + } + + if (!currentRowValid) + { + previousRowValid = currentRowValid; + currentRowValid = nextRowValid; + continue; + } + + previousColumnValid = 0; + currentColumnValid = DecompositionUtils::isValid(x[0]); + + if (logMask & 0x1) + { + currentColumnValid &= DecompositionUtils::isLogValid(x[0]); + } + + ij = getPointIndex(numX, numY, 0, j); + ijp1 = getPointIndex(numX, numY, 0, j + 1); + + lowerLeftZValid = DecompositionUtils::isValid(z[ij]); + upperLeftZValid = DecompositionUtils::isValid(z[ijp1]); + + if (logMask & 0x4) + { + lowerLeftZValid &= DecompositionUtils::isLogValid(z[ij]); + upperLeftZValid &= DecompositionUtils::isLogValid(z[ijp1]); + } + + iVerticalEdgeZValid = lowerLeftZValid && upperLeftZValid; + + /* Set to 0 as not relevant for the first column iteration */ + im1VerticalEdgeZValid = 0; + + for (int i = 0; i < numX - 1; i++) + { +#if !PER_VERTEX_VALUES + firstVertexIndex = getFirstVertexIndex(numX, numY, i, j); +#endif + + ip1j = getPointIndex(numX, numY, i + 1, j); + ip1jp1 = getPointIndex(numX, numY, i + 1, j + 1); + + nextColumnValid = DecompositionUtils::isValid(x[i + 1]); + + if (logMask & 0x1) + { + nextColumnValid &= DecompositionUtils::isLogValid(x[i + 1]); + } + + lowerRightZValid = DecompositionUtils::isValid(z[ip1j]); + upperRightZValid = DecompositionUtils::isValid(z[ip1jp1]); + + if (logMask & 0x4) + { + lowerRightZValid &= DecompositionUtils::isLogValid(z[ip1j]); + upperRightZValid &= DecompositionUtils::isLogValid(z[ip1jp1]); + } + + if (j > 0) + { + ijm1 = getPointIndex(numX, numY, i, j - 1); + ip1jm1 = getPointIndex(numX, numY, i + 1, j - 1); + + jm1HorizontalEdgeZValid = DecompositionUtils::isValid(z[ijm1]) && DecompositionUtils::isValid(z[ip1jm1]); + + if (logMask & 0x4) + { + jm1HorizontalEdgeZValid &= (DecompositionUtils::isLogValid(z[ijm1]) && DecompositionUtils::isLogValid(z[ip1jm1])); + } + } + + jHorizontalEdgeZValid = lowerLeftZValid && lowerRightZValid; + + jp1HorizontalEdgeZValid = upperLeftZValid && upperRightZValid; + ip1VerticalEdgeZValid = lowerRightZValid && upperRightZValid; + + /* + * Two segments: between points (i,j) and (i+1,j) + * and points (i,j) and (i,j+1) . + */ + if ((currentColumnValid && nextColumnValid) && jHorizontalEdgeZValid && ((previousRowValid && jm1HorizontalEdgeZValid) || (nextRowValid && jp1HorizontalEdgeZValid))) + { +#if PER_VERTEX_VALUES + buffer[bufferOffset] = ij; + buffer[bufferOffset + 1] = ip1j; +#else + buffer[bufferOffset] = firstVertexIndex; + buffer[bufferOffset + 1] = firstVertexIndex + 1; +#endif + + bufferOffset += 2; + } + + if (currentColumnValid && nextRowValid && iVerticalEdgeZValid && ((previousColumnValid && im1VerticalEdgeZValid) || (nextColumnValid && ip1VerticalEdgeZValid))) + { +#if PER_VERTEX_VALUES + buffer[bufferOffset] = ij; + buffer[bufferOffset + 1] = ijp1; +#else + buffer[bufferOffset] = firstVertexIndex; + buffer[bufferOffset + 1] = firstVertexIndex + 2; +#endif + + bufferOffset += 2; + } + + previousColumnValid = currentColumnValid; + currentColumnValid = nextColumnValid; + lowerLeftZValid = lowerRightZValid; + upperLeftZValid = upperRightZValid; + + im1VerticalEdgeZValid = iVerticalEdgeZValid; + iVerticalEdgeZValid = ip1VerticalEdgeZValid; + + ij = ip1j; + ijp1 = ip1jp1; + } + + /* Rightmost vertical line */ + if (currentColumnValid && nextRowValid && iVerticalEdgeZValid && (previousColumnValid && im1VerticalEdgeZValid)) + { +#if PER_VERTEX_VALUES + buffer[bufferOffset] = ij; + buffer[bufferOffset + 1] = ijp1; +#else + firstVertexIndex = getFirstVertexIndex(numX, numY, numX - 2, j); + + buffer[bufferOffset] = firstVertexIndex + 1; + buffer[bufferOffset + 1] = firstVertexIndex + 3; +#endif + + bufferOffset += 2; + } + + previousRowValid = currentRowValid; + currentRowValid = nextRowValid; + } + + /* Topmost horizontal lines */ + currentRowValid = DecompositionUtils::isValid(y[numY - 1]); + + if (logMask & 0x2) + { + currentRowValid &= DecompositionUtils::isLogValid(y[numY - 1]); + } + + currentColumnValid = DecompositionUtils::isValid(x[0]); + + if (logMask & 0x1) + { + currentColumnValid = DecompositionUtils::isValid(x[0]); + } + + ij = getPointIndex(numX, numY, 0, numY - 1); + + lowerLeftZValid = DecompositionUtils::isValid(z[ij]); + + if (logMask & 0x4) + { + lowerLeftZValid &= DecompositionUtils::isValid(z[ij]); + } + + ij = getPointIndex(numX, numY, 0, numY - 1); + + for (int i = 0; i < numX - 1; i++) + { + nextColumnValid = DecompositionUtils::isValid(x[i + 1]); + + if (logMask & 0x1) + { + nextColumnValid &= DecompositionUtils::isLogValid(x[i + 1]); + } + + ip1j = getPointIndex(numX, numY, i + 1, numY - 1); + + lowerRightZValid = DecompositionUtils::isValid(z[ip1j]); + + if (logMask & 0x4) + { + lowerRightZValid &= DecompositionUtils::isLogValid(z[ip1j]); + } + + ijm1 = getPointIndex(numX, numY, i, numY - 2); + ip1jm1 = getPointIndex(numX, numY, i + 1, numY - 2); + + jm1HorizontalEdgeZValid = DecompositionUtils::isValid(z[ijm1]) && DecompositionUtils::isValid(z[ip1jm1]); + + if (logMask & 0x4) + { + jm1HorizontalEdgeZValid &= (DecompositionUtils::isLogValid(z[ijm1]) && DecompositionUtils::isLogValid(z[ip1jm1])); + } + + jHorizontalEdgeZValid = lowerLeftZValid && lowerRightZValid; + + if (currentRowValid && (currentColumnValid && nextColumnValid) && jHorizontalEdgeZValid && (previousRowValid && jm1HorizontalEdgeZValid)) + { +#if PER_VERTEX_VALUES + buffer[bufferOffset] = ij; + buffer[bufferOffset + 1] = ip1j; +#else + firstVertexIndex = getFirstVertexIndex(numX, numY, i, numY - 2); + + buffer[bufferOffset] = firstVertexIndex + 2; + buffer[bufferOffset + 1] = firstVertexIndex + 3; +#endif + + bufferOffset += 2; + } + + currentColumnValid = nextColumnValid; + lowerLeftZValid = lowerRightZValid; + + ij = ip1j; + } + + return bufferOffset; +} + diff --git a/modules/graphic_objects/src/cpp/PolylineDecomposer.cpp b/modules/graphic_objects/src/cpp/PolylineDecomposer.cpp new file mode 100755 index 000000000..6a99f921f --- /dev/null +++ b/modules/graphic_objects/src/cpp/PolylineDecomposer.cpp @@ -0,0 +1,1735 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Pierre Lando + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <iostream> + +#include "DecompositionUtils.hxx" +#include "PolylineDecomposer.hxx" +#include "Triangulator.hxx" +#include "ColorComputer.hxx" + +extern "C" +{ +#include <math.h> +#include <string.h> + +#include "getGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +} + +int PolylineDecomposer::getDataSize(int id) +{ + int nPoints = 0; + int *piNPoints = &nPoints; + int polylineStyle = 0; + int* piPolylineStyle = &polylineStyle; + int closed = 0; + int* piClosed = &closed; + + getGraphicObjectProperty(id, __GO_POLYLINE_STYLE__, jni_int, (void**) &piPolylineStyle); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**) &piNPoints); + getGraphicObjectProperty(id, __GO_CLOSED__, jni_bool, (void**) &piClosed); + + /* If 0 points, 0 elements */ + if (nPoints == 0) + { + return 0; + } + + switch (polylineStyle) + { + case 1 : + /* Segments */ + return nPoints; + case 2 : + /* Staircase */ + if (closed) + { + return 2 * nPoints; + } + else + { + return (2 * nPoints) - 1; + } + case 3 : + /* Vertical segments plus segments */ + return 2 * nPoints; + case 4 : + /* Segments with arrow heads */ + { + int nArrowVertices; + /* The numbers of arrow head vertices and indices are exactly the same */ + nArrowVertices = PolylineDecomposer::getArrowTriangleIndicesSize(nPoints, closed); + + return nPoints + nArrowVertices; + } + case 5 : + /* Filled patch */ + return nPoints; + case 6 : + /* Vertical bars plus segments */ + return 5 * nPoints; + case 7 : + /* Horizontal bars plus segments */ + return 5 * nPoints; + default : + /* To be done: remaining styles */ + return 0; + } +} + +void PolylineDecomposer::fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask) +{ + double* t = NULL; + double* xshift = NULL; + double* yshift = NULL; + double* zshift = NULL; + + int polylineStyle = 0; + int* piPolylineStyle = &polylineStyle; + + int nPoints = 0; + int *piNPoints = &nPoints; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_COORDINATES__, jni_double_vector, (void**) &t); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**) &piNPoints); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_X_COORDINATES_SHIFT__, jni_double_vector, (void**) &xshift); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y_COORDINATES_SHIFT__, jni_double_vector, (void**) &yshift); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z_COORDINATES_SHIFT__, jni_double_vector, (void**) &zshift); + + getGraphicObjectProperty(id, __GO_POLYLINE_STYLE__, jni_int, (void**) &piPolylineStyle); + + switch (polylineStyle) + { + case 1 : + fillSegmentsDecompositionVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask, t, nPoints, xshift, yshift, zshift); + break; + case 2 : + fillStairDecompositionVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask, t, nPoints, xshift, yshift, zshift); + break; + case 3 : + fillVerticalLinesDecompositionVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask, t, nPoints, xshift, yshift, zshift); + break; + case 4 : + fillSegmentsDecompositionVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask, t, nPoints, xshift, yshift, zshift); + break; + case 5 : + fillSegmentsDecompositionVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask, t, nPoints, xshift, yshift, zshift); + break; + case 6 : + fillVerticalBarsDecompositionVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask, t, nPoints, xshift, yshift, zshift); + break; + case 7 : + fillHorizontalBarsDecompositionVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask, t, nPoints, xshift, yshift, zshift); + break; + } +} + +void PolylineDecomposer::fillSegmentsDecompositionVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift) +{ + + int componentIndices[3]; + + // TODO Optimize ? (test if s = 1 and t = 0, coordinateMask = 0 ...) + for (int i = 0; i < nPoints; i++) + { + /* Offset of a polyline vertex */ + int v0 = elementsSize * i; + + componentIndices[0] = i; + componentIndices[1] = i; + componentIndices[2] = i; + + getAndWriteVertexToBuffer(buffer, v0, coordinates, componentIndices, nPoints, elementsSize, + xshift, yshift, zshift, coordinateMask, scale, translation, logMask); + } + +} + +void PolylineDecomposer::getAndWriteVertexToBuffer(float* buffer, int offset, double* coordinates, int* vertexIndices, int nPoints, int elementsSize, + double* xshift, double* yshift, double* zshift, int coordinateMask, double* scale, double* translation, int logMask) +{ + double coordinate = 0.; + + if (coordinateMask & 0x01) + { + coordinate = coordinates[vertexIndices[0]]; + + if (xshift != NULL) + { + coordinate += xshift[vertexIndices[0]]; + } + + if (logMask & 0x01) + { + coordinate = DecompositionUtils::getLog10Value(coordinate); + } + + buffer[offset + 0] = (float)(coordinate * scale[0] + translation[0]); + } + + if (coordinateMask & 0x02) + { + coordinate = coordinates[vertexIndices[1] + nPoints]; + + if (yshift != NULL) + { + coordinate += yshift[vertexIndices[1]]; + } + + if (logMask & 0x02) + { + coordinate = DecompositionUtils::getLog10Value(coordinate); + } + + buffer[offset + 1] = (float)(coordinate * scale[1] + translation[1]); + } + + if (coordinateMask & 0x04) + { + coordinate = coordinates[vertexIndices[2] + 2 * nPoints]; + + if (zshift != NULL) + { + coordinate += zshift[vertexIndices[2]]; + } + + if (logMask & 0x04) + { + coordinate = DecompositionUtils::getLog10Value(coordinate); + } + + buffer[offset + 2] = (float)(coordinate * scale[2] + translation[2]); + } + + if ((elementsSize == 4) && (coordinateMask & 0x08)) + { + buffer[offset + 3] = 1.0; + } + +} + +void PolylineDecomposer::fillStairDecompositionVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift) +{ + int closed = 0; + int* piClosed = &closed; + + /* Offsets of the left and right vertices (respectively) */ + int v0 = 0; + int v1 = 0; + + int componentIndices[3]; + + if (nPoints == 0) + { + return; + } + + getGraphicObjectProperty(id, __GO_CLOSED__, jni_bool, (void**) &piClosed); + + for (int i = 0; i < nPoints - 1; i++) + { + v0 = elementsSize * 2 * i; + v1 = elementsSize * (2 * i + 1); + + componentIndices[0] = i; + componentIndices[1] = i; + componentIndices[2] = i; + + getAndWriteVertexToBuffer(buffer, v0, coordinates, componentIndices, nPoints, elementsSize, xshift, yshift, zshift, coordinateMask, scale, translation, logMask); + + componentIndices[0] = i + 1; + componentIndices[1] = i; + componentIndices[2] = i; + + /* To be optimized: the y and z components are fetched and transformed twice */ + getAndWriteVertexToBuffer(buffer, v1, coordinates, componentIndices, nPoints, elementsSize, xshift, yshift, zshift, coordinateMask, scale, translation, logMask); + } + + /* Last point */ + v0 = elementsSize * 2 * (nPoints - 1); + + componentIndices[0] = nPoints - 1; + componentIndices[1] = nPoints - 1; + componentIndices[2] = nPoints - 1; + + getAndWriteVertexToBuffer(buffer, v0, coordinates, componentIndices, nPoints, elementsSize, xshift, yshift, zshift, coordinateMask, scale, translation, logMask); + + /* + * One additional vertex if closed + * Its x-coordinate is equal to the one of the polyline's first point + * whereas its y and z coordinates are equal to those of the last point. + */ + if (closed) + { + v0 = elementsSize * (2 * nPoints - 1); + + componentIndices[0] = 0; + componentIndices[1] = nPoints - 1; + componentIndices[2] = nPoints - 1; + + getAndWriteVertexToBuffer(buffer, v0, coordinates, componentIndices, nPoints, elementsSize, xshift, yshift, zshift, coordinateMask, scale, translation, logMask); + } + +} + +void PolylineDecomposer::fillVerticalLinesDecompositionVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift) +{ + for (int i = 0; i < nPoints; i++) + { + /* Offsets of the lower and upper vertices (respectively) */ + int v0 = 0; + int v1 = 0; + + /* Coordinates of the lower and upper vertices (respectively) */ + double coord0 = 0.; + double coord1 = 0.; + + v0 = elementsSize * 2 * i; + v1 = elementsSize * (2 * i + 1); + + /* Lower and upper endpoints x coordinates */ + if (coordinateMask & 0x01) + { + coord0 = coordinates[i]; + coord1 = coordinates[i]; + + if (xshift != NULL) + { + coord0 += xshift[i]; + coord1 += xshift[i]; + } + + if (logMask & 0x01) + { + coord0 = DecompositionUtils::getLog10Value(coord0); + coord1 = DecompositionUtils::getLog10Value(coord1); + } + + buffer[v0 + 0] = (float)(coord0 * scale[0] + translation[0]); + buffer[v1 + 0] = (float)(coord1 * scale[0] + translation[0]); + } + + /* Lower and upper endpoints y coordinates */ + if (coordinateMask & 0x02) + { + coord0 = 0.0; + coord1 = coordinates[i + nPoints]; + + if (yshift != NULL) + { + /* + * Only the upper vertex's y coordinate is shifted, + * the lower vertex's one remains unchanged. + */ + coord1 += yshift[i]; + } + + if (logMask & 0x02) + { + /* The lower endpoint's y coordinate is unchanged (it amounts to log10(1), which is 0) */ + coord1 = DecompositionUtils::getLog10Value(coord1); + } + + buffer[v0 + 1] = (float)(coord0 * scale[1] + translation[1]); + buffer[v1 + 1] = (float)(coord1 * scale[1] + translation[1]); + } + + /* Lower and upper endpoints z coordinates */ + if (coordinateMask & 0x04) + { + coord0 = coordinates[2 * nPoints + i]; + coord1 = coordinates[2 * nPoints + i]; + + if (zshift != NULL) + { + coord0 += zshift[i]; + coord1 += zshift[i]; + } + + if (logMask & 0x04) + { + coord0 = DecompositionUtils::getLog10Value(coord0); + coord1 = DecompositionUtils::getLog10Value(coord1); + } + + buffer[v0 + 2] = (float)(coord0 * scale[2] + translation[2]); + buffer[v1 + 2] = (float)(coord1 * scale[2] + translation[2]); + } + + if ((elementsSize == 4) && (coordinateMask & 0x08)) + { + buffer[v0 + 3] = 1.0; + buffer[v1 + 3] = 1.0; + } + + } + +} + +void PolylineDecomposer::writeBarVerticesToBuffer(float* buffer, int* offsets, int componentOffset, double* coordinates, double shift, int shiftUsed, + double scale, double translation, int logUsed) +{ + if (shiftUsed) + { + coordinates[0] += shift; + coordinates[1] += shift; + coordinates[2] += shift; + coordinates[3] += shift; + + coordinates[4] += shift; + } + + if (logUsed) + { + coordinates[0] = DecompositionUtils::getLog10Value(coordinates[0]); + coordinates[1] = DecompositionUtils::getLog10Value(coordinates[1]); + coordinates[2] = DecompositionUtils::getLog10Value(coordinates[2]); + coordinates[3] = DecompositionUtils::getLog10Value(coordinates[3]); + + coordinates[4] = DecompositionUtils::getLog10Value(coordinates[4]); + } + + buffer[offsets[0] + componentOffset] = (float)(coordinates[0] * scale + translation); + buffer[offsets[1] + componentOffset] = (float)(coordinates[1] * scale + translation); + buffer[offsets[2] + componentOffset] = (float)(coordinates[2] * scale + translation); + buffer[offsets[3] + componentOffset] = (float)(coordinates[3] * scale + translation); + + buffer[offsets[4] + componentOffset] = (float)(coordinates[4] * scale + translation); +} + +void PolylineDecomposer::fillVerticalBarsDecompositionVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift) +{ + double barWidth = 0.0; + double* pdBarWidth = &barWidth; + + int shiftUsed[3]; + int *piShiftUsed = NULL; + + /* + * Offsets of the lower-left, lower-right, upper-right and upper-left bar vertices (respectively) + * and of the polyline vertex proper + */ + int offsets[5]; + + /* + * {x,y or z}-component values of a bar's 4 vertices (same ordering as the offsets) + * and of the polyline vertex proper. + */ + double coords[5]; + + double shift = 0.; + + + getGraphicObjectProperty(id, __GO_BAR_WIDTH__, jni_double, (void**) &pdBarWidth); + + piShiftUsed = &shiftUsed[0]; + getGraphicObjectProperty(id, __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__, jni_double_vector, (void**) &piShiftUsed); + piShiftUsed = &shiftUsed[1]; + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__, jni_double_vector, (void**) &piShiftUsed); + piShiftUsed = &shiftUsed[2]; + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__, jni_double_vector, (void**) &piShiftUsed); + + + for (int i = 0; i < nPoints; i++) + { + offsets[0] = elementsSize * 4 * i; + offsets[1] = elementsSize * (4 * i + 1); + offsets[2] = elementsSize * (4 * i + 2); + offsets[3] = elementsSize * (4 * i + 3); + + offsets[4] = elementsSize * (4 * nPoints + i); + + if (coordinateMask & 0x01) + { + coords[0] = coordinates[i] - 0.5 * barWidth; + coords[1] = coordinates[i] + 0.5 * barWidth; + coords[2] = coordinates[i] + 0.5 * barWidth; + coords[3] = coordinates[i] - 0.5 * barWidth; + + coords[4] = coordinates[i]; + + if (shiftUsed[0]) + { + shift = xshift[i]; + } + + writeBarVerticesToBuffer(buffer, offsets, 0, coords, shift, shiftUsed[0], scale[0], translation[0], logMask & 0x01); + } + + if (coordinateMask & 0x02) + { + coords[0] = 0.0; + coords[1] = 0.0; + coords[2] = coordinates[i + nPoints]; + coords[3] = coordinates[i + nPoints]; + + coords[4] = coordinates[i + nPoints]; + + if (shiftUsed[1]) + { + shift = yshift[i]; + } + + if (logMask & 0x02) + { + /* + * The two lower endpoints' y coordinates must be set to 1 + * since writeBarVerticesToBuffer applies the logarithmic transformation. + */ + coords[0] = 1.0; + coords[1] = 1.0; + } + + writeBarVerticesToBuffer(buffer, offsets, 1, coords, shift, shiftUsed[1], scale[1], translation[1], logMask & 0x02); + } + + if (coordinateMask & 0x04) + { + coords[0] = coordinates[i + 2 * nPoints]; + coords[1] = coordinates[i + 2 * nPoints]; + coords[2] = coordinates[i + 2 * nPoints]; + coords[3] = coordinates[i + 2 * nPoints]; + + coords[4] = coordinates[i + 2 * nPoints]; + + if (shiftUsed[2]) + { + shift = zshift[i]; + } + + writeBarVerticesToBuffer(buffer, offsets, 2, coords, shift, shiftUsed[2], scale[2], translation[2], logMask & 0x04); + } + + if ((elementsSize == 4) && (coordinateMask & 0x08)) + { + buffer[offsets[0] + 3] = 1.0; + buffer[offsets[1] + 3] = 1.0; + buffer[offsets[2] + 3] = 1.0; + buffer[offsets[3] + 3] = 1.0; + + buffer[offsets[4] + 3] = 1.0; + } + + } + +} + +/* + * To do: -refactor with fillVerticalBarsDecompositionVertices as these two functions are very similar, possibly by implementing + a PolylineBarDecomposer class. +*/ +void PolylineDecomposer::fillHorizontalBarsDecompositionVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift) +{ + double barWidth = 0.0; + double* pdBarWidth = &barWidth; + + int shiftUsed[3]; + int *piShiftUsed = NULL; + + /* + * Offsets of the lower-left, lower-right, upper-right and upper-left bar vertices (respectively) + * and of the polyline vertex proper + */ + int offsets[5]; + + /* + * {x,y or z}-component values of a bar's 4 vertices (same ordering as the offsets) + * and of the polyline vertex proper. + */ + double coords[5]; + + double shift = 0.; + + + getGraphicObjectProperty(id, __GO_BAR_WIDTH__, jni_double, (void**) &pdBarWidth); + + piShiftUsed = &shiftUsed[0]; + getGraphicObjectProperty(id, __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__, jni_double_vector, (void**) &piShiftUsed); + piShiftUsed = &shiftUsed[1]; + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__, jni_double_vector, (void**) &piShiftUsed); + piShiftUsed = &shiftUsed[2]; + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__, jni_double_vector, (void**) &piShiftUsed); + + for (int i = 0; i < nPoints; i++) + { + offsets[0] = elementsSize * 4 * i; + offsets[1] = elementsSize * (4 * i + 1); + offsets[2] = elementsSize * (4 * i + 2); + offsets[3] = elementsSize * (4 * i + 3); + + offsets[4] = elementsSize * (4 * nPoints + i); + + /* The actual x coordinates correspond to the polyline's y coordinates. */ + if (coordinateMask & 0x01) + { + coords[0] = 0.0; + coords[1] = 0.0; + coords[2] = coordinates[i + nPoints]; + coords[3] = coordinates[i + nPoints]; + + coords[4] = coordinates[i]; + + if (shiftUsed[1]) + { + shift = yshift[i]; + } + + writeBarVerticesToBuffer(buffer, offsets, 0, coords, shift, shiftUsed[1], scale[0], translation[0], logMask & 0x01); + } + + /* The actual y coordinates correspond to the polyline's x coordinates. */ + if (coordinateMask & 0x02) + { + coords[0] = coordinates[i] - 0.5 * barWidth; + coords[1] = coordinates[i] + 0.5 * barWidth; + coords[2] = coordinates[i] + 0.5 * barWidth; + coords[3] = coordinates[i] - 0.5 * barWidth; + + coords[4] = coordinates[i + nPoints]; + + if (shiftUsed[0]) + { + shift = xshift[i]; + } + + if (logMask & 0x02) + { + /* + * The two lower endpoints' y coordinates must be set to 1 + * since writeBarVerticesToBuffer applies the logarithmic transformation. + */ + coords[0] = 1.0; + coords[1] = 1.0; + } + + writeBarVerticesToBuffer(buffer, offsets, 1, coords, shift, shiftUsed[0], scale[1], translation[1], logMask & 0x02); + } + + if (coordinateMask & 0x04) + { + coords[0] = coordinates[i + 2 * nPoints]; + coords[1] = coordinates[i + 2 * nPoints]; + coords[2] = coordinates[i + 2 * nPoints]; + coords[3] = coordinates[i + 2 * nPoints]; + + coords[4] = coordinates[i + 2 * nPoints]; + + if (shiftUsed[2]) + { + shift = zshift[i]; + } + + writeBarVerticesToBuffer(buffer, offsets, 2, coords, shift, shiftUsed[2], scale[2], translation[2], logMask & 0x04); + } + + if ((elementsSize == 4) && (coordinateMask & 0x08)) + { + buffer[offsets[0] + 3] = 1.0; + buffer[offsets[1] + 3] = 1.0; + buffer[offsets[2] + 3] = 1.0; + buffer[offsets[3] + 3] = 1.0; + + buffer[offsets[4] + 3] = 1.0; + } + + } + +} + +/* + * To do: + * -implement for the other relevant polyline style values. + * -fix the no colors written problem (related to polyline C build functions, see below). + */ +void PolylineDecomposer::fillColors(int id, float* buffer, int bufferLength, int elementsSize) +{ + int parent = 0; + int* pparent = &parent; + int parentFigure = 0; + int* pparentFigure = &parentFigure; + + int interpColorMode = 0; + int* piInterpColorMode = &interpColorMode; + int polylineStyle = 0; + int* piPolylineStyle = &polylineStyle; + int nPoints = 0; + int *piNPoints = &nPoints; + int colormapSize = 0; + int* piColormapSize = &colormapSize; + int bufferOffset = 0; + int* interpColorVector = NULL; + + double* colormap = NULL; + + getGraphicObjectProperty(id, __GO_INTERP_COLOR_MODE__, jni_bool, (void**) &piInterpColorMode); + + if (interpColorMode == 0) + { + return; + } + + getGraphicObjectProperty(id, __GO_POLYLINE_STYLE__, jni_int, (void**) &piPolylineStyle); + + if (polylineStyle != 1) + { + return; + } + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**) &piNPoints); + parent = getParentObject(id); + + /* Temporary: to avoid getting a null parent_figure property when the object is built */ + if (parent == 0) + { + return; + } + + getGraphicObjectProperty(id, __GO_PARENT_FIGURE__, jni_int, (void**) &pparentFigure); + + /* + * In some cases, the polyline's parent figure may be unitialized, when this point is reached from the + * filled polygons build C functions (xfpolys, with several polygons and a color vector for each one). + * This check prevents from crashing when getting the colormap. However, it results in incorrectly + * black-filled polygons, as no colors are written. + * As the sequentially built polygons are inserted within a Compound object, the latter object may be + * still unattached to a Figure as its Polyline children are rendered. This occurs about once in 5 to 10, + * hence possibly caused by a race condition. + * To be fixed. + */ + if (parentFigure == 0) + { + return; + } + + /* + * The interpolated color vector is a 3- or 4-element vector. + * However, if nPoints is greater than 4, we choose to output + * 4 colors (this behaviour is kept for compatibility, see fillTriangleIndices). + */ + if (nPoints < 3) + { + return; + } + + getGraphicObjectProperty(id, __GO_INTERP_COLOR_VECTOR__, jni_int_vector, (void**) &interpColorVector); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP__, jni_double_vector, (void**) &colormap); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP_SIZE__, jni_int, (void**) &piColormapSize); + + if (nPoints > 4) + { + nPoints = 4; + } + + for (int i = 0; i < nPoints; i++) + { + ColorComputer::getDirectColor((double) interpColorVector[i] - 1.0, colormap, colormapSize, &buffer[bufferOffset]); + + if (elementsSize == 4) + { + buffer[bufferOffset + 3] = 1.0; + } + + bufferOffset += elementsSize; + } + + releaseGraphicObjectProperty(__GO_COLORMAP__, colormap, jni_double_vector, colormapSize); + releaseGraphicObjectProperty(__GO_INTERP_COLOR_VECTOR__, interpColorVector, jni_int_vector, 0); +} + +void PolylineDecomposer::fillTextureCoordinates(int id, float* buffer, int bufferLength) +{ + int parent = 0; + int* pparent = &parent; + int parentFigure = 0; + int* pparentFigure = &parentFigure; + + int interpColorMode = 0; + int* piInterpColorMode = &interpColorMode; + int polylineStyle = 0; + int* piPolylineStyle = &polylineStyle; + int nPoints = 0; + int *piNPoints = &nPoints; + int colormapSize = 0; + int* piColormapSize = &colormapSize; + int bufferOffset = 0; + int* interpColorVector = NULL; + + double* colormap = NULL; + + getGraphicObjectProperty(id, __GO_INTERP_COLOR_MODE__, jni_bool, (void**) &piInterpColorMode); + + if (interpColorMode == 0) + { + return; + } + + getGraphicObjectProperty(id, __GO_POLYLINE_STYLE__, jni_int, (void**) &piPolylineStyle); + + if (polylineStyle != 1) + { + return; + } + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**) &piNPoints); + parent = getParentObject(id); + + /* Temporary: to avoid getting a null parent_figure property when the object is built */ + if (parent == 0) + { + return; + } + + getGraphicObjectProperty(id, __GO_PARENT_FIGURE__, jni_int, (void**) &pparentFigure); + + /* + * In some cases, the polyline's parent figure may be unitialized, when this point is reached from the + * filled polygons build C functions (xfpolys, with several polygons and a color vector for each one). + * This check prevents from crashing when getting the colormap. However, it results in incorrectly + * black-filled polygons, as no colors are written. + * As the sequentially built polygons are inserted within a Compound object, the latter object may be + * still unattached to a Figure as its Polyline children are rendered. This occurs about once in 5 to 10, + * hence possibly caused by a race condition. + * To be fixed. + */ + if (parentFigure == 0) + { + return; + } + + /* + * The interpolated color vector is a 3- or 4-element vector. + * However, if nPoints is greater than 4, we choose to output + * 4 colors (this behaviour is kept for compatibility, see fillTriangleIndices). + */ + if (nPoints < 3) + { + return; + } + + getGraphicObjectProperty(id, __GO_INTERP_COLOR_VECTOR__, jni_int_vector, (void**) &interpColorVector); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP__, jni_double_vector, (void**) &colormap); + getGraphicObjectProperty(parentFigure, __GO_COLORMAP_SIZE__, jni_int, (void**) &piColormapSize); + + if (nPoints > 4) + { + nPoints = 4; + } + + for (int i = 0; i < nPoints; i++) + { + double index = (ColorComputer::getDirectIndex((double) interpColorVector[i] - 1.0, colormapSize) + 2.0 + COLOR_TEXTURE_OFFSET) / (double) (colormapSize + 2); + + buffer[bufferOffset] = (float)index; + buffer[bufferOffset + 1] = 0.0; + buffer[bufferOffset + 2] = 0.0; + buffer[bufferOffset + 3] = 1.0; + + bufferOffset += 4; + } + + releaseGraphicObjectProperty(__GO_COLORMAP__, colormap, jni_double_vector, colormapSize); + releaseGraphicObjectProperty(__GO_INTERP_COLOR_VECTOR__, interpColorVector, jni_int_vector, 0); +} + +/* + * To do: see fillIndices + * -take into account polyline_style. + */ +int PolylineDecomposer::getIndicesSize(int id) +{ + int nPoints = 0; + int *piNPoints = &nPoints; + int polylineStyle = 0; + int* piPolylineStyle = &polylineStyle; + int closed = 0; + int* piClosed = &closed; + + int nIndices = 0; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**) &piNPoints); + getGraphicObjectProperty(id, __GO_POLYLINE_STYLE__, jni_int, (void**) &piPolylineStyle); + getGraphicObjectProperty(id, __GO_CLOSED__, jni_bool, (void**) &piClosed); + + /* No facets if 0 points */ + if (nPoints == 0) + { + return 0; + } + + /* Segments */ + if (polylineStyle == 1) + { + if (nPoints < 3) + { + return 0; + } + + /* Maximum number of triangles output by the triangulator */ + nIndices = 3 * (nPoints - 2); + } + /* Arrowed segments */ + else if (polylineStyle == 4) + { + nIndices = PolylineDecomposer::getArrowTriangleIndicesSize(nPoints, closed); + } + /* Filled patch */ + else if (polylineStyle == 5) + { + if (nPoints < 3) + { + return 0; + } + + /* Maximum number of triangles output by the triangulator */ + nIndices = 3 * (nPoints - 2); + } + /* Vertical bars plus segments */ + else if (polylineStyle == 6) + { + nIndices = PolylineDecomposer::getBarsDecompositionTriangleIndicesSize(nPoints); + } + /* Horizontal bars plus segments */ + else if (polylineStyle == 7) + { + nIndices = PolylineDecomposer::getBarsDecompositionTriangleIndicesSize(nPoints); + } + + return nIndices; +} + +int PolylineDecomposer::getArrowTriangleIndicesSize(int nPoints, int closed) +{ + int nIndices = 0; + + if (nPoints < 2) + { + nIndices = 0; + } + else + { + nIndices = 3 * (nPoints - 1); + + if (closed) + { + nIndices += 3; + } + } + + return nIndices; +} + +int PolylineDecomposer::getBarsDecompositionTriangleIndicesSize(int nPoints) +{ + return 2 * 3 * nPoints; +} + +/* + * To do: + * -take into account the polyline style property (note: vertical bars -style 6- are filled + * whatever fill_mode's value), by implementing the relevant functions (see fillTriangleIndices), + * as the curve must be filled if fill_mode set to on, whatever its polyline style value. + */ +int PolylineDecomposer::fillIndices(int id, int* buffer, int bufferLength, int logMask) +{ + double* coordinates = NULL; + double* xshift = NULL; + double* yshift = NULL; + double* zshift = NULL; + + int nPoints = 0; + int* piNPoints = &nPoints; + int polylineStyle = 0; + int* piPolylineStyle = &polylineStyle; + int fillMode = 0; + int* piFillMode = &fillMode; + + getGraphicObjectProperty(id, __GO_DATA_MODEL_COORDINATES__, jni_double_vector, (void**) &coordinates); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**) &piNPoints); + getGraphicObjectProperty(id, __GO_POLYLINE_STYLE__, jni_int, (void**) &piPolylineStyle); + getGraphicObjectProperty(id, __GO_DATA_MODEL_X_COORDINATES_SHIFT__, jni_double_vector, (void**) &xshift); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y_COORDINATES_SHIFT__, jni_double_vector, (void**) &yshift); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z_COORDINATES_SHIFT__, jni_double_vector, (void**) &zshift); + + getGraphicObjectProperty(id, __GO_FILL_MODE__, jni_bool, (void**) &piFillMode); + + /* 0 triangles if 0 points */ + if (nPoints == 0) + { + return 0; + } + + switch (polylineStyle) + { + case 1 : + return fillTriangleIndices(id, buffer, bufferLength, logMask, coordinates, nPoints, xshift, yshift, zshift, fillMode, polylineStyle); + case 4 : + return fillArrowTriangleIndices(id, buffer, bufferLength, logMask, coordinates, nPoints, xshift, yshift, zshift); + case 5 : + /* Set fill mode to on, since patches are always filled whatever fill mode's value */ + return fillTriangleIndices(id, buffer, bufferLength, logMask, coordinates, nPoints, xshift, yshift, zshift, 1, polylineStyle); + case 6 : + return fillBarsDecompositionTriangleIndices(id, buffer, bufferLength, logMask, coordinates, nPoints, xshift, yshift, zshift); + case 7 : + return fillBarsDecompositionTriangleIndices(id, buffer, bufferLength, logMask, coordinates, nPoints, xshift, yshift, zshift); + } + + return 0; +} + +int PolylineDecomposer::fillTriangleIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift, int fillMode, int polylineStyle) +{ + double coords[4][3]; + + int interpColorMode = 0; + int* piInterpColorMode = &interpColorMode; + int triangulate = 0; + + int isValid = 0; + int tmpValid = 0; + int nIndices = 0; + + /* At least 3 points needed */ + if (nPoints < 3) + { + return 0; + } + + if (fillMode == 0) + { + return 0; + } + + getGraphicObjectProperty(id, __GO_INTERP_COLOR_MODE__, jni_bool, (void**) &piInterpColorMode); + + /* + * Do not triangulate if the interpolated color mode is set to 'on' and the polyline style is filled patch (5). + * The quadrilateral facet decomposition function is used instead, if nPoints == 4, + * for compatibility reasons, although triangulation could be used. + */ + if (interpColorMode && polylineStyle != 5) + { + triangulate = 0; + } + else if (nPoints > 3) + { + /* Perform triangulation only if more than 3 points */ + triangulate = 1; + } + + if (triangulate) + { + Triangulator triangulator; + int numTriangles; + int* indices; + + isValid = 1; + + for (int i = 0; i < nPoints; i++) + { + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, i, &coords[0][0], &coords[0][1], &coords[0][2]); + + tmpValid = DecompositionUtils::isValid(coords[0][0], coords[0][1], coords[0][2]); + + if (logMask) + { + tmpValid &= DecompositionUtils::isLogValid(coords[0][0], coords[0][1], coords[0][2], logMask); + + if (logMask & 0x01) + { + coords[0][0] = DecompositionUtils::getLog10Value(coords[0][0]); + } + + if (logMask & 0x02) + { + coords[0][1] = DecompositionUtils::getLog10Value(coords[0][1]); + } + + if (logMask & 0x04) + { + coords[0][2] = DecompositionUtils::getLog10Value(coords[0][2]); + } + } + + isValid &= tmpValid; + + if (!isValid) + { + break; + } + + triangulator.addPoint(coords[0][0], coords[0][1], coords[0][2]); + } + + if (!isValid) + { + return 0; + } + + /* Triangulate */ + triangulator.initialize(); + triangulator.triangulate(); + + numTriangles = triangulator.getNumberTriangles(); + indices = triangulator.getIndices(); + + for (int i = 0; i < numTriangles; i++) + { + buffer[3 * i] = indices[3 * i]; + buffer[3 * i + 1] = indices[3 * i + 1]; + buffer[3 * i + 2] = indices[3 * i + 2]; + nIndices += 3; + } + + triangulator.clear(); + + return nIndices; + } + else + { + /* Do not triangulate: either the interpolation color mode is set to on or it is not and there are only 3 points. */ + + /* 3 points: only one triangle output */ + if (nPoints == 3) + { + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, 0, &coords[0][0], &coords[0][1], &coords[0][2]); + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, 1, &coords[1][0], &coords[1][1], &coords[1][2]); + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, 2, &coords[2][0], &coords[2][1], &coords[2][2]); + + tmpValid = DecompositionUtils::isValid(coords[0][0], coords[0][1], coords[0][2]); + tmpValid &= DecompositionUtils::isValid(coords[1][0], coords[1][1], coords[1][2]); + tmpValid &= DecompositionUtils::isValid(coords[2][0], coords[2][1], coords[2][2]); + + isValid = tmpValid; + + if (logMask) + { + tmpValid = DecompositionUtils::isLogValid(coords[0][0], coords[0][1], coords[0][2], logMask); + tmpValid &= DecompositionUtils::isLogValid(coords[1][0], coords[1][1], coords[1][2], logMask); + tmpValid &= DecompositionUtils::isLogValid(coords[2][0], coords[2][1], coords[2][2], logMask); + isValid &= tmpValid; + } + + if (isValid) + { + buffer[0] = 0; + buffer[1] = 1; + buffer[2] = 2; + + nIndices += 3; + } + } + else if (nPoints >= 4) + { + /* + * 4 points: the quadrilateral facet decomposition algorithm is used. + * If the Polyline has more than 4 points, we still output two triangles + * corresponding to the first 4 points. This behaviour is kept for compatibility. + * Possible correction: do not output indices if there are more than 4 points and + * the interpolation color mode is set to on. + */ + int facetVertexIndices[4] = {0, 1, 2, 3}; + + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, 0, &coords[0][0], &coords[0][1], &coords[0][2]); + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, 1, &coords[1][0], &coords[1][1], &coords[1][2]); + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, 2, &coords[2][0], &coords[2][1], &coords[2][2]); + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, 3, &coords[3][0], &coords[3][1], &coords[3][2]); + + tmpValid = DecompositionUtils::isValid(coords[0][0], coords[0][1], coords[0][2]); + tmpValid &= DecompositionUtils::isValid(coords[1][0], coords[1][1], coords[1][2]); + tmpValid &= DecompositionUtils::isValid(coords[2][0], coords[2][1], coords[2][2]); + tmpValid &= DecompositionUtils::isValid(coords[3][0], coords[3][1], coords[3][2]); + + isValid = tmpValid; + + if (logMask) + { + tmpValid = DecompositionUtils::isLogValid(coords[0][0], coords[0][1], coords[0][2], logMask); + tmpValid &= DecompositionUtils::isLogValid(coords[1][0], coords[1][1], coords[1][2], logMask); + tmpValid &= DecompositionUtils::isLogValid(coords[2][0], coords[2][1], coords[2][2], logMask); + tmpValid &= DecompositionUtils::isLogValid(coords[3][0], coords[3][1], coords[3][2], logMask); + isValid &= tmpValid; + } + + if (isValid) + { + DecompositionUtils::getDecomposedQuadTriangleIndices(coords, facetVertexIndices, buffer); + nIndices += 6; + } + } + + } + + return nIndices; +} + +int PolylineDecomposer::fillArrowTriangleIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift) +{ + int closed = 0; + int* piClosed = &closed; + + int currentValid = 0; + int nextValid = 0; + + int firstArrowVertex = 0; + int nArrows = 0; + + int offset = 0; + int numberValidIndices = 0; + + /* At least 2 points needed to form segments */ + if (nPoints < 2) + { + return 0; + } + + getGraphicObjectProperty(id, __GO_CLOSED__, jni_bool, (void**) &piClosed); + + /* If closed, an additional segment is present */ + if (closed) + { + nArrows = nPoints; + } + else + { + nArrows = nPoints - 1; + } + + /* + * Arrow head vertices are stored consecutively after all the line vertices. + * Hence the offset to the first arrow vertex. + */ + firstArrowVertex = nPoints; + + for (int i = 0; i < nArrows; i++) + { + /* Indices of the tip, left and right vertices */ + int n = 3 * i; + buffer[n] = firstArrowVertex + n; + buffer[n + 1] = buffer[n] + 1; + buffer[n + 2] = buffer[n] + 2; + } + + return 3 * nArrows; +} + +/* + * Only bars are filled at the present moment, the curve is not. + * See fillTriangleIndices for more information. + */ +int PolylineDecomposer::fillBarsDecompositionTriangleIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift) +{ + double barWidth = 0.0; + double* pdBarWidth = &barWidth; + double coordsi[3]; + + int triangleIndices[6]; + int offset = 0; + int numberValidIndices = 0; + + if (nPoints == 0) + { + return 0; + } + + getGraphicObjectProperty(id, __GO_BAR_WIDTH__, jni_double, (void**) &pdBarWidth); + + /* 0 indices if the bar width is invalid, as it is the same for all bars. */ + if (!DecompositionUtils::isValid(barWidth)) + { + return 0; + } + + /* + * Gets the indices corresponding to a rectangle decomposed into 2 triangles. + * All the bars are decomposed the same way. + */ + DecompositionUtils::getDecomposedRectangleTriangleIndices(triangleIndices); + + /* Bars */ + for (int i = 0; i < nPoints; i++) + { + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, i, &coordsi[0], &coordsi[1], &coordsi[2]); + + if (DecompositionUtils::isValid(coordsi[0], coordsi[1], coordsi[2])) + { + if (logMask && !DecompositionUtils::isLogValid(coordsi[0], coordsi[1], coordsi[2], logMask)) + { + continue; + } + + buffer[6 * offset] = 4 * i + triangleIndices[0]; + buffer[6 * offset + 1] = 4 * i + triangleIndices[1]; + buffer[6 * offset + 2] = 4 * i + triangleIndices[2]; + buffer[6 * offset + 3] = 4 * i + triangleIndices[3]; + buffer[6 * offset + 4] = 4 * i + triangleIndices[4]; + buffer[6 * offset + 5] = 4 * i + triangleIndices[5]; + + numberValidIndices += 6; + offset++; + } + + } + + return numberValidIndices; +} + +int PolylineDecomposer::getWireIndicesSize(int id) +{ + int nPoints = 0; + int *piNPoints = &nPoints; + int polylineStyle = 0; + int* piPolylineStyle = &polylineStyle; + + int lineMode = 0; + int* piLineMode = &lineMode; + + int closed = 0; + int* piClosed = &closed; + + getGraphicObjectProperty(id, __GO_POLYLINE_STYLE__, jni_int, (void**) &piPolylineStyle); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**) &piNPoints); + getGraphicObjectProperty(id, __GO_LINE_MODE__, jni_bool, (void**) &piLineMode); + getGraphicObjectProperty(id, __GO_CLOSED__, jni_bool, (void**) &piClosed); + + /* No segments if 0 points */ + if (nPoints == 0) + { + return 0; + } + + switch (polylineStyle) + { + case 1: + /* Segments */ + return getSegmentsDecompositionSegmentIndicesSize(nPoints, lineMode, closed); + case 2 : + /* Staircase */ + return getStairDecompositionSegmentIndicesSize(nPoints, lineMode, closed); + case 3 : + /* Vertical segments plus segments */ + return getVerticalLinesDecompositionSegmentIndicesSize(nPoints, lineMode); + case 4 : + /* Segments with arrow heads */ + return getSegmentsDecompositionSegmentIndicesSize(nPoints, lineMode, closed); + case 5 : + /* Filled patch */ + return getSegmentsDecompositionSegmentIndicesSize(nPoints, lineMode, closed); + case 6 : + /* Vertical bars plus segments */ + return getBarsDecompositionSegmentIndicesSize(nPoints, lineMode); + case 7 : + /* Horizontal bars plus segments */ + return getBarsDecompositionSegmentIndicesSize(nPoints, lineMode); + } + + return 0; +} + +int PolylineDecomposer::getSegmentsDecompositionSegmentIndicesSize(int nPoints, int lineMode, int closed) +{ + if (nPoints < 2) + { + return 0; + } + + if (lineMode) + { + if (closed) + { + return nPoints + 1; + } + else + { + return nPoints; + } + } + else + { + return 0; + } +} + +int PolylineDecomposer::getStairDecompositionSegmentIndicesSize(int nPoints, int lineMode, int closed) +{ + if (nPoints < 2) + { + return 0; + } + + if (lineMode) + { + if (closed) + { + return 2 * nPoints + 1; + } + else + { + return 2 * nPoints - 1; + } + } + else + { + return 0; + } +} + +int PolylineDecomposer::getVerticalLinesDecompositionSegmentIndicesSize(int nPoints, int lineMode) +{ + if (nPoints == 0) + { + return 0; + } + + if (lineMode) + { + return 2 * (nPoints) + 2 * (nPoints - 1); + } + else + { + return 2 * (nPoints); + } +} + +int PolylineDecomposer::getBarsDecompositionSegmentIndicesSize(int nPoints, int lineMode) +{ + if (nPoints == 0) + { + return 0; + } + + if (lineMode) + { + return 2 * 4 * (nPoints) + 2 * (nPoints - 1); + } + else + { + return 2 * 4 * (nPoints); + } +} + +int PolylineDecomposer::fillWireIndices(int id, int* buffer, int bufferLength, int logMask) +{ + double* coordinates = NULL; + double* xshift = NULL; + double* yshift = NULL; + double* zshift = NULL; + + int polylineStyle = 0; + int* piPolylineStyle = &polylineStyle; + int nPoints = 0; + int* piNPoints = &nPoints; + int closed = 0; + int* piClosed = &closed; + int lineMode = 0; + int* piLineMode = &lineMode; + + getGraphicObjectProperty(id, __GO_POLYLINE_STYLE__, jni_int, (void**) &piPolylineStyle); + + getGraphicObjectProperty(id, __GO_DATA_MODEL_COORDINATES__, jni_double_vector, (void**) &coordinates); + getGraphicObjectProperty(id, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**) &piNPoints); + getGraphicObjectProperty(id, __GO_DATA_MODEL_X_COORDINATES_SHIFT__, jni_double_vector, (void**) &xshift); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Y_COORDINATES_SHIFT__, jni_double_vector, (void**) &yshift); + getGraphicObjectProperty(id, __GO_DATA_MODEL_Z_COORDINATES_SHIFT__, jni_double_vector, (void**) &zshift); + + getGraphicObjectProperty(id, __GO_LINE_MODE__, jni_bool, (void**) &piLineMode); + getGraphicObjectProperty(id, __GO_CLOSED__, jni_bool, (void**) &piClosed); + + switch (polylineStyle) + { + case 1 : + return fillSegmentsDecompositionSegmentIndices(id, buffer, bufferLength, logMask, coordinates, nPoints, xshift, yshift, zshift, lineMode, closed); + case 2 : + return fillStairDecompositionSegmentIndices(id, buffer, bufferLength, logMask, coordinates, nPoints, xshift, yshift, zshift, lineMode, closed); + case 3 : + return fillVerticalLinesDecompositionSegmentIndices(id, buffer, bufferLength, logMask, coordinates, nPoints, xshift, yshift, zshift, lineMode); + case 4 : + return fillSegmentsDecompositionSegmentIndices(id, buffer, bufferLength, logMask, coordinates, nPoints, xshift, yshift, zshift, lineMode, closed); + case 5 : + return fillSegmentsDecompositionSegmentIndices(id, buffer, bufferLength, logMask, coordinates, nPoints, xshift, yshift, zshift, lineMode, closed); + case 6 : + return fillBarsDecompositionSegmentIndices(id, buffer, bufferLength, logMask, coordinates, nPoints, xshift, yshift, zshift, lineMode); + case 7 : + return fillBarsDecompositionSegmentIndices(id, buffer, bufferLength, logMask, coordinates, nPoints, xshift, yshift, zshift, lineMode); + } + + return 0; +} + +int PolylineDecomposer::fillSegmentsDecompositionSegmentIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift, int lineMode, int closed) +{ + /* If less than 2 points, no segments */ + if (nPoints < 2) + { + return 0; + } + + if (lineMode == 0) + { + return 0; + } + + for (int i = 0; i < nPoints; i++) + { + buffer[i] = i; + } + + if (closed) + { + buffer[nPoints] = 0; + } + + return closed ? (nPoints + 1) : nPoints; +} + +int PolylineDecomposer::fillStairDecompositionSegmentIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift, int lineMode, int closed) +{ + int currentValid = 0; + int middleVertexValid = 0; + int nextValid = 0; + + int offset = 0; + int numberValidIndices = 0; + + /* If less than 2 points, no segments */ + if (nPoints < 2) + { + return 0; + } + + if (lineMode == 0) + { + return 0; + } + + for (int i = 0; i < 2 * nPoints - 1; i++) + { + buffer[i] = i; + } + + if (closed) + { + buffer[2 * nPoints - 1] = 2 * nPoints - 1; + buffer[2 * nPoints] = 0; + } + + return closed ? (2 * nPoints + 1) : (2 * nPoints - 1); +} + +int PolylineDecomposer::fillVerticalLinesDecompositionSegmentIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift, int lineMode) +{ + double coordsi[3]; + + int offset = 0; + int numberValidIndices = 0; + + if (nPoints == 0) + { + return 0; + } + + /* Vertical lines */ + for (int i = 0; i < nPoints; i++) + { + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, i, &coordsi[0], &coordsi[1], &coordsi[2]); + + if (DecompositionUtils::isValid(coordsi[0], coordsi[1], coordsi[2])) + { + if (logMask && !DecompositionUtils::isLogValid(coordsi[0], coordsi[1], coordsi[2], logMask)) + { + continue; + } + + buffer[2 * offset] = 2 * i; + buffer[2 * offset + 1] = 2 * i + 1; + + numberValidIndices += 2; + offset++; + } + + } + + if (lineMode) + { + int currentValid; + int nextValid; + + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, 0, &coordsi[0], &coordsi[1], &coordsi[2]); + + currentValid = DecompositionUtils::isValid(coordsi[0], coordsi[1], coordsi[2]); + + if (logMask) + { + currentValid &= DecompositionUtils::isLogValid(coordsi[0], coordsi[1], coordsi[2], logMask); + } + + for (int i = 0; i < nPoints - 1; i++) + { + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, i + 1, &coordsi[0], &coordsi[1], &coordsi[2]); + + nextValid = DecompositionUtils::isValid(coordsi[0], coordsi[1], coordsi[2]); + + if (logMask) + { + nextValid &= DecompositionUtils::isLogValid(coordsi[0], coordsi[1], coordsi[2], logMask); + } + + if (currentValid && nextValid) + { + buffer[2 * offset] = 2 * i + 1; + buffer[2 * offset + 1] = 2 * (i + 1) + 1; + + numberValidIndices += 2; + offset++; + } + + currentValid = nextValid; + } + } + + return numberValidIndices; +} + + +int PolylineDecomposer::fillBarsDecompositionSegmentIndices(int id, int* buffer, int bufferLength, + int logMask, double* coordinates, int nPoints, double* xshift, double* yshift, double* zshift, int lineMode) +{ + double barWidth = 0.0; + double* pdBarWidth = &barWidth; + double coordsi[3]; + + int barWidthValid = 0; + int offset = 0; + int numberValidIndices = 0; + + if (nPoints == 0) + { + return 0; + } + + getGraphicObjectProperty(id, __GO_BAR_WIDTH__, jni_double, (void**) &pdBarWidth); + + barWidthValid = DecompositionUtils::isValid(barWidth); + + /* 0 bar segment indices if the bar width is invalid, as it is the same for all bars. */ + if (barWidthValid) + { + /* Bars */ + for (int i = 0; i < nPoints; i++) + { + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, i, &coordsi[0], &coordsi[1], &coordsi[2]); + + if (DecompositionUtils::isValid(coordsi[0], coordsi[1], coordsi[2])) + { + if (logMask && !DecompositionUtils::isLogValid(coordsi[0], coordsi[1], coordsi[2], logMask)) + { + continue; + } + + buffer[8 * offset] = 4 * i; + buffer[8 * offset + 1] = 4 * i + 1; + buffer[8 * offset + 2] = 4 * i + 1; + buffer[8 * offset + 3] = 4 * i + 2; + buffer[8 * offset + 4] = 4 * i + 2; + buffer[8 * offset + 5] = 4 * i + 3; + buffer[8 * offset + 6] = 4 * i + 3; + buffer[8 * offset + 7] = 4 * i; + + numberValidIndices += 8; + offset++; + } + + } + + } + + /* Lines */ + if (lineMode) + { + int loffset = 0; + + int currentValid; + int nextValid; + + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, 0, &coordsi[0], &coordsi[1], &coordsi[2]); + + currentValid = DecompositionUtils::isValid(coordsi[0], coordsi[1], coordsi[2]); + + if (logMask) + { + currentValid &= DecompositionUtils::isLogValid(coordsi[0], coordsi[1], coordsi[2], logMask); + } + + for (int i = 0; i < nPoints - 1; i++) + { + getShiftedPolylinePoint(coordinates, xshift, yshift, zshift, nPoints, i + 1, &coordsi[0], &coordsi[1], &coordsi[2]); + + nextValid = DecompositionUtils::isValid(coordsi[0], coordsi[1], coordsi[2]); + + if (logMask) + { + nextValid &= DecompositionUtils::isLogValid(coordsi[0], coordsi[1], coordsi[2], logMask); + } + + if (currentValid && nextValid) + { + buffer[8 * offset + 2 * loffset] = 4 * nPoints + i; + buffer[8 * offset + 2 * loffset + 1] = 4 * nPoints + i + 1; + + numberValidIndices += 2; + loffset++; + } + + currentValid = nextValid; + } + } + + return numberValidIndices; +} + +void PolylineDecomposer::getShiftedPolylinePoint(double* coordinates, double* xshift, double* yshift, double* zshift, int nPoints, int index, + double* x, double* y, double* z) +{ + *x = coordinates[index]; + + if (xshift != NULL) + { + *x += xshift[index]; + } + + *y = coordinates[index + nPoints]; + + if (yshift != NULL) + { + *y += yshift[index]; + } + + *z = coordinates[index + 2 * nPoints]; + + if (zshift != NULL) + { + *z += zshift[index]; + } +} diff --git a/modules/graphic_objects/src/cpp/ScilabView.cpp b/modules/graphic_objects/src/cpp/ScilabView.cpp new file mode 100755 index 000000000..97a6452f5 --- /dev/null +++ b/modules/graphic_objects/src/cpp/ScilabView.cpp @@ -0,0 +1,716 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include <algorithm> +#include <iostream> +#include <map> +#include <list> +#include <cstring> +#include <limits.h> + +#include "ScilabView.hxx" +#include "CallGraphicController.hxx" + +extern "C" +{ +#include "CurrentObject.h" +#include "createGraphicObject.h" +#include "setGraphicObjectProperty.h" +#include "getGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +#include "getScilabJavaVM.h" +#include "deleteGraphicObject.h" +#include "MALLOC.h" +} + +/** + * C Wrapping functions + * \{ + */ +void ScilabNativeView__createObject(int iUID) +{ + ScilabView::createObject(iUID); +} + +void ScilabNativeView__deleteObject(int iUID) +{ + ScilabView::deleteObject(iUID); +} + +void ScilabNativeView__updateObject(int iUID, int iProperty) +{ + ScilabView::updateObject(iUID, iProperty); +} + +void ScilabNativeView__setCurrentFigure(int iUID) +{ + ScilabView::setCurrentFigure(iUID); +} + +void ScilabNativeView__setCurrentSubWin(int iUID) +{ + ScilabView::setCurrentSubWin(iUID); +} + +void ScilabNativeView__setCurrentObject(int iUID) +{ + ScilabView::setCurrentObject(iUID); +} + +int ScilabNativeView__getValidDefaultFigureId() +{ + return ScilabView::getValidDefaultFigureId(); +} + +int ScilabNativeView__getFigureFromIndex(int figNum) +{ + return ScilabView::getFigureFromIndex(figNum); +} + +/** + * \} + */ + +int ScilabView::getValidDefaultFigureId() +{ + if (m_figureList.empty()) + { + return 0; + } + else + { + int max = INT_MIN; + for (__figureList_iterator it = m_figureList.begin(); it != m_figureList.end(); ++it) + { + if (it->second > max) + { + max = it->second; + } + } + + return max + 1; + } +} + +bool ScilabView::isEmptyFigureList() +{ + return m_figureList.empty(); +} + +int ScilabView::getFigureFromIndex(int figNum) +{ + __figureList_iterator it; + + for (it = m_figureList.begin(); it != m_figureList.end(); ++it) + { + if (it->second == figNum) + { + return it->first; + } + } + return 0; +} + +bool ScilabView::existsFigureId(int id) +{ + __figureList_iterator it; + + for (it = m_figureList.begin(); it != m_figureList.end(); ++it) + { + if (it->second == id) + { + return true; + } + } + return false; +} + +void ScilabView::getFiguresId(int ids[]) +{ + //__figureList_iterator it; + //int i = (int)(m_figureList.size() - 1); + + //for (it = m_figureList.begin(); it != m_figureList.end(); ++it, --i) + //{ + // //std::cerr << "[ScilabView] DEBUG " << it->first << " <-> " << it->second << std::endl; + // ids[i] = it->second; + //} + + __figureList_reverse_iterator it; + int i = (int)(m_figureList.size() - 1); + + for (it = m_figureList.rbegin(); it != m_figureList.rend(); ++it, --i) + { + //std::cerr << "[ScilabView] DEBUG " << it->first << " <-> " << it->second << std::endl; + ids[i] = it->second; + } +} + +int ScilabView::getNbFigure(void) +{ + return (int)m_figureList.size(); +} + +void ScilabView::createObject(int iUID) +{ + //std::cerr << "[ScilabView] ++ createObject UID=" << iUID << std::endl; + int iType = -1; + int *piType = &iType; + + getGraphicObjectProperty(iUID, __GO_TYPE__, jni_int, (void **)&piType); + if (iType != -1 && iType == __GO_FIGURE__) + { + m_figureList[iUID] = -1; + setCurrentFigure(iUID); + } + + // Register object handle. + getObjectHandle(iUID); + + PathItem* item = new PathItem(); + item->uid = iUID; + + m_pathList[iUID] = item; + + m_userdata[iUID]; //create an empty vector<int> + + //get existing information from current object + updateObject(iUID, __GO_PARENT__); + updateObject(iUID, __GO_CHILDREN__); + updateObject(iUID, __GO_TAG__); +} + +void ScilabView::deleteObject(int iUID) +{ + //std::cerr << "[ScilabView] -- deleteObject UID=" << iUID << std::endl; + int iType = -1; + int *piType = &iType; + int iParentUID = 0; + + /* + ** If deleting a figure, remove from figure list. + */ + m_figureList.erase(iUID); + + /* + ** If deleting current figure find another current one, + ** if there is no more figure : NULL + */ + if (m_currentFigure == iUID) // Deleting current figure + { + int iAxesUID = 0; + int* piAxesUID = &iAxesUID; + + if (getNbFigure() != 0) + { + m_currentFigure = m_figureList.begin()->first; + getGraphicObjectProperty(m_currentFigure, __GO_SELECTED_CHILD__, jni_int, (void**)&piAxesUID); + setCurrentSubWin(iAxesUID); + } + else + { + setCurrentFigure(0); + setCurrentSubWin(0); + } + } + + /* + ** If deleting current entity, set parent as new current. + */ + if (m_currentObject == iUID) // Deleting current object + { + iParentUID = getParentObject(iUID); + setCurrentObject(iParentUID); + } + + // Remove the corresponding handle. + __handleList_iterator it = m_handleList.find(iUID); + if (it != m_handleList.end()) + { + m_uidList.erase(it->second); + m_handleList.erase(it); + } + + deleteDataObject(iUID); + + m_pathList.erase(iUID); + m_userdata.erase(iUID); +} + +void ScilabView::updateObject(int iUID, int iProperty) +{ + //std::cerr << "[ScilabView] == updateObject UID=" << iUID << " PROPERTY=" << pstProperty << std::endl; + + /* + ** Take care of update if the value update is ID and object type is a Figure I manage. + */ + switch (iProperty) + { + case __GO_ID__ : + { + if (m_figureList.find(iUID) != m_figureList.end()) + { + int iNewId = 0; + int *piNewId = &iNewId; + + getGraphicObjectProperty(iUID, __GO_ID__, jni_int, (void **)&piNewId); + + m_figureList[iUID] = iNewId; + //std::cerr << "### [ScilabView] updateMap UID=" << iUID << " id=" << iNewId << std::endl; + } + break; + } + case __GO_CHILDREN__ : + { + int childrenCount = 0; + int* pChildrenCount = &childrenCount; + getGraphicObjectProperty(iUID, __GO_CHILDREN_COUNT__, jni_int, (void**)&pChildrenCount); + + __pathList_iterator it = m_pathList.find(iUID); + if (it != m_pathList.end()) + { + //update existing item + + PathItem* item = (*it).second; + //reset children + item->children.clear(); + if (childrenCount != 0) + { + int* children = NULL; + getGraphicObjectProperty(iUID, __GO_CHILDREN__, jni_int_vector, (void**)&children); + item->children.assign(children, children + childrenCount); + } + } + break; + } + case __GO_PARENT__ : + { + int iParent = 0; + int* piParent = &iParent; + getGraphicObjectProperty(iUID, __GO_PARENT__, jni_int, (void**)&piParent); + + __pathList_iterator it = m_pathList.find(iUID); + + if (it != m_pathList.end()) + { + //update existing item + + PathItem* item = (*it).second; + item->parent = iParent; + } + break; + } + case __GO_TAG__ : + { + int iType = 0; + int* piType = &iType; + getGraphicObjectProperty(iUID, __GO_TYPE__, jni_int, (void**)&piType); + + char* tag = NULL; + getGraphicObjectProperty(iUID, __GO_TAG__, jni_string, (void**)&tag); + + if (tag[0] != 0 && iType == __GO_FIGURE__) + { + //not empty string + + //add figure in list of path starter + m_pathFigList[tag] = iUID; + } + + __pathList_iterator it = m_pathList.find(iUID); + + if (it != m_pathList.end()) + { + //update existing item + + PathItem* item = (*it).second; + item->tag = tag; + free(tag); + } + break; + } + default: + break; + } +} + +/* +** Register ScilabView to Controller. +** Must be done after Graphics models are created. +*/ +void ScilabView::registerToController(void) +{ + org_scilab_modules_graphic_objects::CallGraphicController::registerScilabView(getScilabJavaVM()); + m_figureList.get_allocator().allocate(4096); + m_handleList.get_allocator().allocate(4096); + m_uidList.get_allocator().allocate(4096); +} + +/* +** Reove ScilabView from Controller. +*/ +void ScilabView::unregisterToController(void) +{ + org_scilab_modules_graphic_objects::CallGraphicController::unregisterScilabView(getScilabJavaVM()); +} + +/* +** Set Current Figure UID +*/ +void ScilabView::setCurrentFigure(int UID) +{ + m_currentFigure = UID; +} + +/* +** Get Current Figure UID +*/ +int ScilabView::getCurrentFigure() +{ + //std::cerr << "[ScilaView] currentFigure = " << (m_currentFigure == 0 ? "NULL !!" : m_currentFigure) << std::endl; + return m_currentFigure; +} + +/* +** Set Current Object UID +*/ +void ScilabView::setCurrentObject(int UID) +{ + m_currentObject = UID; +} + +/* +** Get Current Figure UID +*/ +int ScilabView::getCurrentObject() +{ + //std::cerr << "[ScilaView] currentObject = " << m_currentObject << std::endl; + return m_currentObject; +} + +/* +** Set Current SubWin UID +*/ +void ScilabView::setCurrentSubWin(int UID) +{ + m_currentSubWin = UID; +} + +/* +** Get Current Figure UID +*/ +int ScilabView::getCurrentSubWin() +{ + //std::cerr << "[ScilaView] currentSubWin = " << m_currentSubWin << std::endl; + return m_currentSubWin; +} + +/* +** Scilab only can store long as handle +*/ +long ScilabView::getObjectHandle(int UID) +{ + /* + * if (UID != NULL) + * { + * std::cerr << "UID = " << UID << std::endl; + * } + * else + * { + * std::cerr << "UID is null :-S" << std::endl; + * } + * __handleList_iterator it2; + * std::cerr << "[DEBUG] +++ handleMap +++" << std::endl; + * for (it2 = m_handleList.begin() ; it2 != m_handleList.end() ; ++it2) + * { + * std::cerr << "UID " << it2->first << " <-> handle " << it2->second << std::endl; + * } + * std::cerr << "[DEBUG] +++ handleMap +++" << std::endl; + */ + __handleList_iterator it = m_handleList.find(UID); + + if (it != m_handleList.end()) + { + return it->second; + } + + // increase maximum value + // register new handle and return it. + m_topHandleValue++; + m_handleList[UID] = m_topHandleValue; + m_uidList[m_topHandleValue] = UID; + + return m_topHandleValue; +} + +int ScilabView::getObjectFromHandle(long handle) +{ + __uidList_iterator it = m_uidList.find(handle); + if (it == m_uidList.end()) + { + return 0; + } + + return it->second; +} + +int ScilabView::getFigureModel(void) +{ + //std::cerr << "[ScilabView] getFigureModel = " << (m_figureModel == 0 ? "!! NULL !!" : m_figureModel) << std::endl; + return m_figureModel; +} + +void ScilabView::setFigureModel(int UID) +{ + m_figureModel = UID; +} + +int ScilabView::getAxesModel(void) +{ + //std::cerr << "[ScilabView] getAxesModel = " << (m_axesModel == 0 ? "!! NULL !!" : m_axesModel) << std::endl; + return m_axesModel; +} + +void ScilabView::setAxesModel(int UID) +{ + m_axesModel = UID; +} + +PathItem* ScilabView::getItem(int uid) +{ + __pathList_iterator it = m_pathList.find(uid); + if (it != m_pathList.end()) + { + return it->second; + } + + return NULL; +} + +PathItem* ScilabView::getItem(std::string _pstTag) +{ + std::list<int> ignored; + return getItem(_pstTag, ignored); +} + +PathItem* ScilabView::getItem(std::string _pstTag, std::list<int>& _ignoredList) +{ + __pathList_iterator it = m_pathList.begin(); + for (; it != m_pathList.end(); it++) + { + PathItem * item = it->second; + if (item->tag == _pstTag) + { + if (std::find(_ignoredList.begin(), _ignoredList.end(), item->uid) == _ignoredList.end()) + { + return item; + } + } + } + return NULL; +} + +PathItem* ScilabView::getFigureItem(std::string _pstTag) +{ + + __pathFigList_iterator it = m_pathFigList.find(_pstTag); + if (it != m_pathFigList.end()) + { + return getItem(it->second); + } + + return NULL; +} + +int ScilabView::search_path(char* _pstPath) +{ + //copy string to protect it against strtok + char* pstPath = strdup(_pstPath); + std::list<int> ignoredList; + PathItem* path = NULL; + char* pstSubPath = strtok(pstPath, "/"); + bool bDeep = false; + while (pstSubPath != NULL) + { + if (pstSubPath[0] == 0) + { + //"" ? + break; + } + + if (pstSubPath[0] != '*') + { + //search in direct children + if (path == NULL) + { + path = ScilabView::getFigureItem(pstSubPath); + if (path == NULL) + { + path = ScilabView::getItem(pstSubPath, ignoredList); + if (path == NULL) + { + break; + } + } + + //if figure is in ignore list, reeturn not found + if (std::find(ignoredList.begin(), ignoredList.end(), path->uid) != ignoredList.end()) + { + return 0; + } + } + else + { + PathItem* newPath = search_children(path, pstSubPath, bDeep, ignoredList); + if (newPath == NULL) + { + //flag handle to ignore and restart parsing + ignoredList.push_back(path->uid); + pstPath = strdup(_pstPath); + pstSubPath = strtok(pstPath, "/"); + path = NULL; + continue; + } + else + { + path = newPath; + } + + bDeep = false; + } + } + else + { + //search in all path children + bDeep = true; + } + + pstSubPath = strtok(NULL, "/"); + } + + if (path == NULL) + { + return 0; + } + + return path->uid; +} + +PathItem* ScilabView::search_children(PathItem* _path, std::string _subPath, bool _bDeep, std::list<int>& _ignoredList) +{ + PathItem::__child_iterator it = _path->children.begin(); + for (; it != _path->children.end() ; it++) + { + PathItem* child = ScilabView::getItem(*it); + if (child->tag == _subPath) + { + bool ignored = false; + //check if this handle is not in ignoredList + if (std::find(_ignoredList.begin(), _ignoredList.end(), child->uid) == _ignoredList.end()) + { + return child; + } + } + else if (_bDeep) + { + PathItem *item = search_children(child, _subPath, _bDeep, _ignoredList); + if (item) + { + return item; + } + } + } + + return NULL; +} + +std::string ScilabView::get_path(int uid) +{ + PathItem* item = getItem(uid); + if (item->tag == "") + { + //impossible to create a useful path from object without tag + return ""; + } + + std::string path = item->tag; + + while (item->parent != 0) + { + item = getItem(item->parent); + if (item->tag == "") + { + if (path[0] == '*') + { + //we have already */ just continue + continue; + } + else + { + //add */ instead of / + path = "*/" + path; + } + } + else + { + path = item->tag + "/" + path; + } + } + + if (path[0] == '*') + { + //path must start by mane + return ""; + } + + return path; +} + +void ScilabView::setUserdata(int _id, int* _data, int _datasize) +{ + m_userdata[_id] = std::vector<int>(_data, _data + _datasize); +} + +int ScilabView::getUserdataSize(int _id) +{ + return (int)m_userdata[_id].size(); +} + +int* ScilabView::getUserdata(int _id) +{ + std::vector<int> &vect = m_userdata[_id]; + int size = (int)vect.size(); + + if (size != 0) + { + return &(vect[0]); + } + + //empty userdata must be == NULL + return NULL; +} + +/* +** Allocate static class variable. +*/ +ScilabView::__figureList ScilabView::m_figureList = *new __figureList(); +ScilabView::__handleList ScilabView::m_handleList = *new __handleList(); +ScilabView::__uidList ScilabView::m_uidList = *new __uidList(); +long ScilabView::m_topHandleValue = 0; +int ScilabView::m_currentFigure; +int ScilabView::m_currentObject; +int ScilabView::m_currentSubWin; +int ScilabView::m_figureModel; +int ScilabView::m_axesModel; +ScilabView::__pathList ScilabView::m_pathList = *new __pathList(); +ScilabView::__pathFigList ScilabView::m_pathFigList = *new __pathFigList(); +ScilabView::__userdata ScilabView::m_userdata = *new __userdata(); diff --git a/modules/graphic_objects/src/cpp/Texture.cpp b/modules/graphic_objects/src/cpp/Texture.cpp new file mode 100755 index 000000000..c88ecff9c --- /dev/null +++ b/modules/graphic_objects/src/cpp/Texture.cpp @@ -0,0 +1,1520 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "Texture.hxx" +#include <cstring> + +float Texture::GrayR[256]; +float Texture::GrayG[256]; +float Texture::GrayB[256]; +unsigned char Texture::RGB8R[256]; +unsigned char Texture::RGB8G[256]; +unsigned char Texture::RGB8B[256]; +unsigned char Texture::R12[256]; +const bool Texture::isGrayTableInit = Texture::initGrayTables(); +const bool Texture::isRGB8TableInit = Texture::initRGB8Tables(); +const bool Texture::isR12TableInit = Texture::initR12Table(); + +#define _DOUBLE_TO_UCHAR_(x) ((x) < 0 ? 0 : ((x) > 1 ? 0xFF : ((unsigned char)((x) * 0xFF)))) + +bool Texture::getImage(void const * data, const int numElements, const DataType datatype, const ImageType imagetype, void ** dest, unsigned int * dataSize, GLType * gltype) +{ + unsigned int size = 0; + bool ret = false; + + switch (imagetype) + { + case MATPLOT_RGB : + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + size = numElements * sizeof(int); + break; + case MATPLOT_HM3_Double : + case MATPLOT_HM4_Double : + size = numElements * sizeof(float) * 3; + break; + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + size = numElements * 3; + break; + case MATPLOT_Int : + case MATPLOT_UInt : + size = numElements * sizeof(int); + break; + case MATPLOT_Short : + case MATPLOT_UShort : + size = numElements * sizeof(short); + break; + case MATPLOT_HM1_Double : + case MATPLOT_Double : + size = numElements * sizeof(int); + break; + } + break; + case MATPLOT_RGBA : + case MATPLOT_ARGB : + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + size = numElements * sizeof(int); + break; + case MATPLOT_HM3_Double : + case MATPLOT_HM4_Double : + size = numElements * sizeof(float) * 4; + break; + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + size = numElements * 4; + break; + case MATPLOT_Int : + case MATPLOT_UInt : + size = numElements * sizeof(int); + break; + case MATPLOT_Short : + case MATPLOT_UShort : + size = numElements * sizeof(short); + break; + case MATPLOT_HM1_Double : + case MATPLOT_Double : + size = numElements * sizeof(int); + break; + } + break; + case MATPLOT_GRAY : + case MATPLOT_RED : + case MATPLOT_GREEN : + case MATPLOT_BLUE : + if (datatype == MATPLOT_Short || datatype == MATPLOT_UShort) + { + size = numElements * sizeof(short); + } + else if (datatype == MATPLOT_HM3_Double || datatype == MATPLOT_HM4_Double || datatype == MATPLOT_Double) + { + size = numElements * sizeof(float); + } + else + { + size = numElements; + } + break; + case MATPLOT_INDEX : + switch (datatype) + { + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + size = numElements; + break; + case MATPLOT_Int : + case MATPLOT_UInt : + size = numElements * sizeof(int); + break; + case MATPLOT_Short : + case MATPLOT_UShort : + size = numElements * sizeof(short); + break; + case MATPLOT_HM1_Double : + case MATPLOT_Double : + size = numElements * sizeof(double); + break; + } + break; + case MATPLOT_RGB_332 : + size = numElements; + break; + case MATPLOT_RGB_444 : + case MATPLOT_RGB_555 : + case MATPLOT_RGBA_4444 : + case MATPLOT_RGBA_5551 : + size = numElements * sizeof(short); + break; + } + + if (size != *dataSize) + { + ret = true; + *dataSize = size; + *dest = new unsigned char[size]; + } + + switch (imagetype) + { + case MATPLOT_RGB : + { + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + { + const unsigned char * R = (const unsigned char *)data; + const unsigned char * G = R + numElements; + const unsigned char * B = G + numElements; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = R[i]; + ucdata[k + 1] = G[i]; + ucdata[k + 2] = B[i]; + k += 3; + } + *gltype = MATPLOT_GL_RGB; + break; + } + case MATPLOT_HM3_Double : + case MATPLOT_HM4_Double : + { + const double * R = (const double *)data; + const double * G = R + numElements; + const double * B = G + numElements; + float * fdata = (float *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + fdata[k] = (float)R[i]; + fdata[k + 1] = (float)G[i]; + fdata[k + 2] = (float)B[i]; + k += 3; + } + + *gltype = MATPLOT_GL_RGB_FLOAT; + break; + } + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_Char : + case MATPLOT_UChar : + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGB; + break; + case MATPLOT_Int : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = (ui[i] >> 16) & 0xFF; + ucdata[k + 1] = (ui[i] >> 8) & 0xFF; + ucdata[k + 2] = ui[i] & 0xFF; + k += 3; + } + + *gltype = MATPLOT_GL_RGB; + break; + } + case MATPLOT_UInt : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = (ui[i] >> 24) & 0xFF; + ucdata[k + 1] = (ui[i] >> 16) & 0xFF; + ucdata[k + 2] = (ui[i] >> 8) & 0xFF; + k += 3; + } + + *gltype = MATPLOT_GL_RGB; + break; + } + case MATPLOT_Short : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_UShort : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_HM1_Double : + case MATPLOT_Double : + { + const double * d = (const double *)data; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = (((unsigned int)d[i]) >> 16) & 0xFF; + ucdata[k + 1] = (((unsigned int)d[i]) >> 8) & 0xFF; + ucdata[k + 2] = ((unsigned int)d[i]) & 0xFF; + k += 3; + } + *gltype = MATPLOT_GL_RGB; + break; + } + } + break; + } + case MATPLOT_RGBA : + { + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + { + const unsigned char * R = (const unsigned char *)data; + const unsigned char * G = R + numElements; + const unsigned char * B = G + numElements; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = R[i]; + ucdata[k + 1] = G[i]; + ucdata[k + 2] = B[i]; + ucdata[k + 3] = 0xFF; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_BYTE; + break; + } + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + { + const unsigned char * R = (const unsigned char *)data; + const unsigned char * G = R + numElements; + const unsigned char * B = G + numElements; + const unsigned char * A = B + numElements; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = R[i]; + ucdata[k + 1] = G[i]; + ucdata[k + 2] = B[i]; + ucdata[k + 3] = A[i]; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_BYTE; + break; + } + case MATPLOT_HM3_Double : + { + const double * R = (const double *)data; + const double * G = R + numElements; + const double * B = G + numElements; + float * fdata = (float *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + fdata[k] = (float)R[i]; + fdata[k + 1] = (float)G[i]; + fdata[k + 2] = (float)B[i]; + fdata[k + 3] = 1.0f; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_FLOAT; + break; + } + case MATPLOT_HM4_Double : + { + const double * R = (const double *)data; + const double * G = R + numElements; + const double * B = G + numElements; + const double * A = B + numElements; + float * fdata = (float *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + fdata[k] = (float)R[i]; + fdata[k + 1] = (float)G[i]; + fdata[k + 2] = (float)B[i]; + fdata[k + 3] = (float)A[i]; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_FLOAT; + break; + } + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGBA_BYTE; + break; + case MATPLOT_Int : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = (ui[i] >> 16) & 0xFF; + ucdata[k + 1] = (ui[i] >> 8) & 0xFF; + ucdata[k + 2] = ui[i] & 0xFF; + ucdata[k + 3] = 0xFF; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_BYTE; + break; + } + case MATPLOT_UInt : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = (ui[i] >> 24) & 0xFF; + ucdata[k + 1] = (ui[i] >> 16) & 0xFF; + ucdata[k + 2] = (ui[i] >> 8) & 0xFF; + ucdata[k + 3] = ui[i] & 0xFF; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_BYTE; + break; + } + case MATPLOT_Short : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_UShort : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_HM1_Double : + case MATPLOT_Double : + { + const double * d = (const double *)data; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = (((unsigned int)d[i]) >> 24) & 0xFF; + ucdata[k + 1] = (((unsigned int)d[i]) >> 16) & 0xFF; + ucdata[k + 2] = (((unsigned int)d[i]) >> 8) & 0xFF; + ucdata[k + 3] = ((unsigned int)d[i]) & 0xFF; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_BYTE; + } + } + break; + } + case MATPLOT_ARGB : + { + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + { + const unsigned char * R = (const unsigned char *)data; + const unsigned char * G = R + numElements; + const unsigned char * B = G + numElements; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = R[i]; + ucdata[k + 1] = G[i]; + ucdata[k + 2] = B[i]; + ucdata[k + 3] = 0xFF; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_BYTE; + break; + } + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + { + const unsigned char * A = (const unsigned char *)data; + const unsigned char * R = A + numElements; + const unsigned char * G = R + numElements; + const unsigned char * B = G + numElements; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = R[i]; + ucdata[k + 1] = G[i]; + ucdata[k + 2] = B[i]; + ucdata[k + 3] = A[i]; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_BYTE; + break; + } + case MATPLOT_HM3_Double : + { + const double * R = (const double *)data; + const double * G = R + numElements; + const double * B = G + numElements; + float * fdata = (float *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + fdata[k] = (float)R[i]; + fdata[k + 1] = (float)G[i]; + fdata[k + 2] = (float)B[i]; + fdata[k + 3] = 1.0f; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_FLOAT; + break; + } + case MATPLOT_HM4_Double : + { + const double * A = (const double *)data; + const double * R = A + numElements; + const double * G = R + numElements; + const double * B = G + numElements; + float * fdata = (float *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + fdata[k] = (float)R[i]; + fdata[k + 1] = (float)G[i]; + fdata[k + 2] = (float)B[i]; + fdata[k + 3] = (float)A[i]; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_FLOAT; + break; + } + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + { + const unsigned char * uc = (const unsigned char *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < size; i += 4) + { + ucdata[i] = uc[i + 1]; + ucdata[i + 1] = uc[i + 2]; + ucdata[i + 2] = uc[i + 3]; + ucdata[i + 3] = uc[i]; + } + *gltype = MATPLOT_GL_RGBA_BYTE; + break; + } + case MATPLOT_Int : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = (ui[i] >> 16) & 0xFF; + ucdata[k + 1] = (ui[i] >> 8) & 0xFF; + ucdata[k + 2] = ui[i] & 0xFF; + ucdata[k + 3] = 0xFF; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_BYTE; + break; + } + case MATPLOT_UInt : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = (ui[i] >> 16) & 0xFF; + ucdata[k + 1] = (ui[i] >> 8) & 0xFF; + ucdata[k + 2] = ui[i] & 0xFF; + ucdata[k + 3] = (ui[i] >> 24) & 0xFF; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_BYTE; + break; + } + case MATPLOT_Short : + { + const unsigned short * us = (const unsigned short *)data; + unsigned short * usdata = (unsigned short *) * dest; + + for (int i = 0; i < numElements; i++) + { + usdata[i] = (us[i] >> 12) | (us[i] << 4); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_UShort : + { + const unsigned short * us = (const unsigned short *)data; + unsigned short * usdata = (unsigned short *) * dest; + + for (int i = 0; i < numElements; i++) + { + usdata[i] = (us[i] >> 15) | (us[i] << 1); + } + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_HM1_Double : + case MATPLOT_Double : + { + const double * d = (const double *)data; + unsigned char * ucdata = (unsigned char *) * dest; + unsigned int k = 0; + + for (int i = 0; i < numElements; i++) + { + ucdata[k] = (((unsigned int)d[i]) >> 16) & 0xFF; + ucdata[k + 1] = (((unsigned int)d[i]) >> 8) & 0xFF; + ucdata[k + 2] = ((unsigned int)d[i]) & 0xFF; + ucdata[k + 3] = (((unsigned int)d[i]) >> 24) & 0xFF; + k += 4; + } + *gltype = MATPLOT_GL_RGBA_BYTE; + } + } + break; + } + case MATPLOT_GRAY : + { + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + { + const unsigned char * R = (const unsigned char *)data; + const unsigned char * G = R + numElements; + const unsigned char * B = G + numElements; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char) (GrayR[R[i]] + GrayG[G[i]] + GrayB[B[i]]); + } + *gltype = MATPLOT_GL_GRAY; + break; + } + case MATPLOT_HM3_Double : + case MATPLOT_HM4_Double : + { + const double * R = (const double *)data; + const double * G = R + numElements; + const double * B = G + numElements; + float * fdata = (float *) * dest; + + for (int i = 0; i < numElements; i++) + { + fdata[i] = (float) (0.299 * R[i] + 0.587 * G[i] + 0.114 * B[i]); + } + *gltype = MATPLOT_GL_GRAY_FLOAT; + break; + } + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_GRAY; + break; + } + case MATPLOT_UShort : + case MATPLOT_Short : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_GRAY_16; + break; + } + case MATPLOT_Int : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char) (GrayR[(ui[i] >> 24) & 0xFF] + GrayG[(ui[i] >> 16) & 0xFF] + GrayB[(ui[i] >> 8) & 0xFF]); + } + *gltype = MATPLOT_GL_GRAY; + break; + } + case MATPLOT_UInt : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char) (GrayR[(ui[i] >> 16) & 0xFF] + GrayG[(ui[i] >> 8) & 0xFF] + GrayB[ui[i] & 0xFF]); + } + *gltype = MATPLOT_GL_GRAY; + break; + } + case MATPLOT_HM1_Double : + case MATPLOT_Double : + { + const double * d = (const double *)data; + float * fdata = (float *) * dest; + + for (int i = 0; i < numElements; i++) + { + fdata[i] = (float)d[i]; + } + *gltype = MATPLOT_GL_GRAY_FLOAT; + break; + } + } + break; + } + case MATPLOT_INDEX : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGBA_BYTE; + break; + } + case MATPLOT_RED : + { + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + { + memcpy(*dest, data, numElements); + *gltype = MATPLOT_GL_RED; + break; + } + case MATPLOT_HM3_Double : + case MATPLOT_HM4_Double : + case MATPLOT_HM1_Double : + case MATPLOT_Double : + { + const double * d = (const double *)data; + float * fdata = (float *) * dest; + + for (int i = 0; i < numElements; i++) + { + fdata[i] = (float)d[i]; + } + *gltype = MATPLOT_GL_RED_FLOAT; + break; + } + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RED; + break; + } + case MATPLOT_Short : + case MATPLOT_UShort : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RED_16; + break; + } + case MATPLOT_Int : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char) ((ui[i] >> 16) & 0xFF); + } + *gltype = MATPLOT_GL_RED; + break; + } + case MATPLOT_UInt : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char) ((ui[i] >> 24) & 0xFF); + } + *gltype = MATPLOT_GL_RED; + break; + } + } + break; + } + case MATPLOT_GREEN : + { + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + { + memcpy(*dest, (unsigned char *)data + numElements, numElements); + *gltype = MATPLOT_GL_GREEN; + break; + } + case MATPLOT_HM3_Double : + case MATPLOT_HM4_Double : + { + const double * d = (const double *)data + numElements; + float * fdata = (float *) * dest; + + for (int i = 0; i < numElements; i++) + { + fdata[i] = (float)d[i]; + } + *gltype = MATPLOT_GL_GREEN_FLOAT; + break; + } + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_GREEN; + break; + } + case MATPLOT_Short : + case MATPLOT_UShort : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_GREEN_16; + break; + } + case MATPLOT_Int : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char) ((ui[i] >> 8) & 0xFF); + } + *gltype = MATPLOT_GL_GREEN; + break; + } + case MATPLOT_UInt : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char) ((ui[i] >> 16) & 0xFF); + } + *gltype = MATPLOT_GL_GREEN; + break; + } + case MATPLOT_HM1_Double : + case MATPLOT_Double : + { + const double * d = (const double *)data; + float * fdata = (float *) * dest; + + for (int i = 0; i < numElements; i++) + { + fdata[i] = (float)d[i]; + } + *gltype = MATPLOT_GL_GREEN_FLOAT; + break; + } + } + break; + } + case MATPLOT_BLUE : + { + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + { + memcpy(*dest, (unsigned char *)data + 2 * numElements, numElements); + *gltype = MATPLOT_GL_BLUE; + break; + } + case MATPLOT_HM3_Double : + case MATPLOT_HM4_Double : + { + const double * d = (const double *)data + 2 * numElements; + float * fdata = (float *) * dest; + + for (int i = 0; i < numElements; i++) + { + fdata[i] = (float)d[i]; + } + *gltype = MATPLOT_GL_BLUE_FLOAT; + break; + } + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_BLUE; + break; + } + case MATPLOT_Short : + case MATPLOT_UShort : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_BLUE_16; + break; + } + case MATPLOT_Int : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char) (ui[i] & 0xFF); + } + *gltype = MATPLOT_GL_BLUE; + break; + } + case MATPLOT_UInt : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char) ((ui[i] >> 8) & 0xFF); + } + *gltype = MATPLOT_GL_BLUE; + break; + } + case MATPLOT_HM1_Double : + case MATPLOT_Double : + { + const double * d = (const double *)data; + float * fdata = (float *) * dest; + + for (int i = 0; i < numElements; i++) + { + fdata[i] = (float)d[i]; + } + *gltype = MATPLOT_GL_BLUE_FLOAT; + break; + } + } + break; + } + case MATPLOT_RGB_332 : + { + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + { + const unsigned char * R = (const unsigned char *)data; + const unsigned char * G = R + numElements; + const unsigned char * B = G + numElements; + unsigned char * ucdata = (unsigned char *) * dest; + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char)(RGB8R[R[i]] | RGB8G[G[i]] | RGB8B[B[i]]); + } + *gltype = MATPLOT_GL_RGB_332; + break; + } + case MATPLOT_HM3_Double : + case MATPLOT_HM4_Double : + { + const double * R = (const double *)data; + const double * G = R + numElements; + const double * B = G + numElements; + unsigned char * ucdata = (unsigned char *) * dest; + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char)(RGB8R[_DOUBLE_TO_UCHAR_(R[i])] | RGB8G[_DOUBLE_TO_UCHAR_(G[i])] | RGB8B[_DOUBLE_TO_UCHAR_(B[i])]); + } + *gltype = MATPLOT_GL_RGB_332; + break; + } + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGB_332; + break; + } + case MATPLOT_Int : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char)(RGB8R[(ui[i] & 0xFF0000) >> 16] | RGB8G[(ui[i] & 0xFF00) >> 8] | RGB8B[ui[i] & 0xFF]); + } + *gltype = MATPLOT_GL_RGB_332; + break; + } + case MATPLOT_UInt : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char)(RGB8R[(ui[i] & 0xFF000000) >> 24] | RGB8G[(ui[i] & 0xFF0000) >> 16] | RGB8B[(ui[i] & 0xFF00) >> 8]); + } + *gltype = MATPLOT_GL_RGB_332; + break; + } + case MATPLOT_Short : + { + const unsigned short * us = (const unsigned short *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char)(((us[i] & 0xE00) >> 4) | ((us[i] & 0xE0) >> 3) | ((us[i] & 0xC) >> 2)); + } + *gltype = MATPLOT_GL_RGB_332; + break; + } + case MATPLOT_UShort : + { + const unsigned short * us = (const unsigned short *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + ucdata[i] = (unsigned char)(((us[i] & 0xE000) >> 8) | ((us[i] & 0xE00) >> 7) | ((us[i] & 0xC0) >> 6)); + } + *gltype = MATPLOT_GL_RGB_332; + break; + } + case MATPLOT_HM1_Double : + case MATPLOT_Double : + { + const double * d = (const double *)data; + unsigned char * ucdata = (unsigned char *) * dest; + + for (int i = 0; i < numElements; i++) + { + const unsigned int ui = (unsigned int)d[i]; + ucdata[i] = (unsigned char)(RGB8R[(ui & 0xFF000000) >> 24] | RGB8G[(ui & 0xFF0000) >> 16] | RGB8B[(ui & 0xFF00) >> 8]); + } + *gltype = MATPLOT_GL_RGB_332; + break; + } + } + break; + } + case MATPLOT_RGB_444 : + { + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + { + const unsigned char * R = (const unsigned char *)data; + const unsigned char * G = R + numElements; + const unsigned char * B = G + numElements; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)((R12[R[i]] << 12) | (R12[G[i]] << 8) | (R12[B[i]] << 4) | 0xF); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_HM3_Double : + case MATPLOT_HM4_Double : + { + const double * R = (const double *)data; + const double * G = R + numElements; + const double * B = G + numElements; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)((R12[_DOUBLE_TO_UCHAR_(R[i])] << 12) | (R12[_DOUBLE_TO_UCHAR_(G[i])] << 8) | (R12[_DOUBLE_TO_UCHAR_(B[i])] << 4) | 0xF); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_Int : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned short * usdata = (unsigned short *) * dest; + + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)((R12[(ui[i] & 0xFF0000) >> 16] << 12) | (R12[(ui[i] & 0xFF00) >> 8] << 8) | (R12[ui[i] & 0xFF] << 4) | 0xF); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_UInt : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned short * usdata = (unsigned short *) * dest; + + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)((R12[(ui[i] & 0xFF000000) >> 24] << 12) | (R12[(ui[i] & 0xFF0000) >> 16] << 8) | (R12[(ui[i] & 0xFF00) >> 8] << 4) | (R12[ui[i] & 0xFF])); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_UShort : + case MATPLOT_Short : + { + const unsigned short * us = (const unsigned short *)data; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (us[i] << 4) | 0xF; + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_HM1_Double : + case MATPLOT_Double : + { + const double * d = (const double *)data; + unsigned short * usdata = (unsigned short *) * dest; + + for (int i = 0; i < numElements; i++) + { + const unsigned int ui = (unsigned int)d[i]; + usdata[i] = (unsigned short)((R12[(ui & 0xFF0000) >> 16] << 12) | (R12[(ui & 0xFF00) >> 8] << 8) | (R12[ui & 0xFF] << 4) | 0xF); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + } + break; + } + case MATPLOT_RGB_555 : + { + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + { + const unsigned char * R = (const unsigned char *)data; + const unsigned char * G = R + numElements; + const unsigned char * B = G + numElements; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)(((R[i] & 0xF8) << 8) | ((G[i] & 0xF8) << 3) | ((B[i] & 0xF8) >> 2) | 0x1); + } + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_HM3_Double : + case MATPLOT_HM4_Double : + { + const double * R = (const double *)data; + const double * G = R + numElements; + const double * B = G + numElements; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)(((_DOUBLE_TO_UCHAR_(R[i]) & 0xF8) << 8) | ((_DOUBLE_TO_UCHAR_(G[i]) & 0xF8) << 3) | ((_DOUBLE_TO_UCHAR_(B[i]) & 0xF8) >> 2) | 0x1); + } + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_Int : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)(((ui[i] & 0xF80000) >> 8) | ((ui[i] & 0xF800) >> 5) | ((ui[i] & 0xF8) >> 2) | 0x1); + } + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_UInt : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)(((ui[i] & 0xF8000000) >> 16) | ((ui[i] & 0xF80000) >> 13) | ((ui[i] & 0xF800) >> 10) | 0x1); + } + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_UShort : + case MATPLOT_Short : + { + const unsigned short * ui = (const unsigned short *)data; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (ui[i] << 1) | 0x1; + } + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_HM1_Double : + case MATPLOT_Double : + { + const double * d = (const double *)data; + unsigned short * usdata = (unsigned short *) * dest; + + for (int i = 0; i < numElements; i++) + { + const unsigned int ui = (unsigned int)d[i]; + usdata[i] = (unsigned short)(((ui & 0xF80000) >> 13) | ((ui & 0xF800) >> 5) | ((ui & 0xF8) >> 2) | 0x1); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + } + break; + } + case MATPLOT_RGBA_4444 : + { + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + { + const unsigned char * R = (const unsigned char *)data; + const unsigned char * G = R + numElements; + const unsigned char * B = G + numElements; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)((R12[R[i]] << 12) | (R12[G[i]] << 8) | (R12[B[i]] << 4) | 0xF); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + { + const unsigned char * R = (const unsigned char *)data; + const unsigned char * G = R + numElements; + const unsigned char * B = G + numElements; + const unsigned char * A = B + numElements; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)((R12[R[i]] << 12) | (R12[G[i]] << 8) | (R12[B[i]] << 4) | R12[A[i]]); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_HM3_Double : + { + const double * R = (const double *)data; + const double * G = R + numElements; + const double * B = G + numElements; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)((R12[_DOUBLE_TO_UCHAR_(R[i])] << 12) | (R12[_DOUBLE_TO_UCHAR_(G[i])] << 8) | (R12[_DOUBLE_TO_UCHAR_(B[i])] << 4) | 0xF); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_HM4_Double : + { + const double * R = (const double *)data; + const double * G = R + numElements; + const double * B = G + numElements; + const double * A = B + numElements; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)((R12[_DOUBLE_TO_UCHAR_(R[i])] << 12) | (R12[_DOUBLE_TO_UCHAR_(G[i])] << 8) | (R12[_DOUBLE_TO_UCHAR_(B[i])] << 4) | R12[_DOUBLE_TO_UCHAR_(A[i])]); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_Int : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)((R12[(ui[i] & 0xFF0000) >> 16] << 12) | (R12[(ui[i] & 0xFF00) >> 8] << 8) | (R12[ui[i] & 0xFF] << 4) | 0xF); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_UInt : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned short * usdata = (unsigned short *) * dest; + + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)((R12[(ui[i] & 0xFF000000) >> 24] << 12) | (R12[(ui[i] & 0xFF0000) >> 16] << 8) | (R12[(ui[i] & 0xFF00) >> 8] << 4) | R12[ui[i] & 0xFF]); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_UShort : + case MATPLOT_Short : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + case MATPLOT_HM1_Double : + case MATPLOT_Double : + { + const double * d = (const double *)data; + unsigned short * usdata = (unsigned short *) * dest; + + for (int i = 0; i < numElements; i++) + { + const unsigned int ui = (unsigned int)d[i]; + usdata[i] = (unsigned short)((R12[(ui & 0xFF000000) >> 24] << 12) | (R12[(ui & 0xFF0000) >> 16] << 8) | (R12[(ui & 0xFF) >> 8] << 4) | R12[ui & 0xFF]); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + } + break; + } + case MATPLOT_RGBA_5551 : + { + switch (datatype) + { + case MATPLOT_HM3_Char : + case MATPLOT_HM3_UChar : + { + const unsigned char * R = (const unsigned char *)data; + const unsigned char * G = R + numElements; + const unsigned char * B = G + numElements; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)(((R[i] & 0xF8) << 8) | ((G[i] & 0xF8) << 3) | ((B[i] & 0xF8) >> 2) | 0x1); + } + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_HM4_Char : + case MATPLOT_HM4_UChar : + { + const unsigned char * R = (const unsigned char *)data; + const unsigned char * G = R + numElements; + const unsigned char * B = G + numElements; + const unsigned char * A = B + numElements; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)(((R[i] & 0xF8) << 8) | ((G[i] & 0xF8) << 3) | ((B[i] & 0xF8) >> 2) | ((A[i] & 0x1))); + } + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_HM3_Double : + { + const double * R = (const double *)data; + const double * G = R + numElements; + const double * B = G + numElements; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)(((_DOUBLE_TO_UCHAR_(R[i]) & 0xF8) << 8) | ((_DOUBLE_TO_UCHAR_(G[i]) & 0xF8) << 3) | ((_DOUBLE_TO_UCHAR_(B[i]) & 0xF8) >> 2) | 0x1); + } + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_HM4_Double : + { + const double * R = (const double *)data; + const double * G = R + numElements; + const double * B = G + numElements; + const double * A = B + numElements; + unsigned short * usdata = (unsigned short *) * dest; + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)(((_DOUBLE_TO_UCHAR_(R[i]) & 0xF8) << 8) | ((_DOUBLE_TO_UCHAR_(G[i]) & 0xF8) << 3) | ((_DOUBLE_TO_UCHAR_(B[i]) & 0xF8) >> 2) | (_DOUBLE_TO_UCHAR_(A[i]) & 0x1)); + } + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_HM1_Char : + case MATPLOT_HM1_UChar : + case MATPLOT_UChar : + case MATPLOT_Char : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_Int : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned short * usdata = (unsigned short *) * dest; + + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)(((ui[i] & 0xF80000) >> 13) | ((ui[i] & 0xF800) >> 5) | ((ui[i] & 0xF8) >> 2) | 0x1); + } + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_UInt : + { + const unsigned int * ui = (const unsigned int *)data; + unsigned short * usdata = (unsigned short *) * dest; + + for (int i = 0; i < numElements; i++) + { + usdata[i] = (unsigned short)(((ui[i] & 0xF8000000) >> 21) | ((ui[i] & 0xF80000) >> 13) | ((ui[i] & 0xF800) >> 10) | ((ui[i] & 0xFF) >> 7)); + } + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_UShort : + case MATPLOT_Short : + { + memcpy(*dest, data, size); + *gltype = MATPLOT_GL_RGBA_5551; + break; + } + case MATPLOT_HM1_Double : + case MATPLOT_Double : + { + const double * d = (const double *)data; + unsigned short * usdata = (unsigned short *) * dest; + + for (int i = 0; i < numElements; i++) + { + const unsigned int ui = (unsigned int)d[i]; + usdata[i] = (unsigned short)(((ui & 0xF8000000) >> 21) | ((ui & 0xF80000) >> 13) | ((ui & 0xF800) >> 10) | ((ui & 0xFF) >> 7)); + } + *gltype = MATPLOT_GL_RGBA_4444; + break; + } + } + break; + } + } + + return ret; +} + + +bool Texture::initGrayTables() +{ + for (int c = 0; c < 256; c++) + { + GrayR[c] = 0.299f * (float)c; + GrayG[c] = 0.587f * (float)c; + GrayB[c] = 0.114f * (float)c; + } + + return true; +} + +bool Texture::initRGB8Tables() +{ + for (int c = 0; c < 256; c++) + { + RGB8R[c] = (c / 36) << 5; + RGB8G[c] = (c / 36) << 2; + RGB8B[c] = c / 81; + } + + return true; +} + +bool Texture::initR12Table() +{ + for (int c = 0; c < 256; c++) + { + R12[c] = c / 17; + } + + return true; +} diff --git a/modules/graphic_objects/src/cpp/Triangulator.cpp b/modules/graphic_objects/src/cpp/Triangulator.cpp new file mode 100755 index 000000000..9c8bea879 --- /dev/null +++ b/modules/graphic_objects/src/cpp/Triangulator.cpp @@ -0,0 +1,818 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel Juliachs + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "Triangulator.hxx" + +#include <math.h> + +void Triangulator::determineSmallestAxis(void) +{ + double minval = 0.; + + Vector3d min = inputPoints[0]; + Vector3d max = min; + + for (int i = 1 ; i < numPoints; i++) + { + if (inputPoints[i].x < min.x) + { + min.x = inputPoints[i].x; + } + if (inputPoints[i].y < min.y) + { + min.y = inputPoints[i].y; + } + if (inputPoints[i].z < min.z) + { + min.z = inputPoints[i].z; + } + + if (inputPoints[i].x > max.x) + { + max.x = inputPoints[i].x; + } + if (inputPoints[i].y > max.y) + { + max.y = inputPoints[i].y; + } + if (inputPoints[i].z > max.z) + { + max.z = inputPoints[i].z; + } + } + + max = minus(max, min); + + if (max.x < max.y) + { + minval = max.x; + smallestAxis = 0; + largestAxes[0] = 1; + largestAxes[1] = 2; + } + else + { + minval = max.y; + smallestAxis = 1; + largestAxes[0] = 0; + largestAxes[1] = 2; + } + + if (max.z < minval) + { + smallestAxis = 2; + largestAxes[0] = 0; + largestAxes[1] = 1; + } +} + +void Triangulator::fillPoints(void) +{ + Vector3d point; + + for (int i = 0; i < numPoints; i++) + { + if (smallestAxis == 0) + { + /* Smallest axis: X */ + point.x = inputPoints[i].y; + point.y = inputPoints[i].z; + } + else if (smallestAxis == 1) + { + /* Smallest axis: Y */ + point.x = inputPoints[i].x; + point.y = inputPoints[i].z; + } + else + { + /* Smallest axis: Z (2) */ + point.x = inputPoints[i].x; + point.y = inputPoints[i].y; + } + + point.z = 0.0; + + points.push_back(point); + } +} + +double Triangulator::computeArea(void) +{ + double area = 0.0; + + for (int i = 0; i < numPoints; i++) + { + int ip1 = (i + 1) % numPoints; + + area += ((points[i].x * points[ip1].y) - (points[i].y * points[ip1].x)); + } + + area *= 0.5; + + return area; +} + +void Triangulator::fillVertexIndices(void) +{ + if (flipped) + { + for (int i = numPoints - 1; i >= 0; i--) + { + vertexIndices.push_back(i); + } + } + else + { + for (int i = 0; i < numPoints; i++) + { + vertexIndices.push_back(i); + } + } +} + +void Triangulator::removeColinearVertices(void) +{ + double dp = 0.; + std::list<int>::iterator vi, vim1, vip1; + + std::vector<Vector3d> sievedPoints; + std::list<int> tmpVertexIndices; + + int numColinear = 0; + int index = 0; + + for (vi = vertexIndices.begin(); vi != vertexIndices.end(); vi++) + { + getAdjacentVertices(vi, vim1, vip1); + + dp = computeDotProduct(*vim1, *vi, *vip1); + + if ((!compareVertices(points[*vim1], points[*vi]) && !compareVertices(points[*vi], points[*vip1])) && + fabs(dp) < TOLERANCE) + { + numColinear++; + } + else + { + sievedPoints.push_back(points[*vi]); + actualVertexIndices.push_back(*vi); + } + + index++; + } + + points.clear(); + + if (flipped) + { + /* Reverse the actual vertex indices list */ + std::vector<int> tmpList; + + for (size_t i = 0; i < actualVertexIndices.size(); i++) + { + tmpList.push_back(actualVertexIndices[actualVertexIndices.size() - i - 1]); + } + + actualVertexIndices.clear(); + + for (size_t i = 0; i < tmpList.size(); i++) + { + actualVertexIndices.push_back(tmpList[i]); + } + + tmpList.clear(); + } + + if (flipped) + { + for (size_t i = 0; i < sievedPoints.size(); i++) + { + points.push_back(sievedPoints[sievedPoints.size() - i - 1]); + } + } + else + { + for (size_t i = 0; i < sievedPoints.size(); i++) + { + points.push_back(sievedPoints[i]); + } + } + + /* Must be updated */ + numPoints = (int)points.size(); + + sievedPoints.clear(); + + numColinearVertices = numColinear; +} + +void Triangulator::removeDuplicateVertices(void) +{ + int numDuplicateVertices = 0; + std::vector<int> duplicateFlagArray; + + std::vector<Vector3d> sievedPoints; + std::vector<int> tmpActualVertexIndices; + + sievedPoints.clear(); + tmpActualVertexIndices.clear(); + + duplicateFlagArray.resize(points.size()); + + for (size_t i = 0; i < points.size(); i++) + { + int ic = ((int)i + 1) % (int)points.size(); + int icm1 = (int)i; + + Vector3d vi = points[icm1]; + Vector3d vip1 = points[ic]; + + if (compareVertices(vi, vip1)) + { + numDuplicateVertices++; + duplicateFlagArray[ic] = 1; + } + else + { + duplicateFlagArray[ic] = 0; + } + } + + for (size_t i = 0; i < points.size(); i++) + { + if (duplicateFlagArray[i] == 0) + { + /* Keep as it is not a duplicate */ + sievedPoints.push_back(points[i]); + tmpActualVertexIndices.push_back(actualVertexIndices[i]); + } + } + + actualVertexIndices.clear(); + points.clear(); + + /* Copy the two new lists */ + for (size_t i = 0; i < tmpActualVertexIndices.size(); i++) + { + actualVertexIndices.push_back(tmpActualVertexIndices[i]); + } + + for (size_t i = 0; i < sievedPoints.size(); i++) + { + points.push_back(sievedPoints[i]); + } + + /* Must be updated */ + numPoints = (int)points.size(); + + duplicateFlagArray.clear(); + sievedPoints.clear(); + tmpActualVertexIndices.clear(); +} + +void Triangulator::fillConvexVerticesList(void) +{ + std::list<int>::iterator vi; + + flagList.resize(vertexIndices.size()); + + for (vi = vertexIndices.begin(); vi != vertexIndices.end(); vi++) + { + if (isConvex(vi)) + { + convexList.push_back(*vi); + flagList[*vi] = true; + } + else + { + reflexList.push_back(*vi); + flagList[*vi] = false; + } + } +} + +void Triangulator::fillEarList(void) +{ + std::list<int>::iterator vi; + bool res = false; + + for (vi = vertexIndices.begin(); vi != vertexIndices.end(); vi++) + { + if (flagList[*vi]) + { + res = isAnEar(vi); + + if (res) + { + earList.push_back(*vi); + } + } + } +} + +void Triangulator::getAdjacentVertices(std::list<int>::iterator vi, std::list<int>::iterator& vim1, std::list<int>::iterator& vip1) +{ + if (*vi == vertexIndices.front()) + { + vim1 = vertexIndices.end(); + vim1--; + } + else + { + vim1 = vi; + vim1--; + } + + if (*vi == vertexIndices.back()) + { + vip1 = vertexIndices.begin(); + } + else + { + vip1 = vi; + vip1++; + } +} + +bool Triangulator::isConvex(std::list<int>::iterator vertex) +{ + double dp = 0.0; + std::list<int>::iterator pred, succ; + + getAdjacentVertices(vertex, pred, succ); + + dp = computeDotProduct(*pred, *vertex, *succ); + + if (dp >= 0.0) + { + return true; + } + else + { + return false; + } +} + +bool Triangulator::isAnEar(std::list<int>::iterator vertex) +{ + bool isEar = true; + std::list<int>::iterator pred, succ; + std::list<int>::iterator vi; + + Vector3d v0, v1, v2; + + getAdjacentVertices(vertex, pred, succ); + + v0 = points[*pred]; + v1 = points[*vertex]; + v2 = points[*succ]; + + for (vi = reflexList.begin(); vi != reflexList.end(); vi++) + { + if (*vi == *pred || *vi == *vertex || *vi == *succ) + { + continue; + } + else + { + bool res; + + res = pointInTriangle(v0, v1, v2, points[*vi]); + + if (res) + { + isEar = false; + break; + } + } + + } + + numEarTests++; + + return isEar; +} + +/* To do: streamline */ +void Triangulator::updateVertex(std::list<int>::iterator vertex) +{ + bool res = false; + + if (flagList[*vertex]) + { + /* + * Convex vertex: remove it from the ear list if not an ear any more, + * else add it if not already present. + */ + res = isAnEar(vertex); + + if (!res) + { + earList.remove(*vertex); + numDelEars++; + } + else + { + std::list<int>::iterator foundEar; + + foundEar = find(earList.begin(), earList.end(), *vertex); + + if (foundEar == earList.end()) + { + earList.push_front(*vertex); + numAddEars++; + } + } + } + else + { + /* + * Non-convex vertex: may become convex, so its flag must be updated, as well + * as the reflex vertex list. + * Also determine whether it has become an ear and update the ear list accordingly. + */ + if (isConvex(vertex)) + { + flagList[*vertex] = true; + } + + if (flagList[*vertex]) + { + res = isAnEar(vertex); + + if (res) + { + std::list<int>::iterator foundEar; + + foundEar = find(earList.begin(), earList.end(), *vertex); + + if (foundEar == earList.end()) + { + earList.push_front(*vertex); + numAddEars++; + } + } + + reflexList.remove(*vertex); + } + } +} + +double Triangulator::computeDotProduct(int im1, int i, int ip1) +{ + double dp = 0.; + Vector3d eim1p; + + Vector3d eim1 = minus(points[i], points[im1]); + Vector3d ei = minus(points[ip1], points[i]); + + /* Normalize */ + eim1 = normalize(eim1); + ei = normalize(ei); + + /* Ought to use cross product */ + eim1p = perpendicularVector(eim1); + + dp = dot(eim1p, ei); + + return dp; +} + +bool Triangulator::pointInTriangle(Vector3d A, Vector3d B, Vector3d C, Vector3d P) +{ + double dot00 = 0., dot01 = 0., dot02 = 0., dot11 = 0., dot12 = 0.; + double invDenom = 0.; + double u = 0., v = 0.; + + Vector3d v0, v1, v2; + + /* Compute vectors */ + v0 = minus(C, A); + v1 = minus(B, A); + v2 = minus(P, A); + + /* Compute dot products */ + dot00 = dot(v0, v0); + dot01 = dot(v0, v1); + dot02 = dot(v0, v2); + dot11 = dot(v1, v1); + dot12 = dot(v1, v2); + + /* Compute barycentric coordinates */ + invDenom = 1 / (dot00 * dot11 - dot01 * dot01); + u = (dot11 * dot02 - dot01 * dot12) * invDenom; + v = (dot00 * dot12 - dot01 * dot02) * invDenom; + + /* Check if point is in triangle */ + return (u >= 0) && (v >= 0) && (u + v < 1); +} + +Vector3d Triangulator::minus(Vector3d v0, Vector3d v1) +{ + Vector3d res; + + res.x = v0.x - v1.x; + res.y = v0.y - v1.y; + res.z = v0.z - v1.z; + + return res; +} + +double Triangulator::dot(Vector3d v0, Vector3d v1) +{ + return v0.x * v1.x + v0.y * v1.y + v0.z * v1.z; +} + +Vector3d Triangulator::normalize(Vector3d v) +{ + double n = sqrt(v.x * v.x + v.y * v.y); + + if (n < EPSILON) + { + n = 1.0; + } + + v.x /= n; + v.y /= n; + + return v; +} + +Vector3d Triangulator::perpendicularVector(Vector3d v) +{ + Vector3d perp; + perp.x = -v.y; + perp.y = v.x; + perp.z = 0.0; + + return perp; +} + +bool Triangulator::compareVertices(Vector3d v0, Vector3d v1) +{ + if (areEqual(v0.x, v1.x) && areEqual(v0.y, v1.y)) + { + return true; + } + else + { + return false; + } +} + +bool Triangulator::areEqual(double x0, double x1) +{ + double maxAbs = fabs(x0) > fabs(x1) ? fabs(x0) : fabs(x1); + + if (fabs(x0 - x1) <= EPSILON) + { + return true; + } + else if (fabs(x0 - x1) <= EPSILON * maxAbs) + { + return true; + } + else + { + return false; + } +} + +Triangulator::Triangulator(void) +{ + numPoints = 0; + numInitPoints = 0; + flipped = false; + numAddEars = 0; + numDelEars = 0; + numSteps = 0; + numEarTests = 0; + numColinearVertices = 0; + + xmin = ymin = zmin = std::numeric_limits<double>::max(); + xmax = ymax = zmax = std::numeric_limits<double>::min(); + + inputPoints.clear(); + points.clear(); + vertexIndices.clear(); + actualVertexIndices.clear(); + earList.clear(); + convexList.clear(); + reflexList.clear(); + flagList.clear(); + triangleIndices.clear(); +} + +void Triangulator::initialize(void) +{ + const double xscale = xmax - xmin; + const double yscale = ymax - ymin; + const double zscale = zmax - zmin; + // we scale-translate the point in the cube [0,1]^3 to avoid error with floating point operations + for (std::vector<Vector3d>::iterator i = inputPoints.begin(), e = inputPoints.end(); i != e; ++i) + { + if (xscale) + { + i->x = (i->x - xmin) / xscale; + } + else + { + i->x = 1; + } + if (yscale) + { + i->y = (i->y - ymin) / yscale; + } + else + { + i->y = 1; + } + if (zscale) + { + i->z = (i->z - zmin) / zscale; + } + else + { + i->z = 1; + } + } + + double area = 0.; + + numPoints = (int)inputPoints.size(); + + determineSmallestAxis(); + fillPoints(); + area = computeArea(); + + if (area < 0.0) + { + flipped = true; + } + else + { + flipped = false; + } + + fillVertexIndices(); + + numInitPoints = numPoints; + + /* + * An additional colinear vertices removal pass should be performed + * after the duplicate removal pass, as some adjacent edges may become colinear. + */ + removeColinearVertices(); + removeDuplicateVertices(); + + /* Vertex indices must be re-filled */ + vertexIndices.clear(); + fillVertexIndices(); + + fillConvexVerticesList(); + fillEarList(); +} + +void Triangulator::addPoint(double x, double y, double z) +{ + Vector3d point(x, y, z); + + if (x < xmin) + { + xmin = x; + } + if (x > xmax) + { + xmax = x; + } + + if (y < ymin) + { + ymin = y; + } + if (y > ymax) + { + ymax = y; + } + + if (z < zmin) + { + zmin = z; + } + if (z > zmax) + { + zmax = z; + } + + /*point.x = x; + point.y = y; + point.z = z;*/ + + inputPoints.push_back(point); +} + +void Triangulator::triangulate(void) +{ + int triIndex = 0; + std::list<int>::iterator it; + std::list<int>::iterator vertex, pred, succ; + + numSteps = 0; + + while (vertexIndices.size() >= 3 && earList.size() > 0) + { + int v0 = 0, v1 = 0, v2 = 0; + int v0actual = 0, v1actual = 0, v2actual = 0; + int vertexIndex = 0; + + it = earList.begin(); + + /* If not found, we should break out of the loop. To be checked. */ + vertex = find(vertexIndices.begin(), vertexIndices.end(), *it); + vertexIndex = *vertex; + + getAdjacentVertices(vertex, pred, succ); + + /* Remove */ + vertexIndices.remove(*vertex); + earList.pop_front(); + + numDelEars++; + + + triIndex = *pred; + v0 = triIndex; + v1 = vertexIndex; + triIndex = *succ; + v2 = triIndex; + + v0actual = actualVertexIndices[v0]; + v1actual = actualVertexIndices[v1]; + v2actual = actualVertexIndices[v2]; + + triangleIndices.push_back(v0actual); + triangleIndices.push_back(v1actual); + triangleIndices.push_back(v2actual); + + /* Update the predecessor vertex */ + updateVertex(pred); + + /* Update the successor vertex */ + updateVertex(succ); + + numSteps++; + } +} + +int Triangulator::getNumberTriangles(void) +{ + return (int)(triangleIndices.size() / 3); +} + +int* Triangulator::getIndices(void) +{ + return &triangleIndices[0]; +} + +int Triangulator::getNumberSteps(void) +{ + return numSteps; +} + +int Triangulator::getNumberEarTests(void) +{ + return numEarTests; +} + +void Triangulator::clear(void) +{ + inputPoints.clear(); + points.clear(); + numPoints = 0; + numInitPoints = 0; + + vertexIndices.clear(); + actualVertexIndices.clear(); + earList.clear(); + convexList.clear(); + reflexList.clear(); + flagList.clear(); + triangleIndices.clear(); + + numAddEars = 0; + numDelEars = 0; + numSteps = 0; + numEarTests = 0; + numColinearVertices = 0; +} + diff --git a/modules/graphic_objects/src/cpp/createGraphicObject.cpp b/modules/graphic_objects/src/cpp/createGraphicObject.cpp new file mode 100755 index 000000000..f03007ab6 --- /dev/null +++ b/modules/graphic_objects/src/cpp/createGraphicObject.cpp @@ -0,0 +1,303 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +extern "C" +{ +#include "createGraphicObject.h" +#include "getScilabJavaVM.h" +#include "getGraphicObjectProperty.h" +#include "setGraphicObjectProperty.h" +#include "FigureModel.h" +#include "AxesModel.h" +#include "CurrentSubwin.h" +} + +#include "CallGraphicController.hxx" +#include "CallXmlLoader.hxx" +#include "Builder.hxx" +#include "DataController.hxx" + +using namespace org_scilab_modules_graphic_objects_builder; +using namespace org_scilab_modules_graphic_objects; + +int createGraphicObject(int _iType) +{ + return CallGraphicController::askGraphicObject(getScilabJavaVM(), _iType); +} + +int cloneGraphicObject(int _sId) +{ + return CallGraphicController::cloneGraphicObject(getScilabJavaVM(), _sId); +} + +int createDataObject(int _sId, int _iType) +{ + return DataController::createDataObject(_sId, _iType); +} + +void buildFigureMenuBar(int _sFigureId) +{ + CallGraphicController::buildFigureMenuBar(getScilabJavaVM(), _sFigureId); +} + +int createRect(int iParentsubwinUID, double x, double y, double height, double width, int foreground, int background, int isfilled, int isline) +{ + return Builder::createRect(getScilabJavaVM(), iParentsubwinUID, x, y, height, width, foreground, background, isfilled, isline); +} + +int cloneGraphicContext(int sourceIdentifier, int destIdentifier) +{ + return Builder::cloneGraphicContext(getScilabJavaVM(), sourceIdentifier, destIdentifier); +} + +int cloneFontContext(int sourceIdentifier, int destIdentifier) +{ + return Builder::cloneFontContext(getScilabJavaVM(), sourceIdentifier, destIdentifier); +} + +int createHiddenLabel(int parent) +{ + return Builder::createHiddenLabel(getScilabJavaVM(), parent); +} + +BOOL isAxesRedrawing(int subWin) +{ + return booltoBOOL(Builder::isAxesRedrawing(getScilabJavaVM(), subWin)); +} + +int createLabel(int parent, int type) +{ + return Builder::createLabel(getScilabJavaVM(), parent, type); +} + +int createNewFigureWithAxes() +{ + int iUserDataSize = 0; + int* piUserDataSize = &iUserDataSize; + int id = 0; + int on = 1; + int off = 0; + + id = Builder::createNewFigureWithAxes(getScilabJavaVM()); + + //clone user_data is needed + getGraphicObjectProperty(getFigureModel(), __GO_USER_DATA_SIZE__, jni_int, (void**)&piUserDataSize); + if (iUserDataSize != 0) + { + int* pUserData = NULL; + getGraphicObjectProperty(getFigureModel(), __GO_USER_DATA__, jni_int_vector, (void**)&pUserData); + setGraphicObjectProperty(id, __GO_USER_DATA__, pUserData, jni_int_vector, iUserDataSize); + } + + //clone gda user_data is needed + getGraphicObjectProperty(getAxesModel(), __GO_USER_DATA_SIZE__, jni_int, (void**)&piUserDataSize); + if (iUserDataSize != 0) + { + int* pUserData = NULL; + getGraphicObjectProperty(getAxesModel(), __GO_USER_DATA__, jni_int_vector, (void**)&pUserData); + setGraphicObjectProperty(getCurrentSubWin(), __GO_USER_DATA__, pUserData, jni_int_vector, iUserDataSize); + } + + setGraphicObjectProperty(id, __GO_MENUBAR_VISIBLE__, (void*)&off, jni_bool, 1); + setGraphicObjectProperty(id, __GO_TOOLBAR_VISIBLE__, (void*)&off, jni_bool, 1); + setGraphicObjectProperty(id, __GO_INFOBAR_VISIBLE__, (void*)&off, jni_bool, 1); + + setGraphicObjectProperty(id, __GO_MENUBAR_VISIBLE__, (void*)&on, jni_bool, 1); + setGraphicObjectProperty(id, __GO_TOOLBAR_VISIBLE__, (void*)&on, jni_bool, 1); + setGraphicObjectProperty(id, __GO_INFOBAR_VISIBLE__, (void*)&on, jni_bool, 1); + + return id; +} + +int createFigure(int iDockable, int iMenubarType, int iToolbarType, int iDefaultAxes, int iVisible) +{ + int id = 0; + int iUserDataSize = 0; + int* piUserDataSize = &iUserDataSize; + + id = Builder::createFigure(getScilabJavaVM(), iDockable != 0, iMenubarType, iToolbarType, iDefaultAxes != 0, iVisible != 0); + + //clone gdf user_data is needed + getGraphicObjectProperty(getFigureModel(), __GO_USER_DATA_SIZE__, jni_int, (void**)&piUserDataSize); + if (iUserDataSize != 0) + { + int* pUserData = NULL; + getGraphicObjectProperty(getFigureModel(), __GO_USER_DATA__, jni_int_vector, (void**)&pUserData); + setGraphicObjectProperty(id, __GO_USER_DATA__, pUserData, jni_int_vector, iUserDataSize); + } + + //clone gda user_data is needed + getGraphicObjectProperty(getAxesModel(), __GO_USER_DATA_SIZE__, jni_int, (void**)&piUserDataSize); + if (iUserDataSize != 0) + { + int* pUserData = NULL; + getGraphicObjectProperty(getAxesModel(), __GO_USER_DATA__, jni_int_vector, (void**)&pUserData); + setGraphicObjectProperty(getCurrentSubWin(), __GO_USER_DATA__, pUserData, jni_int_vector, iUserDataSize); + } + + return id; +} + +void cloneMenus(int model, int newParent) +{ + Builder::cloneMenus(getScilabJavaVM(), model, newParent); +} + +int cloneAxesModel(int parent) +{ + int id = Builder::cloneAxesModel(getScilabJavaVM(), parent); + int iUserDataSize = 0; + int* piUserDataSize = &iUserDataSize; + + //clone user_data is needed + getGraphicObjectProperty(getAxesModel(), __GO_USER_DATA_SIZE__, jni_int, (void**)&piUserDataSize); + if (iUserDataSize != 0) + { + int* pUserData = NULL; + getGraphicObjectProperty(getAxesModel(), __GO_USER_DATA__, jni_int_vector, (void**)&pUserData); + setGraphicObjectProperty(id, __GO_USER_DATA__, pUserData, jni_int_vector, iUserDataSize); + } + + return id; +} + +int createSubWin(int parent) +{ + int id = 0; + int iUserDataSize = 0; + int* piUserDataSize = &iUserDataSize; + + id = Builder::createSubWin(getScilabJavaVM(), parent); + + //clone user_data is needed + getGraphicObjectProperty(getAxesModel(), __GO_USER_DATA_SIZE__, jni_int, (void**)&piUserDataSize); + if (iUserDataSize != 0) + { + int* pUserData = NULL; + getGraphicObjectProperty(getAxesModel(), __GO_USER_DATA__, jni_int_vector, (void**)&pUserData); + setGraphicObjectProperty(id, __GO_USER_DATA__, pUserData, jni_int_vector, iUserDataSize); + } + + return id; +} + +int createText(int iParentsubwinUID, char** text, int nbRow, int nbCol, double x, double y, BOOL autoSize, double* userSize, int centerPos, int *foreground, int *background, BOOL isboxed, BOOL isline, BOOL isfilled, int align) +{ + return Builder::createText(getScilabJavaVM(), iParentsubwinUID, text, nbRow * nbCol, nbRow, nbCol, x, y, autoSize == TRUE, + userSize, userSize == NULL ? 0 : 2, + centerPos, + foreground != NULL ? *foreground : 0, foreground != NULL, + background != NULL ? *background : 0, background != NULL, + isboxed == TRUE, isline == TRUE, isfilled == TRUE, align); +} + +int createArc(int parent, double x, double y, double h, double w, double start, double end, int* foreground, int* background, BOOL filled, BOOL line) +{ + return Builder::createArc(getScilabJavaVM(), parent, x, y, h, w, start, end, + foreground != NULL ? *foreground : 0, foreground != NULL, + background != NULL ? *background : 0, background != NULL, + filled == TRUE, line == TRUE); +} + +int createAxis(int parent, int dir, int tics, double* vx, int nx, double* vy, int ny, int subint, char* format, int fontSize, int textColor, int ticsColor, BOOL seg) +{ + return Builder::createAxis(getScilabJavaVM(), parent, dir, tics, vx, nx, vy, ny, subint, format, fontSize, textColor, ticsColor, seg == TRUE); +} + +int createCompound(int parent, int* children, int childrenCount) +{ + return Builder::createCompound(getScilabJavaVM(), parent, children, childrenCount); +} + +int createCompoundSeq(int parent, int childrenCount) +{ + return Builder::createCompoundSeq(getScilabJavaVM(), parent, childrenCount); +} + +int createFec(int parent, double* zminmax, int zminmaxsize, int* colminmax, int colminmaxSize, int* colout, int coloutSize, BOOL with_mesh) +{ + return Builder::createFec(getScilabJavaVM(), parent, zminmax, zminmaxsize, colminmax, colminmaxSize, colout, coloutSize, with_mesh == TRUE); +} + +int createGrayplot(int parent, int type, double* pvecx, int pvecxSize, int n1, int n2) +{ + return Builder::createGrayplot(getScilabJavaVM(), parent, type, pvecx, pvecxSize, n1, n2); +} + +int createPolyline(int parent, BOOL closed, int plot, int* foreground, int* background, int backgroundSize, + int* mark_style, int* mark_foreground, int* mark_background, BOOL isline, BOOL isfilled, BOOL ismark, BOOL isinterp) +{ + bool isForeground = foreground != NULL; + bool isMarkStyle = mark_style != NULL; + bool isMarkForeground = mark_foreground != NULL; + bool isMarkBackground = mark_background != NULL; + + return Builder::createPolyline(getScilabJavaVM(), parent, closed == TRUE, plot, + isForeground ? *foreground : 0, isForeground, + background, backgroundSize, + isMarkStyle ? *mark_style : 0, isMarkStyle, + isMarkForeground ? *mark_foreground : 0, isMarkForeground, + isMarkBackground ? *mark_background : 0, isMarkBackground, + isline == TRUE, isfilled == TRUE, ismark == TRUE, isinterp == TRUE); +} + +int createLegend(int parent, char** text, int iTextSize, int* handles, int iHandlesSize) +{ + return Builder::createLegend(getScilabJavaVM(), parent, text, iTextSize, handles, iHandlesSize); +} + +int createSegs(int parent, double* vx, int vxSize, double* vy, int vySize, double* vz, int vzSize, int* style, int styleSize, double arsize) +{ + return Builder::createSegs(getScilabJavaVM(), parent, vx, vxSize, vy, vySize, vz, vzSize, vzSize != 0, style, styleSize, arsize); +} + +int createChamp(int parent, double* vx, int vxSize, double* vy, int vySize, double* vfx, int vfxSize, double* vfy, int vfySize, double arsize, BOOL typeofchamp) +{ + return Builder::createChamp(getScilabJavaVM(), parent, vx, vxSize, vy, vySize, vfx, vfxSize, vfy, vfySize, arsize, typeofchamp == TRUE); +} + +int createSurface(int parent, int typeof3d, int colorFlag, int colorMode) +{ + return Builder::createSurface(getScilabJavaVM(), parent, typeof3d, colorFlag, colorMode); +} + +void initSubWinTo3d(int subwin, char* legend, int* flag, double alpha, double theta, + double* ebox, double* x, int xSize, double* y, int ySize, double* z, int zSize) +{ + Builder::initSubWinTo3d(getScilabJavaVM(), subwin, legend, legend != NULL, flag, 3, alpha, theta, + ebox, 6, x, xSize, y, ySize, z, zSize); +} + +int createLight(int parent, int type, BOOL visible, double* pos, double* dir, double* ambient, double* diffuse, double* specular) +{ + return Builder::createLight(getScilabJavaVM(), parent, type, visible == TRUE, + pos, pos == NULL ? 0 : 3, + dir, dir == NULL ? 0 : 3, + ambient, ambient == NULL ? 0 : 3, + diffuse, diffuse == NULL ? 0 : 3, + specular, specular == NULL ? 0 : 3); +} + +int xmlload(char* xmlfile) +{ + return CallXmlLoader::Load(getScilabJavaVM(), xmlfile); +} + +int xmldomload(char* xmlfile) +{ + return CallXmlLoader::DomLoad(getScilabJavaVM(), xmlfile); +} + +char* xmlsave(int id, char* xmlfile, BOOL isReverse) +{ + return CallXmlLoader::Save(getScilabJavaVM(), id, xmlfile, isReverse == 1); +} diff --git a/modules/graphic_objects/src/cpp/createObjectData.cpp b/modules/graphic_objects/src/cpp/createObjectData.cpp new file mode 100755 index 000000000..c200dd221 --- /dev/null +++ b/modules/graphic_objects/src/cpp/createObjectData.cpp @@ -0,0 +1,99 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - Pedro Arthur dos S. Souza + * Copyright (C) 2012 - Caio Lucas dos S. Souza + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +#include <stdio.h> +#include <string.h> + +extern "C" +{ +#include "createGraphicObject.h" +#include "deleteGraphicObject.h" +#include "returnType.h" +#include "getGraphicObjectProperty.h" +#include "setGraphicObjectProperty.h" +#include "graphicObjectProperties.h" + + int createObject3dData(int obj, int newObj, int type); + +} +/* + * Create the data object for the newObj + * and copy the data from obj to newObj. + */ +int createObject3dData(int obj, int newObj, int type) +{ + double *pvecx, *pvecy, *pvecz; + int dataObj = 0; + int numElementsArray[3]; + BOOL result; + int *ptr; + + dataObj = createDataObject(newObj, type); + + if (dataObj == 0) + { + return 0; + } + + + if (type == __GO_PLOT3D__ || type == __GO_GRAYPLOT__) + { + ptr = &numElementsArray[0]; + getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_X__, jni_int, (void**)&ptr); + ptr = &numElementsArray[1]; + getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**)&ptr); + ptr = &numElementsArray[2]; + getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_Z__, jni_int, (void**)&ptr); + + int grid[] = {1, numElementsArray[0], 1, numElementsArray[1]}; + result = setGraphicObjectProperty(newObj, __GO_DATA_MODEL_GRID_SIZE__, grid, jni_int_vector, 4); + } + else if (type == __GO_FAC3D__) + { + int ng = 0, nvg = 0; + int *png = &ng, *pnvg = &nvg; + int numColors; + int *pNumColors = &numColors; + double *Colors; + getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &png); + getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &pnvg); + getGraphicObjectProperty(obj, __GO_DATA_MODEL_NUM_COLORS__, jni_int, (void**)&pNumColors); + getGraphicObjectProperty(obj, __GO_DATA_MODEL_COLORS__, jni_double_vector, (void**)&Colors); + + numElementsArray[0] = numElementsArray[1] = numElementsArray[2] = ng * nvg; + + int elements[] = {ng, nvg, numColors}; + result = setGraphicObjectProperty(newObj, __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__, &elements, jni_int_vector, 3); + setGraphicObjectProperty(newObj, __GO_DATA_MODEL_COLORS__, Colors, jni_double_vector, numColors); + } + else + { + return 0; + } + + + if (result == 0) + { + deleteDataObject(dataObj); + return 0; + } + + getGraphicObjectProperty(obj, __GO_DATA_MODEL_X__, jni_double_vector, (void**)&pvecx); + getGraphicObjectProperty(obj, __GO_DATA_MODEL_Y__, jni_double_vector, (void**)&pvecy); + getGraphicObjectProperty(obj, __GO_DATA_MODEL_Z__, jni_double_vector, (void**)&pvecz); + + setGraphicObjectProperty(newObj, __GO_DATA_MODEL_X__, pvecx, jni_double_vector, numElementsArray[0]); + setGraphicObjectProperty(newObj, __GO_DATA_MODEL_Y__, pvecy, jni_double_vector, numElementsArray[1]); + setGraphicObjectProperty(newObj, __GO_DATA_MODEL_Z__, pvecz, jni_double_vector, numElementsArray[2]); + + return dataObj; +} diff --git a/modules/graphic_objects/src/cpp/dataModel.cpp b/modules/graphic_objects/src/cpp/dataModel.cpp new file mode 100755 index 000000000..55317ad04 --- /dev/null +++ b/modules/graphic_objects/src/cpp/dataModel.cpp @@ -0,0 +1,125 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +#include "DataModel.hxx" + +extern "C" { +#include "BOOL.h" + +#include <string.h> +} + +DataModel *DataModel::m_me = NULL; + +BOOL DataModel::setGraphicObjectProperty(int iUID, int _iName, void const* _dblValue, int numElements) +{ + Data3D* dataObject = NULL; + int property = 0; + int returnValue = 0; + + dataObject = (*m_dataMap)[iUID]; + if (dataObject == NULL) + { + return FALSE; + } + + property = dataObject->getPropertyFromName(_iName); + + if (property == UNKNOWN_DATA_PROPERTY) + { + return FALSE; + } + + returnValue = dataObject->setDataProperty(property, _dblValue, numElements); + + return (BOOL) returnValue; +} + +void DataModel::getGraphicObjectProperty(int iUID, int _iName, void **_pvData) +{ + Data3D* dataObject = NULL; + int property = 0; + + dataObject = (*m_dataMap)[iUID]; + + if (dataObject == NULL) + { + *_pvData = NULL; + return; + } + + property = dataObject->getPropertyFromName(_iName); + if (property == UNKNOWN_DATA_PROPERTY) + { + *_pvData = NULL; + return; + } + + dataObject->getDataProperty(property, _pvData); +} + +int DataModel::createDataObject(int iUID, int _iType) +{ + Data3D* newObject = NULL; + + /* + * To be implemented as the Java graphicObject class' similar function + * (getTypeFromName) in order to avoid strcmp calls. + */ + + switch (_iType) + { + case __GO_GRAYPLOT__ : + newObject = new NgonGridData(); + break; + case __GO_MATPLOT__ : + newObject = new NgonGridMatplotData(); + break; + case __GO_FAC3D__ : + newObject = new NgonGeneralData(); + break; + case __GO_PLOT3D__ : + newObject = new NgonGridData(); + break; + case __GO_POLYLINE__ : + newObject = new NgonPolylineData(); + break; + case __GO_FEC__ : + newObject = new MeshFecData(); + break; + default : + return 0; + } + + (*m_dataMap)[iUID] = newObject; + + return iUID; +} + +void DataModel::deleteDataObject(int iUID) +{ + std::map<int, Data3D*>::iterator it = m_dataMap->find(iUID); + if (it != m_dataMap->end() && it->second != NULL) + { + delete it->second; + m_dataMap->erase(it); + } + + /*Data3D* newObject = (*m_dataMap)[std::string(_pstID)]; + if (newObject != NULL) + { + delete newObject; + } + + m_dataMap->erase(std::string(_pstID));*/ +} + diff --git a/modules/graphic_objects/src/cpp/deleteGraphicObject.cpp b/modules/graphic_objects/src/cpp/deleteGraphicObject.cpp new file mode 100755 index 000000000..6c7f8991f --- /dev/null +++ b/modules/graphic_objects/src/cpp/deleteGraphicObject.cpp @@ -0,0 +1,33 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +extern "C" +{ +#include "deleteGraphicObject.h" +#include "getScilabJavaVM.h" +} + +#include "CallGraphicController.hxx" +#include "DataController.hxx" + +using namespace org_scilab_modules_graphic_objects; + +void deleteGraphicObject(int iUID) +{ + CallGraphicController::removeRelationShipAndDelete(getScilabJavaVM(), iUID); +} + +void deleteDataObject(int iUID) +{ + DataController::deleteDataObject(iUID); +} + diff --git a/modules/graphic_objects/src/cpp/getConsoleIdentifier.cpp b/modules/graphic_objects/src/cpp/getConsoleIdentifier.cpp new file mode 100755 index 000000000..a7042714e --- /dev/null +++ b/modules/graphic_objects/src/cpp/getConsoleIdentifier.cpp @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +extern "C" +{ +#include "getScilabJavaVM.h" +#include "getConsoleIdentifier.h" +} + +#include "CallGraphicController.hxx" + +using namespace org_scilab_modules_graphic_objects; + +int getConsoleIdentifier() +{ + return CallGraphicController::getConsoleIdentifier(getScilabJavaVM()); +} diff --git a/modules/graphic_objects/src/cpp/getGraphicObjectProperty.cpp b/modules/graphic_objects/src/cpp/getGraphicObjectProperty.cpp new file mode 100755 index 000000000..da730e600 --- /dev/null +++ b/modules/graphic_objects/src/cpp/getGraphicObjectProperty.cpp @@ -0,0 +1,292 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +extern "C" +{ +#include <stdlib.h> +#include <string.h> +#include "getGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +#include "getScilabJavaVM.h" +#include <stdio.h> +} + +#include "CallGraphicController.hxx" +#include "DataController.hxx" +#include "ScilabView.hxx" + +using namespace org_scilab_modules_graphic_objects; + +void getGraphicObjectProperty(int iUID, int _iName, _ReturnType_ _returnType, void **_pvData) +{ + // do not perform anything if the id is undefined + if (iUID == 0) + { + return; + } + + switch (_iName) + { + case __GO_USER_DATA__ : + { + *_pvData = ScilabView::getUserdata(iUID); + break; + } + case __GO_USER_DATA_SIZE__ : + { + ((int *)*_pvData)[0] = ScilabView::getUserdataSize(iUID); + break; + } + + /* All the Data model properties have the DATA_MODEL prefix */ + case __GO_DATA_MODEL__ : + case __GO_DATA_MODEL_COORDINATES__ : + case __GO_DATA_MODEL_X__ : + case __GO_DATA_MODEL_Y__ : + case __GO_DATA_MODEL_Z__ : + case __GO_DATA_MODEL_X_COORDINATES_SHIFT__ : + case __GO_DATA_MODEL_Y_COORDINATES_SHIFT__ : + case __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ : + case __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ : + case __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ : + case __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ : + case __GO_DATA_MODEL_NUM_ELEMENTS__ : + case __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ : + case __GO_DATA_MODEL_NUM_VERTICES_PER_GON__ : + case __GO_DATA_MODEL_NUM_GONS__ : + case __GO_DATA_MODEL_Z_COORDINATES_SET__ : + case __GO_DATA_MODEL_COLORS__ : + case __GO_DATA_MODEL_NUM_COLORS__ : + case __GO_DATA_MODEL_NUM_VERTICES__ : + case __GO_DATA_MODEL_NUM_INDICES__ : + case __GO_DATA_MODEL_INDICES__ : + case __GO_DATA_MODEL_VALUES__ : + case __GO_DATA_MODEL_FEC_ELEMENTS__ : + case __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__ : + case __GO_DATA_MODEL_NUM_X__ : + case __GO_DATA_MODEL_NUM_Y__ : + case __GO_DATA_MODEL_NUM_Z__ : + case __GO_DATA_MODEL_GRID_SIZE__ : + case __GO_DATA_MODEL_X_DIMENSIONS__ : + case __GO_DATA_MODEL_Y_DIMENSIONS__ : + case __GO_DATA_MODEL_MATPLOT_BOUNDS__ : + case __GO_DATA_MODEL_MATPLOT_TYPE__ : + case __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ : + case __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ : + case __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ : + case __GO_DATA_MODEL_MATPLOT_GL_TYPE__ : + case __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ : + case __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ : + case __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__ : + case __GO_DATA_MODEL_DISPLAY_FUNCTION__ : + case __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ : + { + DataController::getGraphicObjectProperty(iUID, _iName, _pvData); + break; + } + default : //property in Java Model + { + try + { + switch (_returnType) + { + case jni_string: + { + *(_pvData) = CallGraphicController::getGraphicObjectPropertyAsString(getScilabJavaVM(), iUID, _iName); + return; + } + case jni_string_vector: + { + *_pvData = CallGraphicController::getGraphicObjectPropertyAsStringVector(getScilabJavaVM(), iUID, _iName); + return; + } + case jni_double: + { + double * ret = CallGraphicController::getGraphicObjectPropertyAsDoubleVector(getScilabJavaVM(), iUID, _iName); + if (ret == NULL) + { + *_pvData = NULL; + } + else + { + ((double *)*_pvData)[0] = *ret; + delete[] ret; + } + + return; + } + case jni_double_vector: + { + *_pvData = CallGraphicController::getGraphicObjectPropertyAsDoubleVector(getScilabJavaVM(), iUID, _iName); + return; + } + case jni_bool: + { + int * ret = CallGraphicController::getGraphicObjectPropertyAsBooleanVector(getScilabJavaVM(), iUID, _iName); + if (ret == NULL) + { + *_pvData = NULL; + } + else + { + ((int *)*_pvData)[0] = *ret; + delete[] ret; + } + + return; + } + case jni_bool_vector: + { + *_pvData = CallGraphicController::getGraphicObjectPropertyAsBooleanVector(getScilabJavaVM(), iUID, _iName); + return; + } + case jni_int: + { + int * ret = CallGraphicController::getGraphicObjectPropertyAsIntegerVector(getScilabJavaVM(), iUID, _iName); + if (ret == NULL) + { + *_pvData = NULL; + } + else + { + ((int *)*_pvData)[0] = *ret; + delete[] ret; + } + + return; + } + case jni_int_vector: + { + *_pvData = CallGraphicController::getGraphicObjectPropertyAsIntegerVector(getScilabJavaVM(), iUID, _iName); + return; + } + default: + *_pvData = NULL; + return; + } + } + catch (std::exception &e) + { + e.what(); + // If we have an exception, return null to scilab to manage error. + *_pvData = NULL; + return; + } + } + } + + return; +} + + +void releaseGraphicObjectProperty(int _iName, void * _pvData, enum _ReturnType_ _returnType, int numElements) +{ + + /* All the Data model properties have the DATA_MODEL prefix */ + if (_iName == __GO_DATA_MODEL__ + || _iName == __GO_DATA_MODEL_COORDINATES__ + || _iName == __GO_DATA_MODEL_X__ + || _iName == __GO_DATA_MODEL_Y__ + || _iName == __GO_DATA_MODEL_Z__ + || _iName == __GO_DATA_MODEL_X_COORDINATES_SHIFT__ + || _iName == __GO_DATA_MODEL_Y_COORDINATES_SHIFT__ + || _iName == __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ + || _iName == __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ + || _iName == __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ + || _iName == __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ + || _iName == __GO_DATA_MODEL_NUM_ELEMENTS__ + || _iName == __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ + || _iName == __GO_DATA_MODEL_NUM_VERTICES_PER_GON__ + || _iName == __GO_DATA_MODEL_NUM_GONS__ + || _iName == __GO_DATA_MODEL_Z_COORDINATES_SET__ + || _iName == __GO_DATA_MODEL_COLORS__ + || _iName == __GO_DATA_MODEL_NUM_COLORS__ + || _iName == __GO_DATA_MODEL_NUM_VERTICES__ + || _iName == __GO_DATA_MODEL_NUM_INDICES__ + || _iName == __GO_DATA_MODEL_INDICES__ + || _iName == __GO_DATA_MODEL_VALUES__ + || _iName == __GO_DATA_MODEL_FEC_ELEMENTS__ + || _iName == __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__ + || _iName == __GO_DATA_MODEL_NUM_X__ + || _iName == __GO_DATA_MODEL_NUM_Y__ + || _iName == __GO_DATA_MODEL_NUM_Z__ + || _iName == __GO_DATA_MODEL_GRID_SIZE__ + || _iName == __GO_DATA_MODEL_X_DIMENSIONS__ + || _iName == __GO_DATA_MODEL_Y_DIMENSIONS__ + || _iName == __GO_DATA_MODEL_MATPLOT_BOUNDS__ + || _iName == __GO_DATA_MODEL_MATPLOT_TYPE__ + || _iName == __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ + || _iName == __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ + || _iName == __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ + || _iName == __GO_DATA_MODEL_MATPLOT_GL_TYPE__ + || _iName == __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ + || _iName == __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ + || _iName == __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__ + ) + { + // passed by reference, do not free them + return; + } + + switch (_returnType) + { + case jni_string: + { + delete[] (char*) _pvData; + return; + } + case jni_string_vector: + { + char** data = (char**) _pvData; + for (int i = 0; i < numElements; ++i) + { + delete[] data[i]; + } + delete[] data; + return; + } + case jni_double: + { + // passed by value + return; + } + case jni_double_vector: + { + delete[] (double*) _pvData; + return; + } + case jni_bool: + { + // passed by value + return; + } + case jni_bool_vector: + { + delete[] (int*) _pvData; + return; + } + case jni_int: + { + // passed by value + return; + } + case jni_int_vector: + { + delete[] (int*) _pvData; + return; + } + default: + return; + } + +} + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-AxesModel.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-AxesModel.lo new file mode 100755 index 000000000..ba71048df --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-AxesModel.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-AxesModel.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-AxesModel.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-ColorComputer.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-ColorComputer.lo new file mode 100755 index 000000000..04d0aa8db --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-ColorComputer.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-ColorComputer.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-ColorComputer.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-CurrentFigure.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-CurrentFigure.lo new file mode 100755 index 000000000..927ab19d1 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-CurrentFigure.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-CurrentFigure.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-CurrentFigure.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-CurrentObject.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-CurrentObject.lo new file mode 100755 index 000000000..8a507deea --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-CurrentObject.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-CurrentObject.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-CurrentObject.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-CurrentSubwin.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-CurrentSubwin.lo new file mode 100755 index 000000000..d054acbf8 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-CurrentSubwin.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-CurrentSubwin.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-CurrentSubwin.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Data3D.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Data3D.lo new file mode 100755 index 000000000..7212564b8 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Data3D.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-Data3D.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-Data3D.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-DataLoader.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-DataLoader.lo new file mode 100755 index 000000000..a039fed44 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-DataLoader.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-DataLoader.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-DataLoader.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-DecompositionUtils.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-DecompositionUtils.lo new file mode 100755 index 000000000..80a3d994e --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-DecompositionUtils.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-DecompositionUtils.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-DecompositionUtils.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo new file mode 100755 index 000000000..e9d8c0618 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-Fac3DColorComputer.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-Fac3DColorComputer.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo new file mode 100755 index 000000000..2ba85ef6b --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-Fac3DDecomposer.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-Fac3DDecomposer.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-FigureList.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-FigureList.lo new file mode 100755 index 000000000..1ecdbfe16 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-FigureList.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-FigureList.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-FigureList.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-FigureModel.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-FigureModel.lo new file mode 100755 index 000000000..d3a59f82b --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-FigureModel.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-FigureModel.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-FigureModel.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-HandleManagement.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-HandleManagement.lo new file mode 100755 index 000000000..4cfc2f47f --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-HandleManagement.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-HandleManagement.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-HandleManagement.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo new file mode 100755 index 000000000..8a5d75b9b --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-MatPlotDecomposer.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-MatPlotDecomposer.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-MeshData.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-MeshData.lo new file mode 100755 index 000000000..28c78973d --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-MeshData.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-MeshData.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-MeshData.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-MeshFecData.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-MeshFecData.lo new file mode 100755 index 000000000..3f8b92684 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-MeshFecData.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-MeshFecData.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-MeshFecData.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo new file mode 100755 index 000000000..a7c121ec7 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-MeshFecDataDecomposer.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-MeshFecDataDecomposer.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonData.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonData.lo new file mode 100755 index 000000000..e4932b580 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonData.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-NgonData.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-NgonData.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGeneralData.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGeneralData.lo new file mode 100755 index 000000000..155e68245 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGeneralData.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-NgonGeneralData.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-NgonGeneralData.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridData.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridData.lo new file mode 100755 index 000000000..814f9a033 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridData.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-NgonGridData.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-NgonGridData.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo new file mode 100755 index 000000000..242e46ef6 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-NgonGridDataDecomposer.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-NgonGridDataDecomposer.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo new file mode 100755 index 000000000..70a870e00 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-NgonGridGrayplotDataDecomposer.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo new file mode 100755 index 000000000..c97585e55 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-NgonGridMatplotData.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-NgonGridMatplotData.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo new file mode 100755 index 000000000..0964d1d74 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-NgonGridMatplotDataDecomposer.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonPolylineData.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonPolylineData.lo new file mode 100755 index 000000000..fccdc033b --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NgonPolylineData.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-NgonPolylineData.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-NgonPolylineData.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NormalGenerator.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NormalGenerator.lo new file mode 100755 index 000000000..00b8996c5 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-NormalGenerator.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-NormalGenerator.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-NormalGenerator.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo new file mode 100755 index 000000000..09f35bdd2 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-Plot3DDecomposer.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-Plot3DDecomposer.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo new file mode 100755 index 000000000..897395b50 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-PolylineDecomposer.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-ScilabView.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-ScilabView.lo new file mode 100755 index 000000000..c3c53b3e6 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-ScilabView.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-ScilabView.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-ScilabView.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Texture.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Texture.lo new file mode 100755 index 000000000..64055a65b --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Texture.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-Texture.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-Texture.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Triangulator.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Triangulator.lo new file mode 100755 index 000000000..7f5de8a88 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-Triangulator.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-Triangulator.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-Triangulator.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-createGraphicObject.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-createGraphicObject.lo new file mode 100755 index 000000000..db6845aae --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-createGraphicObject.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-createGraphicObject.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-createGraphicObject.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-createObjectData.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-createObjectData.lo new file mode 100755 index 000000000..d9457b6f2 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-createObjectData.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-createObjectData.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-createObjectData.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-dataModel.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-dataModel.lo new file mode 100755 index 000000000..03ae3d2c0 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-dataModel.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-dataModel.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-dataModel.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo new file mode 100755 index 000000000..207d7e76f --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-deleteGraphicObject.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-deleteGraphicObject.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo new file mode 100755 index 000000000..8ab1cdfca --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-getConsoleIdentifier.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-getConsoleIdentifier.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo new file mode 100755 index 000000000..173342237 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-getGraphicObjectProperty.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-getGraphicObjectProperty.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-pickSurface.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-pickSurface.lo new file mode 100755 index 000000000..53ee0c699 --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-pickSurface.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-pickSurface.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-pickSurface.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo new file mode 100755 index 000000000..5c2e8637e --- /dev/null +++ b/modules/graphic_objects/src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo @@ -0,0 +1,12 @@ +# src/cpp/libscigraphic_objects_la-setGraphicObjectProperty.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-setGraphicObjectProperty.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/cpp/pickSurface.cpp b/modules/graphic_objects/src/cpp/pickSurface.cpp new file mode 100755 index 000000000..e1150a820 --- /dev/null +++ b/modules/graphic_objects/src/cpp/pickSurface.cpp @@ -0,0 +1,347 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - Pedro Arthur dos S. Souza + * Copyright (C) 2012 - Caio Lucas dos S. Souza + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +extern "C" +{ +#include <stdio.h> +#include <math.h> +#include <string.h> + +#include "getGraphicObjectProperty.h" +#include "graphicObjectProperties.h" + + double pickSurface(int uid, double x, double y, double z, double dx, double dy, double dz, double mx, double my, double mz, double mw); + +} + +#define EPS 1e-8 + +class Vec3 +{ +public: + double x, y, z; + + Vec3(): x(0), y(0), z(0) {} + Vec3(double _x, double _y, double _z): x(_x), y(_y), z(_z) {} + + Vec3 operator - (Vec3 v) + { + return Vec3( x - v.x, y - v.y, z - v.z ); + } + + Vec3 operator + (Vec3 v) + { + return Vec3( x + v.x, y + v.y, z + v.z ); + } + + Vec3 operator * (double s) + { + return Vec3( x * s, y * s, z * s ); + } + + Vec3 operator / (double s) + { + return Vec3( x / s, y / s, z / s ); + } + + double dot(Vec3 v) + { + return x * v.x + y * v.y + z * v.z; + } + + Vec3 cross(Vec3 v) + { + return Vec3(y * v.z - z * v.y, z * v.x - x * v.z, x * v.y - y * v.x); + } + + Vec3& normalize() + { + double d = sqrt(this->dot(*this)); + if (d < EPS) + { + x = y = z = 0; + } + else + { + x /= d; + y /= d; + z /= d; + } + return *this; + } + + Vec3 getNormalized() + { + Vec3 n = Vec3(x, y, z); + return n.normalize(); + } + + void print() + { + printf("\nv = %.8f, %.8f, %.8f", x, y, z); + } +}; + +int test_tri(Vec3 V1, Vec3 V2, Vec3 V3, Vec3 Dir, Vec3 P0, Vec3 &ret); +void QuadTestAndSaveZ(double *bounds, Vec3 P0, Vec3 P1, Vec3 P2, Vec3 P3, Vec3 direction, Vec3 point, + double mx, double my, double mz, double mw, double &retZ); + +/* + * Given a ray (point(x, y,z) + direction(dx, dy, dz)) + * check if the ray intersects any triangle from the given surface. + * returns the projected Z from the intersection point (p) (p.x*mx + p.y*my + p.z*mz + mw;) + * or 2.0 if there isn't intersection (projected z vary between -1.0 - 1.0). + */ + +double pickSurface(int uid, double x, double y, double z, double dx, double dy, double dz, double mx, double my, double mz, double mw) +{ + double* X = NULL; + double* Y = NULL; + double* Z = NULL; + + int type; + int * pType = &type; + double lastZ = 2.0; + + Vec3 direction = Vec3(dx, dy, dz); + Vec3 point = Vec3(x, y, z); + + getGraphicObjectProperty(uid, __GO_DATA_MODEL_X__, jni_double_vector, (void**) &X); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Y__, jni_double_vector, (void**) &Y); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &Z); + + + + int axes_uid = 0; + int * paxes_uid = &axes_uid; + int zoom_enabled = 0; + int *ptr = &zoom_enabled; + double *bounds; + getGraphicObjectProperty(uid, __GO_PARENT_AXES__, jni_int, (void**) &paxes_uid); + getGraphicObjectProperty(axes_uid, __GO_ZOOM_ENABLED__, jni_bool, (void**) &ptr); + + if (zoom_enabled) + { + getGraphicObjectProperty(axes_uid, __GO_ZOOM_BOX__, jni_double_vector, (void**) &bounds); + } + else + { + getGraphicObjectProperty(axes_uid, __GO_DATA_BOUNDS__, jni_double_vector, (void**) &bounds); + } + + + getGraphicObjectProperty(uid, __GO_TYPE__, jni_int, (void**) &pType); + if (type == __GO_PLOT3D__) + { + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + /* for each quad in the mesh separate it in 2 triangles + * and use test_tri function to test intersection from + * mouse click ray + * A point (x, y, z) at (n,m) is given by + * (X[n], Y[m], Z[n][m]) where X, Y are vectors and Z a matrix. + */ + for (int i = 0; i < (numX - 1); ++i) + { + for (int j = 0; j < (numY - 1); ++j) + { + Vec3 P0 = Vec3(X[i], Y[j], Z[i + j * numX]); + Vec3 P1 = Vec3(X[i + 1], Y[j], Z[(i + 1) + j * numX]); + Vec3 P2 = Vec3(X[i + 1], Y[j + 1], Z[(i + 1) + (j + 1) * numX]); + Vec3 P3 = Vec3(X[i], Y[j + 1], Z[i + (j + 1) * numX]); + + QuadTestAndSaveZ(bounds, P0, P1, P2, P3, direction, point, mx, my, mz, mw, lastZ); + } + } + } + else if (type == __GO_FAC3D__) + { + int ng = 0, nvg = 0; + int *png = &ng, *pnvg = &nvg; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &png); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &pnvg); + + if (nvg != 4) + { + return 2.0; + } + + /* + * Fac3d data model is made by gons + * each gon should be a quad + * ordered in the vector + * X = [ p1, p2, p3, p4, p1, p2, p3, p4, ...] + * Y = [ p1, p2, p3, p4, p1, p2, p3, p4, ...] + * Z = [ p1, p2, p3, p4, p1, p2, p3, p4, ...] + * where a point is given by (x, y, z) + */ + for (int i = 0; i < ng * nvg; i += nvg) + { + Vec3 P0 = Vec3(X[i], Y[i], Z[i]); + Vec3 P1 = Vec3(X[i + 1], Y[i + 1], Z[i + 1]); + Vec3 P2 = Vec3(X[i + 2], Y[i + 2], Z[i + 2]); + Vec3 P3 = Vec3(X[i + 3], Y[i + 3], Z[i + 3]); + + QuadTestAndSaveZ(bounds, P0, P1, P2, P3, direction, point, mx, my, mz, mw, lastZ); + } + } + if (type == __GO_GRAYPLOT__) + { + + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + /* Gray plot is a plane with Z = 0 and bounds = {x[0], x[n-1], y[0], y[m-1]} + * where n = size of vector x and m = size of vector y + */ + + Vec3 P0 = Vec3(X[0], Y[0], 0); + Vec3 P1 = Vec3(X[numX - 1], Y[0], 0); + Vec3 P2 = Vec3(X[numX - 1], Y[numY - 1], 0); + Vec3 P3 = Vec3(X[0], Y[numY - 1], 0); + + QuadTestAndSaveZ(bounds, P0, P1, P2, P3, direction, point, mx, my, mz, mw, lastZ); + } + if (type == __GO_MATPLOT__) + { + double* scale = NULL; + double* translate = NULL; + double zShift = 0.; + double* pdZShift = &zShift; + double mbounds[4]; + int numX = 0; + int* piNumX = &numX; + int numY = 0; + int* piNumY = &numY; + + getGraphicObjectProperty(uid, __GO_MATPLOT_SCALE__, jni_double_vector, (void**) &scale); + getGraphicObjectProperty(uid, __GO_MATPLOT_TRANSLATE__, jni_double_vector, (void**) &translate); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Z_COORDINATES_SHIFT__, jni_double, (void**) &pdZShift); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &piNumX); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &piNumY); + + mbounds[0] = translate[0]; + mbounds[1] = translate[1]; + mbounds[2] = mbounds[0] + (numX - 1) * scale[0]; + mbounds[3] = mbounds[1] + (numY - 1) * scale[1]; + + Vec3 P0 = Vec3(mbounds[0], mbounds[1], zShift); + Vec3 P1 = Vec3(mbounds[2], mbounds[1], zShift); + Vec3 P2 = Vec3(mbounds[2], mbounds[3], zShift); + Vec3 P3 = Vec3(mbounds[0], mbounds[3], zShift); + + QuadTestAndSaveZ(bounds, P0, P1, P2, P3, direction, point, mx, my, mz, mw, lastZ); + } + return lastZ; + +} + +/* + * Test if the ray intersects the given triangle (V1, V2, V3) + * Fast, minimum storage ray/triangle intersection + * algorithm propose by Tomas Möller and Ben Trumbore. + * Calculate barycentric cordinates (u, v) and test if + * 0 <= u <= 1 && 0 <= v <= 1 && (u + v) <= 1, then the + * intersection point is inside the triangle. + */ +int test_tri(Vec3 V1, Vec3 V2, Vec3 V3, Vec3 Dir, Vec3 P0, Vec3 &ret) +{ + Vec3 Edge1, Edge2, tVec, pVec, qVec; + double det, inv_det, t, u, v; + + Edge1 = V2 - V1; + Edge2 = V3 - V1; + + pVec = Dir.cross(Edge2); + det = Edge1.dot(pVec); + + if (det > -EPS && det < EPS) + { + return 0; + } + + inv_det = 1 / det; + + tVec = P0 - V1; + u = tVec.dot(pVec) * inv_det; + + if (u < 0.0 || u > 1.0) + { + return 0; + } + + qVec = tVec.cross(Edge1); + v = Dir.dot(qVec) * inv_det; + + if (v < 0.0 || (u + v) > 1.0) + { + return 0; + } + + t = Edge2.dot(qVec) * inv_det; + ret = P0 + Dir * t; + + + return 1; +} + +bool isInViewBox(double * bounds, Vec3 point) +{ + return (bounds[0] <= point.x && bounds[1] >= point.x && + bounds[2] <= point.y && bounds[3] >= point.y && + bounds[4] <= point.z && bounds[5] >= point.z); +} + +void QuadTestAndSaveZ(double *bounds, Vec3 P0, Vec3 P1, Vec3 P2, Vec3 P3, Vec3 direction, Vec3 point, + double mx, double my, double mz, double mw, double &retZ) +{ + Vec3 ret; + + /*test first triangle*/ + if (test_tri(P0, P1, P2, direction, point, ret) == 1) + { + /*the intersection point can be outside the view box(invisible)*/ + if (isInViewBox(bounds, ret)) + { + /* ray intersects the triangle, then we project only the Z cordinate + * and store the nearest projected Z. + */ + double curZ = ret.x * mx + ret.y * my + ret.z * mz + mw; + retZ = retZ < curZ ? retZ : curZ; + } + } + /*test second triangle*/ + if (test_tri(P0, P2, P3, direction, point, ret) == 1) + { + if (isInViewBox(bounds, ret)) + { + double curZ = ret.x * mx + ret.y * my + ret.z * mz + mw; + retZ = retZ < curZ ? retZ : curZ; + } + } +} + + + + diff --git a/modules/graphic_objects/src/cpp/setGraphicObjectProperty.cpp b/modules/graphic_objects/src/cpp/setGraphicObjectProperty.cpp new file mode 100755 index 000000000..ea6fdbd1b --- /dev/null +++ b/modules/graphic_objects/src/cpp/setGraphicObjectProperty.cpp @@ -0,0 +1,163 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +extern "C" +{ +#include "setGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +#include "getScilabJavaVM.h" + +#include <stdio.h> +#include <string.h> +} + +#include "CallGraphicController.hxx" +#include "DataController.hxx" +#include "ScilabView.hxx" + +using namespace org_scilab_modules_graphic_objects; + +void setGraphicObjectRelationship(int _parentId, int _childId) +{ + // do not perform anything if the id is undefined + if (_parentId == 0 || _childId == 0) + { + return; + } + + CallGraphicController::setGraphicObjectRelationship(getScilabJavaVM(), _parentId, _childId); +} + +BOOL setGraphicObjectProperty(int _iID, int _iName, void const* _pvValue, _ReturnType_ _valueType, int numElements) +{ + return setGraphicObjectPropertyAndWarn(_iID, _iName, _pvValue, _valueType, numElements, 1); +} + +BOOL setGraphicObjectPropertyAndNoWarn(int _iID, int _iName, void const* _pvValue, _ReturnType_ _valueType, int numElements) +{ + return setGraphicObjectPropertyAndWarn(_iID, _iName, _pvValue, _valueType, numElements, 0); +} + +BOOL setGraphicObjectPropertyAndWarn(int _iID, int _iName, void const* _pvValue, _ReturnType_ _valueType, int numElements, int warnJava) +{ + bool result = false; + + double doubleValue = 0.; + int intValue = 0; + BOOL boolValue = FALSE; + + // do not perform anything if the id is undefined + if (_iID == 0) + { + return FALSE; + } + + switch (_iName) + { + case __GO_USER_DATA__ : + { + ScilabView::setUserdata(_iID, (int*) _pvValue, numElements); + return TRUE; + } + case __GO_DATA_MODEL__ : + case __GO_DATA_MODEL_COORDINATES__ : + case __GO_DATA_MODEL_X__ : + case __GO_DATA_MODEL_Y__ : + case __GO_DATA_MODEL_Z__ : + case __GO_DATA_MODEL_X_COORDINATES_SHIFT__ : + case __GO_DATA_MODEL_Y_COORDINATES_SHIFT__ : + case __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ : + case __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ : + case __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ : + case __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ : + case __GO_DATA_MODEL_NUM_ELEMENTS__ : + case __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ : + case __GO_DATA_MODEL_NUM_VERTICES_PER_GON__ : + case __GO_DATA_MODEL_NUM_GONS__ : + case __GO_DATA_MODEL_Z_COORDINATES_SET__ : + case __GO_DATA_MODEL_COLORS__ : + case __GO_DATA_MODEL_NUM_COLORS__ : + case __GO_DATA_MODEL_NUM_VERTICES__ : + case __GO_DATA_MODEL_NUM_INDICES__ : + case __GO_DATA_MODEL_INDICES__ : + case __GO_DATA_MODEL_VALUES__ : + case __GO_DATA_MODEL_FEC_ELEMENTS__ : + case __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__ : + case __GO_DATA_MODEL_NUM_X__ : + case __GO_DATA_MODEL_NUM_Y__ : + case __GO_DATA_MODEL_NUM_Z__ : + case __GO_DATA_MODEL_GRID_SIZE__ : + case __GO_DATA_MODEL_X_DIMENSIONS__ : + case __GO_DATA_MODEL_Y_DIMENSIONS__ : + case __GO_DATA_MODEL_MATPLOT_BOUNDS__ : + case __GO_DATA_MODEL_MATPLOT_TYPE__ : + case __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ : + case __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ : + case __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ : + case __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ : + case __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ : + case __GO_DATA_MODEL_DISPLAY_FUNCTION__ : + { + BOOL bFalse = FALSE; + BOOL bTrue = TRUE; + BOOL res; + setGraphicObjectProperty(_iID, __GO_VALID__, &bFalse, jni_bool, 1); + res = DataController::setGraphicObjectProperty(_iID, _iName, _pvValue, numElements); + setGraphicObjectProperty(_iID, __GO_VALID__, &bTrue, jni_bool, 1); + if ((res || _iName == __GO_DATA_MODEL__) && warnJava) + { + ///printf("debug property value=%d\n",_iName); + CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, __GO_DATA_MODEL__, _iID); + } + return res; + } + default : + { + switch (_valueType) + { + case jni_string : + result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (char *)_pvValue); + break; + + case jni_string_vector : + result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (char**)_pvValue, numElements); + break; + case jni_double : + doubleValue = *(double*)_pvValue; + result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (double)doubleValue); + break; + case jni_double_vector : + result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (double*)_pvValue, numElements); + break; + case jni_int : + intValue = *(int*)_pvValue; + result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (int)intValue); + break; + case jni_int_vector : + result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (int*)_pvValue, numElements); + break; + case jni_bool : + boolValue = *(BOOL*)_pvValue; + result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, BOOLtobool(boolValue)); + break; + case jni_bool_vector : + result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (bool*)_pvValue, numElements); + break; + default : + /* Do Nothing */ + break; + } + } + } + return booltoBOOL(result); +} + diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/CallGraphicController.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/CallGraphicController.java new file mode 100755 index 000000000..4101995fe --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/CallGraphicController.java @@ -0,0 +1,195 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicView.ScilabView; +import org.scilab.modules.graphic_objects.utils.MenuBarBuilder; + +/** + * This is a static class to access all controller capabilities + * from C/C++ code through JNI + * See SCI/modules/graphic_objects/src/jni/graphic_objects.giws.xml for other details. + **/ +public final class CallGraphicController { + + public static void setGraphicObjectRelationship(int parentId, int childId) { + GraphicController.getController().setGraphicObjectRelationship(parentId, childId); + } + + public static void removeRelationShipAndDelete(int parentId) { + GraphicController.getController().removeRelationShipAndDelete(parentId); + } + + public static int cloneGraphicObject(int id) { + return GraphicController.getController().cloneObject(id); + } + + public static int askGraphicObject(int typeName) { + return GraphicController.getController().askObject(GraphicObject.getTypeFromName(typeName)); + } + + public static void deleteGraphicObject(int id) { + GraphicController.getController().deleteObject(id); + } + + private static boolean setGraphicObjectProperty(int id, int propertyName, Object value) { + return GraphicController.getController().setProperty(id, propertyName, value); + } + + private static Object getGraphicObjectProperty(int id, int propertyName) { + return GraphicController.getController().getProperty(id, propertyName); + } + + public static boolean setGraphicObjectProperty(int id, int propertyName, String value) { + return setGraphicObjectProperty(id, propertyName, (Object) value); + } + + public static boolean setGraphicObjectProperty(int id, int propertyName, String[] value) { + return setGraphicObjectProperty(id, propertyName, (Object) value); + } + + public static boolean setGraphicObjectProperty(int id, int propertyName, double value) { + return setGraphicObjectProperty(id, propertyName, (Object) new Double(value)); + } + + public static boolean setGraphicObjectProperty(int id, int propertyName, double[] value) { + Double[] array = new Double[value.length]; + + for (int i = 0; i < value.length; i++) { + array[i] = value[i]; + } + + return setGraphicObjectProperty(id, propertyName, (Object) array); + } + + + public static boolean setGraphicObjectProperty(int id, int propertyName, int value) { + return setGraphicObjectProperty(id, propertyName, (Object) new Integer(value)); + } + + public static boolean setGraphicObjectProperty(int id, int propertyName, int[] value) { + Integer[] array = new Integer[value.length]; + + for (int i = 0; i < value.length; i++) { + array[i] = value[i]; + } + + return setGraphicObjectProperty(id, propertyName, (Object) array); + } + + public static boolean setGraphicObjectProperty(int id, int propertyName, boolean value) { + return setGraphicObjectProperty(id, propertyName, (Object) new Boolean(value)); + } + + public static boolean setGraphicObjectProperty(int id, int propertyName, boolean[] value) { + Boolean[] array = new Boolean[value.length]; + + for (int i = 0; i < value.length; i++) { + array[i] = value[i]; + } + + return setGraphicObjectProperty(id, propertyName, (Object) array); + } + + public static String getGraphicObjectPropertyAsString(int id, int propertyName) { + return (String) getGraphicObjectProperty(id, propertyName); + } + + public static String[] getGraphicObjectPropertyAsStringVector(int id, int propertyName) { + return (String[]) getGraphicObjectProperty(id, propertyName); + } + + public static double[] getGraphicObjectPropertyAsDoubleVector(int id, int propertyName) { + Object ret = getGraphicObjectProperty(id, propertyName); + double[] result = null; + + if (ret == null) { + return null; + } + + if (ret instanceof Double[]) { + Double[] tmp = (Double[]) ret; + result = new double[tmp.length]; + + for (int i = 0; i < result.length; i++) { + result[i] = tmp[i]; + } + } else if (ret instanceof Double) { + result = new double[] { (Double) ret}; + } + + return result; + } + + public static int[] getGraphicObjectPropertyAsIntegerVector(int id, int propertyName) { + Object ret = getGraphicObjectProperty(id, propertyName); + int[] result = null; + + if (ret == null) { + return null; + } + + if (ret instanceof Integer[]) { + Integer[] tmp = (Integer[]) ret; + result = new int[tmp.length]; + + for (int i = 0; i < result.length; i++) { + result[i] = tmp[i] == null ? 0 : tmp[i]; + } + } else if (ret instanceof Integer) { + result = new int[] { (Integer) ret}; + } + + return result; + } + + public static int[] getGraphicObjectPropertyAsBooleanVector(int id, int propertyName) { + Object ret = getGraphicObjectProperty(id, propertyName); + int[] result = null; + + if (ret == null) { + return null; + } + + if (ret instanceof Boolean[]) { + Boolean[] tmp = (Boolean[]) getGraphicObjectProperty(id, propertyName); + result = new int[tmp.length]; + for (int i = 0; i < result.length; i++) { + result[i] = tmp[i] ? 1 : 0; + } + } else if (ret instanceof Boolean) { + result = new int[] { ((Boolean) ret) ? 1 : 0}; + } + + return result; + } + + public static void registerScilabView() { + GraphicController.getController().register(ScilabView.getScilabView()); + } + + public static void unregisterScilabView() { + GraphicController.getController().unregister(ScilabView.getScilabView()); + } + + public static int getConsoleIdentifier() { + return Console.getConsole().getIdentifier(); + } + + public static void buildFigureMenuBar(int figureId) { + MenuBarBuilder.buildFigureMenuBar(figureId); + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/CallXmlLoader.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/CallXmlLoader.java new file mode 100755 index 000000000..d53e53ad0 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/CallXmlLoader.java @@ -0,0 +1,23 @@ +package org.scilab.modules.graphic_objects; + +import org.scilab.modules.graphic_objects.xmlloader.XMLDomLoader; +import org.scilab.modules.graphic_objects.xmlloader.XmlLoader; +import org.scilab.modules.graphic_objects.xmlloader.XmlSaver; +import org.xml.sax.SAXException; + +public class CallXmlLoader { + + public static int Load(String filename) throws SAXException { + XmlLoader loader = new XmlLoader(filename); + return loader.parse(); + } + + public static int DomLoad(String filename) throws SAXException { + XMLDomLoader loader = new XMLDomLoader(filename); + return loader.parse(); + } + + public static String Save(int figure, String filename, boolean reverseChildren) { + return XmlSaver.save(figure, filename, reverseChildren); + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/DataLoader.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/DataLoader.java new file mode 100755 index 000000000..85e5c1ad8 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/DataLoader.java @@ -0,0 +1,131 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.7 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.scilab.modules.graphic_objects; + +public class DataLoader { + public static int getTextureWidth(int id) { + return DataLoaderJNI.getTextureWidth(id); + } + + public static int getTextureHeight(int id) { + return DataLoaderJNI.getTextureHeight(id); + } + + public static int fillTextureData(int id, java.nio.ByteBuffer buffer, int bufferLength) { + assert buffer.isDirect() : "Buffer must be allocated direct."; + { + return DataLoaderJNI.fillTextureData(id, buffer, bufferLength); + } + } + + public static int fillSubTextureData(int id, java.nio.ByteBuffer buffer, int bufferLength, int x, int y, int width, int height) { + assert buffer.isDirect() : "Buffer must be allocated direct."; + { + return DataLoaderJNI.fillSubTextureData(id, buffer, bufferLength, x, y, width, height); + } + } + + public static int getDataSize(int id) { + return DataLoaderJNI.getDataSize(id); + } + + public static void fillVertices(int id, java.nio.FloatBuffer buffer, int bufferLength, int elementsSize, int coordinateMask, double[] scale, double[] translation, int logMask) { + assert buffer.isDirect() : "Buffer must be allocated direct."; + { + DataLoaderJNI.fillVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask); + } + } + + public static void fillNormals(int id, java.nio.FloatBuffer position, java.nio.FloatBuffer buffer, int bufferLength, int elementsSize) { + assert position.isDirect() : "Buffer must be allocated direct."; + assert buffer.isDirect() : "Buffer must be allocated direct."; + { + DataLoaderJNI.fillNormals(id, position, buffer, bufferLength, elementsSize); + } + } + + public static void fillColors(int id, java.nio.FloatBuffer buffer, int bufferLength, int elementsSize) { + assert buffer.isDirect() : "Buffer must be allocated direct."; + { + DataLoaderJNI.fillColors(id, buffer, bufferLength, elementsSize); + } + } + + public static void fillTextureCoordinates(int id, java.nio.FloatBuffer buffer, int bufferLength) { + assert buffer.isDirect() : "Buffer must be allocated direct."; + { + DataLoaderJNI.fillTextureCoordinates(id, buffer, bufferLength); + } + } + + public static int getIndicesSize(int id) { + return DataLoaderJNI.getIndicesSize(id); + } + + public static int fillIndices(int id, java.nio.IntBuffer buffer, int bufferLength, int logMask) { + assert buffer.isDirect() : "Buffer must be allocated direct."; + { + return DataLoaderJNI.fillIndices(id, buffer, bufferLength, logMask); + } + } + + public static int getWireIndicesSize(int id) { + return DataLoaderJNI.getWireIndicesSize(id); + } + + public static int fillWireIndices(int id, java.nio.IntBuffer buffer, int bufferLength, int logMask) { + assert buffer.isDirect() : "Buffer must be allocated direct."; + { + return DataLoaderJNI.fillWireIndices(id, buffer, bufferLength, logMask); + } + } + + public static int getMarkIndicesSize(int id) { + return DataLoaderJNI.getMarkIndicesSize(id); + } + + public static int fillMarkIndices(int id, java.nio.IntBuffer buffer, int bufferLength) { + assert buffer.isDirect() : "Buffer must be allocated direct."; + { + return DataLoaderJNI.fillMarkIndices(id, buffer, bufferLength); + } + } + + public static java.nio.ByteBuffer getTextureData(int id) { + return DataLoaderJNI.getTextureData(id); + } + + public static int getTextureImageType(int id) { + return DataLoaderJNI.getTextureImageType(id); + } + + public static int getTextureDataType(int id) { + return DataLoaderJNI.getTextureDataType(id); + } + + public static int getTextureGLType(int id) { + return DataLoaderJNI.getTextureGLType(id); + } + + public static void disposeTextureData(int id, java.nio.ByteBuffer buffer) { + assert buffer.isDirect() : "Buffer must be allocated direct."; + { + DataLoaderJNI.disposeTextureData(id, buffer); + } + } + + public static int isTextureRowOrder(int id) { + return DataLoaderJNI.isTextureRowOrder(id); + } + + public static void setABGRExt(int isAvailable) { + DataLoaderJNI.setABGRExt(isAvailable); + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/DataLoaderJNI.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/DataLoaderJNI.java new file mode 100755 index 000000000..2c12aca42 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/DataLoaderJNI.java @@ -0,0 +1,44 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.7 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.scilab.modules.graphic_objects; + +public class DataLoaderJNI { + + static { + try { + System.loadLibrary("scigraphic_objects"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native library failed to load. \n" + e); + System.exit(1); + } + } + + public final static native int getTextureWidth(int jarg1); + public final static native int getTextureHeight(int jarg1); + public final static native int fillTextureData(int jarg1, java.nio.ByteBuffer jarg2, int jarg3); + public final static native int fillSubTextureData(int jarg1, java.nio.ByteBuffer jarg2, int jarg3, int jarg4, int jarg5, int jarg6, int jarg7); + public final static native int getDataSize(int jarg1); + public final static native void fillVertices(int jarg1, java.nio.FloatBuffer jarg2, int jarg3, int jarg4, int jarg5, double[] jarg6, double[] jarg7, int jarg8); + public final static native void fillNormals(int jarg1, java.nio.FloatBuffer jarg2, java.nio.FloatBuffer jarg3, int jarg4, int jarg5); + public final static native void fillColors(int jarg1, java.nio.FloatBuffer jarg2, int jarg3, int jarg4); + public final static native void fillTextureCoordinates(int jarg1, java.nio.FloatBuffer jarg2, int jarg3); + public final static native int getIndicesSize(int jarg1); + public final static native int fillIndices(int jarg1, java.nio.IntBuffer jarg2, int jarg3, int jarg4); + public final static native int getWireIndicesSize(int jarg1); + public final static native int fillWireIndices(int jarg1, java.nio.IntBuffer jarg2, int jarg3, int jarg4); + public final static native int getMarkIndicesSize(int jarg1); + public final static native int fillMarkIndices(int jarg1, java.nio.IntBuffer jarg2, int jarg3); + public final static native java.nio.ByteBuffer getTextureData(int jarg1); + public final static native int getTextureImageType(int jarg1); + public final static native int getTextureDataType(int jarg1); + public final static native int getTextureGLType(int jarg1); + public final static native void disposeTextureData(int jarg1, java.nio.ByteBuffer jarg2); + public final static native int isTextureRowOrder(int jarg1); + public final static native void setABGRExt(int jarg1); +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/JavaObjectLoader.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/JavaObjectLoader.java new file mode 100755 index 000000000..ce89b65b7 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/JavaObjectLoader.java @@ -0,0 +1,191 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects; + +import java.nio.FloatBuffer; +import java.nio.IntBuffer; + +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.arc.ArcDecomposer; +import org.scilab.modules.graphic_objects.vectfield.ChampDecomposer; +import org.scilab.modules.graphic_objects.rectangle.RectangleDecomposer; +import org.scilab.modules.graphic_objects.vectfield.SegsDecomposer; + +/** + * Class JavaObjectLoader + * A set of methods used to load the data of purely Java-based objects. + * @author Manuel JULIACHS + */ +public class JavaObjectLoader { + + /** + * Returns the number of data elements for the given object. + * @param the id of the given object. + * @return the number of data elements. + */ + public static int getDataSize(Integer id) { + int type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + switch (type) { + case GraphicObjectProperties.__GO_ARC__ : + return ArcDecomposer.getDataSize(); + case GraphicObjectProperties.__GO_CHAMP__ : + return ChampDecomposer.getDataSize(id); + case GraphicObjectProperties.__GO_RECTANGLE__ : + return RectangleDecomposer.getDataSize(); + case GraphicObjectProperties.__GO_SEGS__ : + return SegsDecomposer.getDataSize(id); + default : + return 0; + } + } + + /** + * Fills the given buffer with vertex data from the given object. + * @param the id of the given object. + * @param the buffer to fill. + * @param the number of coordinates taken by one element in the buffer. + * @param the bit mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param the conversion scale factor to apply to data. + * @param the conversion translation value to apply to data. + * @param the bit mask specifying whether logarithmic coordinates are used. + */ + public static void fillVertices(Integer id, FloatBuffer buffer, int elementsSize, + int coordinateMask, double[] scale, double[] translation, int logMask) { + int type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + switch (type) { + case GraphicObjectProperties.__GO_ARC__ : + ArcDecomposer.fillVertices(buffer, id, elementsSize, coordinateMask, scale, translation, logMask); + break; + case GraphicObjectProperties.__GO_CHAMP__ : + ChampDecomposer.fillVertices(buffer, id, elementsSize, coordinateMask, scale, translation, logMask); + break; + case GraphicObjectProperties.__GO_RECTANGLE__ : + RectangleDecomposer.fillVertices(buffer, id, elementsSize, coordinateMask, scale, translation, logMask); + break; + case GraphicObjectProperties.__GO_SEGS__ : + SegsDecomposer.fillVertices(buffer, id, elementsSize, coordinateMask, scale, translation, logMask); + break; + } + } + + /** + * Fills the given buffer with color data from the given object. + * Does nothing at the moment (no color-outputting Java objects implemented so far). + * @param the id of the given object. + * @param the buffer to fill. + * @param the number of components taken by one element in the buffer (3 or 4). + */ + public static void fillColors(Integer id, FloatBuffer buffer, int elementsSize) { + int type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + if (type == GraphicObjectProperties.__GO_CHAMP__) { + ChampDecomposer.fillColors(buffer, id, elementsSize); + } else if (type == GraphicObjectProperties.__GO_SEGS__) { + SegsDecomposer.fillColors(buffer, id, elementsSize); + } + } + + /** + * Returns the number of indices for the given object. + * @param the id of the given object. + * @return the object's number of indices. + */ + public static int getIndicesSize(Integer id) { + int type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + switch (type) { + case GraphicObjectProperties.__GO_ARC__ : + return ArcDecomposer.getIndicesSize(); + case GraphicObjectProperties.__GO_CHAMP__ : + return ChampDecomposer.getIndicesSize(id); + case GraphicObjectProperties.__GO_RECTANGLE__ : + return RectangleDecomposer.getIndicesSize(); + case GraphicObjectProperties.__GO_SEGS__ : + return SegsDecomposer.getIndicesSize(id); + default : + return 0; + } + } + + /** + * Fills the given buffer with indices data of the given object. + * @param the id of the given object. + * @param the buffer to fill. + * @param the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + public static int fillIndices(Integer id, IntBuffer buffer, int logMask) { + int type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + switch (type) { + case GraphicObjectProperties.__GO_ARC__ : + return ArcDecomposer.fillIndices(buffer, id, logMask); + case GraphicObjectProperties.__GO_CHAMP__ : + return ChampDecomposer.fillIndices(buffer, id, logMask); + case GraphicObjectProperties.__GO_RECTANGLE__ : + return RectangleDecomposer.fillIndices(buffer, id, logMask); + case GraphicObjectProperties.__GO_SEGS__ : + return SegsDecomposer.fillIndices(buffer, id, logMask); + default : + return 0; + } + } + + /** + * Returns the number of wireframe indices of the given object. + * @param the id of the given object. + * @return the object's number of indices. + */ + public static int getWireIndicesSize(Integer id) { + int type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + switch (type) { + case GraphicObjectProperties.__GO_ARC__ : + return ArcDecomposer.getWireIndicesSize(); + case GraphicObjectProperties.__GO_CHAMP__ : + return ChampDecomposer.getWireIndicesSize(id); + case GraphicObjectProperties.__GO_RECTANGLE__ : + return RectangleDecomposer.getWireIndicesSize(); + case GraphicObjectProperties.__GO_SEGS__ : + return SegsDecomposer.getWireIndicesSize(id); + default : + return 0; + } + } + + /** + * Fills the given buffer with wireframe index data of the given object. + * @param the id of the given object. + * @param the buffer to fill. + * @param the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + public static int fillWireIndices(Integer id, IntBuffer buffer, int logMask) { + int type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + switch (type) { + case GraphicObjectProperties.__GO_ARC__ : + return ArcDecomposer.fillWireIndices(buffer, id, logMask); + case GraphicObjectProperties.__GO_CHAMP__ : + return ChampDecomposer.fillWireIndices(buffer, id, logMask); + case GraphicObjectProperties.__GO_RECTANGLE__ : + return RectangleDecomposer.fillWireIndices(buffer, id, logMask); + case GraphicObjectProperties.__GO_SEGS__ : + return SegsDecomposer.fillWireIndices(buffer, id, logMask); + default : + return 0; + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/MainDataLoader.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/MainDataLoader.java new file mode 100755 index 000000000..da7ac9b4e --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/MainDataLoader.java @@ -0,0 +1,344 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2012 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects; + +import org.scilab.modules.graphic_objects.axes.Axes; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; + +import java.nio.ByteBuffer; +import java.nio.FloatBuffer; +import java.nio.IntBuffer; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** + * Class MainDataLoader + * A utility class used to switch to the appropriate data loading class + * depending on the type of the object whose data is loaded. A class is used + * for purely Java-based objects and another one is used to load the data + * of data model (i.e. C++-based) objects. + * @author Manuel JULIACHS + */ +public class MainDataLoader { + + /** + * The names of Java-based objects. + */ + private static final Set<Integer> JAVA_OBJECTS = new HashSet<Integer>(Arrays.asList( + GraphicObjectProperties.__GO_ARC__, + GraphicObjectProperties.__GO_CHAMP__, + GraphicObjectProperties.__GO_RECTANGLE__, + GraphicObjectProperties.__GO_SEGS__ + )); + + /** + * Returns the data width for the given object. + * @param id of the given object. + * @return the data width. + */ + public static int getTextureWidth(Integer id) { + return DataLoader.getTextureWidth(id); + } + + /** + * Returns the data height for the given object. + * @param id of the given object. + * @return the data height. + */ + public static int getTextureHeight(Integer id) { + return DataLoader.getTextureHeight(id); + } + + /** + * Returns the data for the given object. + * @param id of the given object. + * @return the data. + */ + public static ByteBuffer getTextureData(Integer id) { + return DataLoader.getTextureData(id); + } + + /** + * Returns the data for the given object. + * @param id of the given object. + * @return the data. + */ + public static boolean isTextureRowOrder(Integer id) { + return DataLoader.isTextureRowOrder(id) != 0; + } + + /** + * Returns the data for the given object. + * @param id of the given object. + * @return the data. + */ + public static void disposeTextureData(Integer id, ByteBuffer buffer) { + DataLoader.disposeTextureData(id, buffer); + } + + /** + * Returns the image type of the texture data. + * 0 for RGB, 1 for RGBA, 2 for GRAY. + * @param id of the given object. + * @return the image type. + */ + public static int getTextureImageType(Integer id) { + return DataLoader.getTextureImageType(id); + } + + /** + * Returns the image type of the texture data. + * 0 for RGB, 1 for RGBA, 2 for GRAY. + * @param id of the given object. + * @return the image type. + */ + public static int getTextureDataType(Integer id) { + return DataLoader.getTextureDataType(id); + } + + /** + * Returns the image type of the texture data. + * 0 for RGB, 1 for RGBA, 2 for GRAY. + * @param id of the given object. + * @return the image type. + */ + public static int getTextureGLType(Integer id) { + return DataLoader.getTextureGLType(id); + } + + public static void fillTextureCoordinates(Integer id, FloatBuffer buffer, int bufferLength) { + DataLoader.fillTextureCoordinates(id, buffer, bufferLength); + } + + public static void fillTextureData(Integer id, ByteBuffer buffer, int bufferLength) { + DataLoader.fillTextureData(id, buffer, bufferLength); + } + + public static void fillTextureData(Integer identifier, ByteBuffer buffer, int bufferLength, int x, int y, int width, int height) { + DataLoader.fillSubTextureData(identifier, buffer, bufferLength, x, y, width, height); + } + + /** + * Returns the number of data elements for the given object. + * @param id id of the given object. + * @return the number of data elements. + * @throws ObjectRemovedException if the object no longer exist. + */ + public static int getDataSize(Integer id) throws ObjectRemovedException { + Integer type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + if (type == null) { + throw (new ObjectRemovedException(id)); + } + + if (JAVA_OBJECTS.contains(type)) { + return JavaObjectLoader.getDataSize(id); + } else { + return DataLoader.getDataSize(id); + } + } + + /** + * Fills the given buffer with vertex data from the given object. + * @param id id of the given object. + * @param buffer buffer to fill. + * @param elementsSize number of coordinates taken by one element in the buffer. + * @param coordinateMask bit mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param scale conversion scale factor to apply to data. + * @param translation conversion translation value to apply to data. + * @param logMask bit mask specifying whether logarithmic coordinates are used. + * @throws ObjectRemovedException if the object no longer exist. + */ + public static void fillVertices(Integer id, FloatBuffer buffer, int elementsSize, + int coordinateMask, double[] scale, double[] translation, int logMask) throws ObjectRemovedException { + Integer type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + if (type == null) { + throw (new ObjectRemovedException(id)); + } + + if (JAVA_OBJECTS.contains(type)) { + JavaObjectLoader.fillVertices(id, buffer, elementsSize, coordinateMask, scale, translation, logMask); + } else { + DataLoader.fillVertices(id, buffer, buffer.capacity(), elementsSize, coordinateMask, scale, translation, logMask); + } + } + + /** + * Fills the given buffer with normal data from the given object. + * @param id id of the given object. + * @param position buffer with vertex position data. + * @param buffer buffer to fill. + * @param elementsSize number of coordinates taken by one element in the buffer. + * @throws ObjectRemovedException if the object no longer exist. + */ + public static void fillNormals(Integer id, FloatBuffer position, FloatBuffer buffer, int elementsSize) throws ObjectRemovedException { + Integer type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + if (type == null) { + throw (new ObjectRemovedException(id)); + } + DataLoader.fillNormals(id, position, buffer, buffer.capacity(), elementsSize); + } + + /** + * Fills the given buffer with color data from the given object. + * @param id id of the given object. + * @param buffer buffer to fill. + * @param elementsSize number of components taken by one element in the buffer (3 or 4). + * @throws ObjectRemovedException if the object no longer exist. + */ + public static void fillColors(Integer id, FloatBuffer buffer, int elementsSize) throws ObjectRemovedException { + Integer type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + if (type == null) { + throw (new ObjectRemovedException(id)); + } + + if (JAVA_OBJECTS.contains(type)) { + JavaObjectLoader.fillColors(id, buffer, elementsSize); + } else { + DataLoader.fillColors(id, buffer, buffer.capacity(), elementsSize); + } + } + + /** + * Returns the number of indices for the given object. + * @param id id of the given object. + * @return the object's number of indices. + * @throws ObjectRemovedException if the object no longer exist. + */ + public static int getIndicesSize(Integer id) throws ObjectRemovedException { + Integer type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + if (type == null) { + throw (new ObjectRemovedException(id)); + } + + if (JAVA_OBJECTS.contains(type)) { + return JavaObjectLoader.getIndicesSize(id); + } else { + return DataLoader.getIndicesSize(id); + } + } + + /** + * Fills the given buffer with indices data of the given object. + * @param id id of the given object. + * @param buffer buffer to fill. + * @param logMask bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + * @throws ObjectRemovedException if the object no longer exist. + */ + public static int fillIndices(Integer id, IntBuffer buffer, int logMask) throws ObjectRemovedException { + Integer type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + if (type == null) { + throw (new ObjectRemovedException(id)); + } + + if (JAVA_OBJECTS.contains(type)) { + return JavaObjectLoader.fillIndices(id, buffer, logMask); + } else { + return DataLoader.fillIndices(id, buffer, buffer.capacity(), logMask); + } + } + + /** + * Returns the number of wire-frame indices of the given object. + * @param id id of the given object. + * @return the object's number of indices. + * @throws ObjectRemovedException if the object no longer exist. + */ + public static int getWireIndicesSize(Integer id) throws ObjectRemovedException { + Integer type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + + if (type == null) { + throw (new ObjectRemovedException(id)); + } + + if (JAVA_OBJECTS.contains(type)) { + return JavaObjectLoader.getWireIndicesSize(id); + } else { + return DataLoader.getWireIndicesSize(id); + } + } + + /** + * Fills the given buffer with wire-frame index data of the given object. + * @param id id of the given object. + * @param buffer buffer to fill. + * @param logMask bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + * @throws ObjectRemovedException if the object no longer exist. + */ + public static int fillWireIndices(Integer id, IntBuffer buffer, int logMask) throws ObjectRemovedException { + Integer type = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_TYPE__); + + if (type == null) { + throw (new ObjectRemovedException(id)); + } + + if (JAVA_OBJECTS.contains(type)) { + return JavaObjectLoader.fillWireIndices(id, buffer, logMask); + } else { + return DataLoader.fillWireIndices(id, buffer, buffer.capacity(), logMask); + } + } + + /** + * Returns the number of mark indices of the given object. + * To implement. + * @param id id of the given object. + * @return the number of mark indices. + */ + public static int getMarkIndicesSize(String id) { + return 0; + } + + /** + * Fills the given buffer with mark index data of the given object. + * To implement. + * @param id id of the given object. + * @param buffer buffer to fill. + * @return the number of indices actually written. + */ + public static int fillMarkIndices(String id, IntBuffer buffer) { + return 0; + } + + public static int getLogMask(Integer id) { + try { + GraphicObject object = GraphicController.getController().getObjectFromId(id); + Integer parentAxesId = object.getParentAxes(); + Axes axes = (Axes) GraphicController.getController().getObjectFromId(parentAxesId); + int mask = 0; + if (axes.getXAxisLogFlag()) { + mask += 1; + } + if (axes.getYAxisLogFlag()) { + mask += 2; + } + if (axes.getZAxisLogFlag()) { + mask += 4; + } + return mask; + } catch (Exception ignored) { + return 0; + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ObjectData.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ObjectData.java new file mode 100755 index 000000000..fa03ad5d5 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ObjectData.java @@ -0,0 +1,48 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.7 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.scilab.modules.graphic_objects; + +public class ObjectData { + public static Object getChampX(int uid) { + return ObjectDataJNI.getChampX(uid); + } + + public static Object getChampY(int uid) { + return ObjectDataJNI.getChampY(uid); + } + + public static Object getArrows(int uid) { + return ObjectDataJNI.getArrows(uid); + } + + public static Object getSegsData(int uid) { + return ObjectDataJNI.getSegsData(uid); + } + + public static Object getFecElements(int uid) { + return ObjectDataJNI.getFecElements(uid); + } + + public static Object getFecData(int uid) { + return ObjectDataJNI.getFecData(uid); + } + + public static Object getArcUpperLeftPoint(int uid) { + return ObjectDataJNI.getArcUpperLeftPoint(uid); + } + + public static Object getArcData(int uid) { + return ObjectDataJNI.getArcData(uid); + } + + public static int getFecNumVerticesByElement(int uid) { + return ObjectDataJNI.getFecNumVerticesByElement(uid); + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ObjectDataJNI.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ObjectDataJNI.java new file mode 100755 index 000000000..e4c7e5192 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ObjectDataJNI.java @@ -0,0 +1,31 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.7 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.scilab.modules.graphic_objects; + +public class ObjectDataJNI { + + static { + try { + System.loadLibrary("scigraphic_objects"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native library failed to load. \n" + e); + System.exit(1); + } + } + + public final static native Object getChampX(int jarg1); + public final static native Object getChampY(int jarg1); + public final static native Object getArrows(int jarg1); + public final static native Object getSegsData(int jarg1); + public final static native Object getFecElements(int jarg1); + public final static native Object getFecData(int jarg1); + public final static native Object getArcUpperLeftPoint(int jarg1); + public final static native Object getArcData(int jarg1); + public final static native int getFecNumVerticesByElement(int jarg1); +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ObjectRemovedException.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ObjectRemovedException.java new file mode 100755 index 000000000..53bfd7603 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ObjectRemovedException.java @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - ScilabEnterprises - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +package org.scilab.modules.graphic_objects; + +public class ObjectRemovedException extends Exception { + private static final long serialVersionUID = -5447310699942928356L; + + private Integer objectId; + + public ObjectRemovedException(Integer objectId) { + this.objectId = objectId; + } + + public String getMessage() { + return "ObjectRemoved Exception: Object " + objectId.toString() + "has been deleted from model"; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/PolylineData.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/PolylineData.java new file mode 100755 index 000000000..00fb05c6e --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/PolylineData.java @@ -0,0 +1,76 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.10 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.scilab.modules.graphic_objects; + +public class PolylineData { + public static Object getDataX(int uid) { + return PolylineDataJNI.getDataX(uid); + } + + public static Object getDataY(int uid) { + return PolylineDataJNI.getDataY(uid); + } + + public static Object getDataZ(int uid) { + return PolylineDataJNI.getDataZ(uid); + } + + public static Object getShiftX(int uid) { + return PolylineDataJNI.getShiftX(uid); + } + + public static Object getShiftY(int uid) { + return PolylineDataJNI.getShiftY(uid); + } + + public static Object getShiftZ(int uid) { + return PolylineDataJNI.getShiftZ(uid); + } + + public static int isZCoordSet(int uid) { + return PolylineDataJNI.isZCoordSet(uid); + } + + public static int isXShiftSet(int uid) { + return PolylineDataJNI.isXShiftSet(uid); + } + + public static int isYShiftSet(int uid) { + return PolylineDataJNI.isYShiftSet(uid); + } + + public static int isZShiftSet(int uid) { + return PolylineDataJNI.isZShiftSet(uid); + } + + public static int createPolylineData(int uidFrom, int uidTo) { + return PolylineDataJNI.createPolylineData(uidFrom, uidTo); + } + + public static int translatePolyline(int uid, double x, double y, double z, int flagX, int flagY, int flagZ) { + return PolylineDataJNI.translatePolyline(uid, x, y, z, flagX, flagY, flagZ); + } + + public static int translatePoint(int uid, int index, double x, double y, double z, int flagX, int flagY, int flagZ) { + return PolylineDataJNI.translatePoint(uid, index, x, y, z, flagX, flagY, flagZ); + } + + public static int setPointValue(int uid, int index, double x, double y, double z) { + return PolylineDataJNI.setPointValue(uid, index, x, y, z); + } + + public static int insertPoint(int uid, int index, double x, double y, double z) { + return PolylineDataJNI.insertPoint(uid, index, x, y, z); + } + + public static int removePoint(int uid, int index) { + return PolylineDataJNI.removePoint(uid, index); + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/PolylineDataJNI.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/PolylineDataJNI.java new file mode 100755 index 000000000..5ce15c314 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/PolylineDataJNI.java @@ -0,0 +1,38 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.10 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.scilab.modules.graphic_objects; + +public class PolylineDataJNI { + + static { + try { + System.loadLibrary("scigraphic_objects"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native library failed to load. \n" + e); + System.exit(1); + } + } + + public final static native Object getDataX(int jarg1); + public final static native Object getDataY(int jarg1); + public final static native Object getDataZ(int jarg1); + public final static native Object getShiftX(int jarg1); + public final static native Object getShiftY(int jarg1); + public final static native Object getShiftZ(int jarg1); + public final static native int isZCoordSet(int jarg1); + public final static native int isXShiftSet(int jarg1); + public final static native int isYShiftSet(int jarg1); + public final static native int isZShiftSet(int jarg1); + public final static native int createPolylineData(int jarg1, int jarg2); + public final static native int translatePolyline(int jarg1, double jarg2, double jarg3, double jarg4, int jarg5, int jarg6, int jarg7); + public final static native int translatePoint(int jarg1, int jarg2, double jarg3, double jarg4, double jarg5, int jarg6, int jarg7, int jarg8); + public final static native int setPointValue(int jarg1, int jarg2, double jarg3, double jarg4, double jarg5); + public final static native int insertPoint(int jarg1, int jarg2, double jarg3, double jarg4, double jarg5); + public final static native int removePoint(int jarg1, int jarg2); +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ScilabNativeView.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ScilabNativeView.java new file mode 100755 index 000000000..f012956a5 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ScilabNativeView.java @@ -0,0 +1,44 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.11 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.scilab.modules.graphic_objects; + +public class ScilabNativeView { + public static void ScilabNativeView__createObject(int id) { + ScilabNativeViewJNI.ScilabNativeView__createObject(id); + } + + public static void ScilabNativeView__deleteObject(int id) { + ScilabNativeViewJNI.ScilabNativeView__deleteObject(id); + } + + public static void ScilabNativeView__updateObject(int id, int iProperty) { + ScilabNativeViewJNI.ScilabNativeView__updateObject(id, iProperty); + } + + public static void ScilabNativeView__setCurrentFigure(int id) { + ScilabNativeViewJNI.ScilabNativeView__setCurrentFigure(id); + } + + public static void ScilabNativeView__setCurrentSubWin(int id) { + ScilabNativeViewJNI.ScilabNativeView__setCurrentSubWin(id); + } + + public static void ScilabNativeView__setCurrentObject(int id) { + ScilabNativeViewJNI.ScilabNativeView__setCurrentObject(id); + } + + public static int ScilabNativeView__getValidDefaultFigureId() { + return ScilabNativeViewJNI.ScilabNativeView__getValidDefaultFigureId(); + } + + public static int ScilabNativeView__getFigureFromIndex(int figNum) { + return ScilabNativeViewJNI.ScilabNativeView__getFigureFromIndex(figNum); + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ScilabNativeViewJNI.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ScilabNativeViewJNI.java new file mode 100755 index 000000000..740f7b2be --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ScilabNativeViewJNI.java @@ -0,0 +1,30 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.11 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.scilab.modules.graphic_objects; + +public class ScilabNativeViewJNI { + + static { + try { + System.loadLibrary("scigraphic_objects"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native library failed to load. \n" + e); + System.exit(1); + } + } + + public final static native void ScilabNativeView__createObject(int jarg1); + public final static native void ScilabNativeView__deleteObject(int jarg1); + public final static native void ScilabNativeView__updateObject(int jarg1, int jarg2); + public final static native void ScilabNativeView__setCurrentFigure(int jarg1); + public final static native void ScilabNativeView__setCurrentSubWin(int jarg1); + public final static native void ScilabNativeView__setCurrentObject(int jarg1); + public final static native int ScilabNativeView__getValidDefaultFigureId(); + public final static native int ScilabNativeView__getFigureFromIndex(int jarg1); +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/SurfaceData.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/SurfaceData.java new file mode 100755 index 000000000..84a13e43e --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/SurfaceData.java @@ -0,0 +1,32 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.7 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.scilab.modules.graphic_objects; + +public class SurfaceData { + public static Object getSurfDataX(int uid) { + return SurfaceDataJNI.getSurfDataX(uid); + } + + public static Object getSurfDataY(int uid) { + return SurfaceDataJNI.getSurfDataY(uid); + } + + public static Object getSurfDataZ(int uid) { + return SurfaceDataJNI.getSurfDataZ(uid); + } + + public static int createObject3dData(int obj, int newObj, int type) { + return SurfaceDataJNI.createObject3dData(obj, newObj, type); + } + + public static double pickSurface(int uid, double x, double y, double z, double dx, double dy, double dz, double mx, double my, double mz, double mw) { + return SurfaceDataJNI.pickSurface(uid, x, y, z, dx, dy, dz, mx, my, mz, mw); + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/SurfaceDataJNI.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/SurfaceDataJNI.java new file mode 100755 index 000000000..98449a029 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/SurfaceDataJNI.java @@ -0,0 +1,27 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.7 + * + * Do not make changes to this file unless you know what you are doing--modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package org.scilab.modules.graphic_objects; + +public class SurfaceDataJNI { + + static { + try { + System.loadLibrary("scigraphic_objects"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native library failed to load. \n" + e); + System.exit(1); + } + } + + public final static native Object getSurfDataX(int jarg1); + public final static native Object getSurfDataY(int jarg1); + public final static native Object getSurfDataZ(int jarg1); + public final static native int createObject3dData(int jarg1, int jarg2, int jarg3); + public final static native double pickSurface(int jarg1, double jarg2, double jarg3, double jarg4, double jarg5, double jarg6, double jarg7, double jarg8, double jarg9, double jarg10, double jarg11); +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/arc/Arc.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/arc/Arc.java new file mode 100755 index 000000000..e3e249a77 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/arc/Arc.java @@ -0,0 +1,292 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.arc; + +import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Arc class + * @author Manuel JULIACHS + */ +public class Arc extends ClippableContouredObject { + /** Arc properties names */ + public enum ArcProperty { UPPERLEFTPOINT, WIDTH, HEIGHT, STARTANGLE, ENDANGLE, ARCDRAWINGMETHOD }; + + /** Arc drawing method */ + public enum ArcDrawingMethod { NURBS, LINES; + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the arc drawing method enum + */ + public static ArcDrawingMethod intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return ArcDrawingMethod.NURBS; + case 1: + return ArcDrawingMethod.LINES; + default: + return null; + } + } + } + + /** Bounding box upper-left point (x,y,z) coordinates */ + private double[] upperLeftPoint; + + /** Bounding box width */ + private double width; + + /** Bounding box height */ + private double height; + + /** Start angle */ + private double startAngle; + + /** End angle */ + private double endAngle; + + /** Specifies which drawing method to use */ + private ArcDrawingMethod arcDrawingMethod; + + /** + * Constructor + */ + public Arc() { + super(); + arcDrawingMethod = ArcDrawingMethod.LINES; + upperLeftPoint = new double[] {0, 0, 0}; + width = 0.0; + height = 0.0; + startAngle = 0.0; + endAngle = 0.0; + } + + public Arc clone() { + Arc copy = (Arc) super.clone(); + copy.upperLeftPoint = new double[] {0, 0, 0}; + return copy; + } + + @Override + public void accept(Visitor visitor) { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_UPPER_LEFT_POINT__ : + return ArcProperty.UPPERLEFTPOINT; + case __GO_WIDTH__ : + return ArcProperty.WIDTH; + case __GO_HEIGHT__ : + return ArcProperty.HEIGHT; + case __GO_START_ANGLE__ : + return ArcProperty.STARTANGLE; + case __GO_END_ANGLE__ : + return ArcProperty.ENDANGLE; + case __GO_ARC_DRAWING_METHOD__ : + return ArcProperty.ARCDRAWINGMETHOD; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == ArcProperty.UPPERLEFTPOINT) { + return getUpperLeftPoint(); + } else if (property == ArcProperty.WIDTH) { + return getWidth(); + } else if (property == ArcProperty.HEIGHT) { + return getHeight(); + } else if (property == ArcProperty.STARTANGLE) { + return getStartAngle(); + } else if (property == ArcProperty.ENDANGLE) { + return getEndAngle(); + } else if (property == ArcProperty.ARCDRAWINGMETHOD) { + return getArcDrawingMethod(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == ArcProperty.UPPERLEFTPOINT) { + setUpperLeftPoint((Double[]) value); + } else if (property == ArcProperty.WIDTH) { + setWidth((Double) value); + } else if (property == ArcProperty.HEIGHT) { + setHeight((Double) value); + } else if (property == ArcProperty.STARTANGLE) { + setStartAngle((Double) value); + } else if (property == ArcProperty.ENDANGLE) { + setEndAngle((Double) value); + } else if (property == ArcProperty.ARCDRAWINGMETHOD) { + setArcDrawingMethod((Integer) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * Set the parent axes + * @param axes the parent axes to set + */ + /* + public void setParent(Axes axes) { + super.setParent(axes); + } + */ + + /** + * @return the arcDrawingMethod + */ + public Integer getArcDrawingMethod() { + return getArcDrawingMethodAsEnum().ordinal(); + } + + /** + * @return the arcDrawingMethod + */ + public ArcDrawingMethod getArcDrawingMethodAsEnum() { + return arcDrawingMethod; + } + + /** + * @param arcDrawingMethod the arcDrawingMethod to set + */ + public UpdateStatus setArcDrawingMethod(Integer arcDrawingMethod) { + setArcDrawingMethodAsEnum(ArcDrawingMethod.intToEnum(arcDrawingMethod)); + return UpdateStatus.Success; + + } + + /** + * @param arcDrawingMethod the arcDrawingMethod to set + */ + public UpdateStatus setArcDrawingMethodAsEnum(ArcDrawingMethod arcDrawingMethod) { + this.arcDrawingMethod = arcDrawingMethod; + return UpdateStatus.Success; + } + + /** + * @return the endAngle + */ + public Double getEndAngle() { + return endAngle; + } + + /** + * @param endAngle the endAngle to set + */ + public UpdateStatus setEndAngle(Double endAngle) { + this.endAngle = endAngle; + return UpdateStatus.Success; + } + + /** + * @return the height + */ + public Double getHeight() { + return height; + } + + /** + * @param height the height to set + */ + public UpdateStatus setHeight(Double height) { + this.height = height; + return UpdateStatus.Success; + } + + /** + * @return the startAngle + */ + public Double getStartAngle() { + return startAngle; + } + + /** + * @param startAngle the startAngle to set + */ + public UpdateStatus setStartAngle(Double startAngle) { + this.startAngle = startAngle; + return UpdateStatus.Success; + } + + /** + * @return the upperLeftPoint + */ + public Double[] getUpperLeftPoint() { + Double[] returnedPoint = new Double[3]; + + returnedPoint[0] = upperLeftPoint[0]; + returnedPoint[1] = upperLeftPoint[1]; + returnedPoint[2] = upperLeftPoint[2]; + + return returnedPoint; + } + + /** + * @param upperLeftPoint the upperLeftPoint to set + */ + public UpdateStatus setUpperLeftPoint(Double[] upperLeftPoint) { + this.upperLeftPoint[0] = upperLeftPoint[0]; + this.upperLeftPoint[1] = upperLeftPoint[1]; + this.upperLeftPoint[2] = upperLeftPoint[2]; + return UpdateStatus.Success; + } + + /** + * @return the width + */ + public Double getWidth() { + return width; + } + + /** + * @param width the width to set + */ + public UpdateStatus setWidth(Double width) { + this.width = width; + return UpdateStatus.Success; + } + + public Integer getType() { + return GraphicObjectProperties.__GO_ARC__; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/arc/ArcDecomposer.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/arc/ArcDecomposer.java new file mode 100755 index 000000000..2d748c401 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/arc/ArcDecomposer.java @@ -0,0 +1,282 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.arc; + +import java.nio.FloatBuffer; +import java.nio.IntBuffer; + +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.utils.Utils; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Class ArcDecomposer + * + * A set of static methods decomposing an arc into a set of triangles (when filled) + * and a set of line segments. Decomposition uses a fixed number of sectors, NB_SECTORS+2 + * vertices are output, the first vertex (at index 0) being the arc's center, whereas vertices + * 1 and NB_SECTORS+1 respectively correspond to the arc's first (theta=START_ANGLE) + * and last (theta=START_ANGLE+END_ANGLE) vertices. + * + * To do: implement the Nurbs drawing mode. + * + * @author Manuel JULIACHS + */ +public class ArcDecomposer { + + /** The number of sectors */ + private static final int NB_SECTORS = 64; + + /** + * @return the number of data elements. + */ + public static int getDataSize() { + return (NB_SECTORS + 2); + } + + /** + * @return the number of triangle indices. + */ + public static int getIndicesSize() { + return 3 * NB_SECTORS; + } + + /** + * @return the number of line segment indices. + */ + public static int getWireIndicesSize() { + return 2 * NB_SECTORS; + } + + /** + * Fills the input buffer with vertex data from the given object. + * @param the buffer to fill. + * @param the given object id. + * @param the number of coordinates taken by one element in the buffer. + * @param the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param the conversion scale factor to apply to data. + * @param the conversion translation value to apply to data. + * @param the bit mask specifying whether logarithmic coordinates are used. + */ + public static void fillVertices(FloatBuffer buffer, Integer id, int elementsSize, + int coordinateMask, double[] scale, double[] translation, int logMask) { + + double [] center; + double [] currentPoint; + double semiMajorAxis; + double semiMinorAxis; + + float [] coords; + + int offset = 0; + + coords = new float[3]; + + Double [] leftUpperPoint = (Double []) GraphicController.getController().getProperty(id, __GO_UPPER_LEFT_POINT__); + Double width = (Double) GraphicController.getController().getProperty(id, __GO_WIDTH__); + Double height = (Double) GraphicController.getController().getProperty(id, __GO_HEIGHT__); + + /* Radians */ + Double startAngle = (Double) GraphicController.getController().getProperty(id, __GO_START_ANGLE__); + Double endAngle = (Double) GraphicController.getController().getProperty(id, __GO_END_ANGLE__); + + center = new double[3]; + currentPoint = new double[3]; + + semiMajorAxis = width / 2.0; + semiMinorAxis = height / 2.0; + + center[0] = leftUpperPoint[0] + semiMajorAxis; + center[1] = leftUpperPoint[1] - semiMinorAxis; + center[2] = leftUpperPoint[2]; + + /* First vertex: center */ + if ((coordinateMask & 0x1) != 0) { + currentPoint[0] = center[0]; + + if ((logMask & 0x1) != 0) { + currentPoint[0] = Math.log10(currentPoint[0]); + } + + coords[0] = (float) (currentPoint[0] * scale[0] + translation[0]); + buffer.put(offset, coords[0]); + } + + if ((coordinateMask & 0x2) != 0) { + currentPoint[1] = center[1]; + + if ((logMask & 0x2) != 0) { + currentPoint[1] = Math.log10(currentPoint[1]); + } + + coords[1] = (float) (currentPoint[1] * scale[1] + translation[1]); + buffer.put(offset + 1, coords[1]); + } + + if ((coordinateMask & 0x4) != 0) { + currentPoint[2] = center[2]; + + if ((logMask & 0x4) != 0) { + currentPoint[2] = Math.log10(currentPoint[2]); + } + + coords[2] = (float) (currentPoint[2] * scale[2] + translation[2]); + buffer.put(offset + 2, coords[2]); + } + + if (elementsSize == 4 && (coordinateMask & 0x8) != 0) { + buffer.put(offset + 3, 1.0f); + } + + offset += elementsSize; + + if (endAngle > 2 * Math.PI) { + endAngle = 2 * Math.PI; + } else if (endAngle < -2 * Math.PI) { + endAngle = -2 * Math.PI; + } + + startAngle = startAngle % (2.0 * Math.PI); + + + /* Arc vertices */ + for (int i = 0; i < NB_SECTORS + 1; i++) { + double theta = startAngle + endAngle * (double) i / (double) NB_SECTORS; + + if ((coordinateMask & 0x1) != 0) { + currentPoint[0] = center[0] + semiMajorAxis * Math.cos(theta); + + if ((logMask & 0x1) != 0) { + currentPoint[0] = Math.log10(currentPoint[0]); + } + + coords[0] = (float) (currentPoint[0] * scale[0] + translation[0]); + buffer.put(offset, coords[0]); + } + + if ((coordinateMask & 0x2) != 0) { + currentPoint[1] = center[1] + semiMinorAxis * Math.sin(theta); + + if ((logMask & 0x2) != 0) { + currentPoint[1] = Math.log10(currentPoint[1]); + } + + coords[1] = (float) (currentPoint[1] * scale[1] + translation[1]); + buffer.put(offset + 1, coords[1]); + } + + if ((coordinateMask & 0x4) != 0) { + currentPoint[2] = center[2]; + + if ((logMask & 0x4) != 0) { + currentPoint[2] = Math.log10(currentPoint[2]); + } + + coords[2] = (float) (currentPoint[2] * scale[2] + translation[2]); + buffer.put(offset + 2, coords[2]); + } + + if (elementsSize == 4 && (coordinateMask & 0x8) != 0) { + buffer.put(offset + 3, 1.0f); + } + + offset += elementsSize; + } + } + + /** + * Fills the input buffer with triangle index data from the given object. + * @param the buffer to fill. + * @param the given object id. + * @param the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + public static int fillIndices(IntBuffer buffer, Integer id, int logMask) { + boolean valid; + + valid = isValid(id, logMask); + + if (valid) { + for (int i = 0; i < NB_SECTORS; i++) { + buffer.put(0); + buffer.put(i + 1); + buffer.put(i + 2); + } + + return 3 * NB_SECTORS; + } else { + return 0; + } + } + + /** + * Fills the input buffer with segment index data from the given object. + * @param the buffer to fill. + * @param the given object id. + * @param the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + public static int fillWireIndices(IntBuffer buffer, Integer id, int logMask) { + boolean valid; + + valid = isValid(id, logMask); + + if (valid) { + for (int i = 0; i < NB_SECTORS; i++) { + buffer.put(i + 1); + buffer.put(i + 2); + } + + return 2 * NB_SECTORS; + } else { + return 0; + } + } + + /** + * Determines whether an Arc is valid or not, depending on its data values. + * @param the Arc id. + * @param the bit mask specifying whether logarithmic coordinates are used. + * @return true if the Arc is valid, false if it is not. + */ + private static boolean isValid(Integer id, int logMask) { + boolean valid = false; + + Double [] leftUpperPoint = (Double []) GraphicController.getController().getProperty(id, __GO_UPPER_LEFT_POINT__); + Double width = (Double) GraphicController.getController().getProperty(id, __GO_WIDTH__); + Double height = (Double) GraphicController.getController().getProperty(id, __GO_HEIGHT__); + Double startAngle = (Double) GraphicController.getController().getProperty(id, __GO_START_ANGLE__); + Double endAngle = (Double) GraphicController.getController().getProperty(id, __GO_END_ANGLE__); + + if (Utils.isValid(leftUpperPoint[0], leftUpperPoint[1], leftUpperPoint[2]) + && Utils.isValid(width) && Utils.isValid(height) + && Utils.isValid(startAngle) && Utils.isValid(endAngle)) { + valid = true; + } + + /* + * Test log validity using the minimum x and y coordinates, + * as width and height can be less than 0 . + */ + if (logMask != 0) { + double [] minPoint = new double[2]; + + minPoint[0] = Math.min(leftUpperPoint[0], leftUpperPoint[0] + width); + minPoint[1] = Math.min(leftUpperPoint[1], leftUpperPoint[1] - height); + + valid = valid && Utils.isLogValid(minPoint[0], minPoint[1], leftUpperPoint[2], logMask); + } + + return valid; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/Axes.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/Axes.java new file mode 100755 index 000000000..a6f583342 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/Axes.java @@ -0,0 +1,2797 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * Copyright (C) 2010 - DIGITEO - Bruno JOFRET + * Copyright (C) 2013 - 2015 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.axes; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ARC_DRAWING_METHOD__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AUTO_CLEAR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AUTO_MARGINS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AUTO_SCALE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AUTO_SUBTICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AXES_BOUNDS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BACKGROUND__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BOX_TYPE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CLIP_BOX_SET__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CLIP_BOX__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CLIP_STATE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CUBE_SCALING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATA_BOUNDS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FILLED__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FIRST_PLOT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_COLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_FRACTIONAL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_GRID_POSITION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_HIDDEN_AXIS_COLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_HIDDEN_COLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ISOVIEW__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LINE_COLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LINE_MODE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LINE_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LINE_THICKNESS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARGINS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_BACKGROUND__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_FOREGROUND__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_MODE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_SIZE_UNIT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_REAL_DATA_BOUNDS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ROTATION_ANGLES_3D__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ROTATION_ANGLES__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TITLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VIEW__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_AUTO_TICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_FORMAT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_GRID_COLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_GRID_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_GRID_THICKNESS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_LABEL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_LOCATION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_LOG_FLAG__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_NUMBER_TICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_REVERSE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_ST_FACTORS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_SUBTICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_TICKS_LABELS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_TICKS_LOCATIONS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_TICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_AXIS_VISIBLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_TIGHT_LIMITS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_AUTO_TICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_FORMAT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_GRID_COLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_GRID_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_GRID_THICKNESS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_LABEL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_LOCATION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_LOG_FLAG__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_NUMBER_TICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_REVERSE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_ST_FACTORS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_SUBTICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_TICKS_LABELS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_TICKS_LOCATIONS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_TICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_AXIS_VISIBLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_TIGHT_LIMITS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ZOOM_BOX__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ZOOM_ENABLED__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_AUTO_TICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_FORMAT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_GRID_COLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_GRID_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_GRID_THICKNESS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_LABEL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_LOCATION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_LOG_FLAG__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_NUMBER_TICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_REVERSE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_ST_FACTORS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_SUBTICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_TICKS_LABELS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_TICKS_LOCATIONS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_TICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_AXIS_VISIBLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_TIGHT_LIMITS__; + +import java.util.ArrayList; + +import org.scilab.modules.graphic_objects.arc.Arc.ArcDrawingMethod; +import org.scilab.modules.graphic_objects.arc.Arc.ArcProperty; +import org.scilab.modules.graphic_objects.axes.AxisProperty.AxisLocation; +import org.scilab.modules.graphic_objects.axes.Box.BoxType; +import org.scilab.modules.graphic_objects.axes.Camera.ViewType; +import org.scilab.modules.graphic_objects.contouredObject.Line; +import org.scilab.modules.graphic_objects.contouredObject.Line.LinePropertyType; +import org.scilab.modules.graphic_objects.contouredObject.Line.LineType; +import org.scilab.modules.graphic_objects.contouredObject.Mark; +import org.scilab.modules.graphic_objects.contouredObject.Mark.MarkPropertyType; +import org.scilab.modules.graphic_objects.contouredObject.Mark.MarkSizeUnitType; +import org.scilab.modules.graphic_objects.figure.Figure; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty; +import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty.ClipStateType; +import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty.ClippablePropertyType; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.textObject.FormattedText; + +/** + * Axes class + * @author Manuel JULIACHS + */ +public class Axes extends GraphicObject { + + private static final double BOUNDS_PARAMETER = 5; + + /** Axes properties names */ + private enum AxesProperty { + XAXISVISIBLE, XAXISFORMAT, XAXISSTFACTORS, XAXISREVERSE, XAXISGRIDCOLOR, XAXISGRIDTHICKNESS, XAXISGRIDSTYLE, XAXISLABEL, XAXISLOCATION, XAXISLOGFLAG, + XAXISTICKS, XAXISAUTOTICKS, XAXISNUMBERTICKS, XAXISTICKSLOCATIONS, XAXISTICKSLABELS, XAXISSUBTICKS, + YAXISVISIBLE, YAXISFORMAT, YAXISSTFACTORS, YAXISREVERSE, YAXISGRIDCOLOR, YAXISGRIDTHICKNESS, YAXISGRIDSTYLE, YAXISLABEL, YAXISLOCATION, YAXISLOGFLAG, + YAXISTICKS, YAXISAUTOTICKS, YAXISNUMBERTICKS, YAXISTICKSLOCATIONS, YAXISTICKSLABELS, YAXISSUBTICKS, + ZAXISVISIBLE, ZAXISFORMAT, ZAXISSTFACTORS, ZAXISREVERSE, ZAXISGRIDCOLOR, ZAXISGRIDTHICKNESS, ZAXISGRIDSTYLE, ZAXISLABEL, ZAXISLOCATION, ZAXISLOGFLAG, + ZAXISTICKS, ZAXISAUTOTICKS, ZAXISNUMBERTICKS, ZAXISTICKSLOCATIONS, ZAXISTICKSLABELS, ZAXISSUBTICKS, + AUTOSUBTICKS, + FONT_STYLE, FONT_SIZE, FONT_COLOR, FONT_FRACTIONAL, + GRIDPOSITION, TITLE, AUTOCLEAR, FILLED, BACKGROUND, + MARGINS, AUTO_MARGINS, AXESBOUNDS, + HIDDENCOLOR + }; + + /** Specifies the grid position relative to the graphics entities */ + public static enum GridPosition { BACKGROUND, FOREGROUND; + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the grid position enum + */ + public static GridPosition intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return GridPosition.BACKGROUND; + case 1: + return GridPosition.FOREGROUND; + default: + return null; + } + } + }; + + + /** 3-element array (properties of the X, Y and Z axes) */ + private AxisProperty[] axes; + + /** + * Specifies whether subticks are automatically computed or not + * Used as an internal state only + * Note: shared by the three axes to be compatible with the + * former flagNax internal state (autoSubticks is equivalent to !flagNax) + * This should eventually become a per-axis property (as the auto ticks flag). + */ + private boolean autoSubticks; + + /** Grid position */ + private GridPosition gridPosition; + + /** Title label known by its UID. */ + private Integer title; + + /** Specifies whether the Axes subwindow is cleared when a new plot command is performed */ + private boolean autoClear; + + /** Specifies whether the Axes background is filled or not */ + private boolean filled; + + /** Axes background color and child objects default background color */ + private int background; + + /** Camera */ + private Camera camera; + + /** Box: properties related to the data bounds */ + private Box box; + + /** Margins enclosing the drawing area (left, right, top, bottom) */ + private double[] margins; + private boolean auto_margins; + + /** + * Axes bounds relative to their parent figure's + * drawing area (upper-left corner x and y, width, height) + */ + private double[] axesBounds; + + /** Default hidden surfaces color */ + private int hiddenColor; + + /** Default Line properties */ + private Line line; + + /** Default Mark properties */ + private Mark mark; + + /** Default Arc drawing method */ + private ArcDrawingMethod arcDrawingMethod; + + /** Default ClippableProperty */ + private ClippableProperty clipProperty; + + + /** Constructor */ + public Axes() { + super(); + axes = new AxisProperty[3]; + axes[0] = new AxisProperty(); + axes[1] = new AxisProperty(); + axes[2] = new AxisProperty(); + gridPosition = GridPosition.FOREGROUND; + title = 0; + autoClear = false; + filled = false; + camera = new Camera(); + box = new Box(); + margins = new double[4]; + auto_margins = true; + axesBounds = new double[4]; + + line = new Line(); + mark = new Mark(); + arcDrawingMethod = ArcDrawingMethod.LINES; + clipProperty = new ClippableProperty(); + } + + public Axes clone() { + Axes copy = (Axes) super.clone(); + + AxisProperty [] newAxes = new AxisProperty[3]; + + for (int i = 0; i < axes.length; i++) { + newAxes[i] = new AxisProperty(axes[i]); + } + + copy.axes = newAxes; + copy.title = 0; + copy.camera = new Camera(this.camera); + copy.box = new Box(this.box); + + double [] newMargins = new double[4]; + for (int i = 0; i < this.margins.length; i++) { + newMargins[i] = this.margins[i]; + } + + copy.margins = newMargins; + copy.auto_margins = auto_margins; + + double [] newAxesBounds = new double[4]; + for (int i = 0; i < this.axesBounds.length; i++) { + newAxesBounds[i] = this.axesBounds[i]; + } + + copy.axesBounds = newAxesBounds; + copy.line = new Line(this.line); + copy.mark = new Mark(this.mark); + copy.clipProperty = new ClippableProperty(this.clipProperty); + copy.setValid(true); + + return copy; + } + + @Override + public void accept(Visitor visitor) { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_X_AXIS_VISIBLE__ : + return AxesProperty.XAXISVISIBLE; + case __GO_X_AXIS_REVERSE__ : + return AxesProperty.XAXISREVERSE; + case __GO_X_AXIS_GRID_COLOR__ : + return AxesProperty.XAXISGRIDCOLOR; + case __GO_X_AXIS_GRID_THICKNESS__ : + return AxesProperty.XAXISGRIDTHICKNESS; + case __GO_X_AXIS_GRID_STYLE__ : + return AxesProperty.XAXISGRIDSTYLE; + case __GO_X_AXIS_LABEL__ : + return AxesProperty.XAXISLABEL; + case __GO_X_AXIS_LOCATION__ : + return AxesProperty.XAXISLOCATION; + case __GO_X_AXIS_LOG_FLAG__ : + return AxesProperty.XAXISLOGFLAG; + case __GO_X_AXIS_TICKS__ : + return AxesProperty.XAXISTICKS; + case __GO_X_AXIS_FORMAT__ : + return AxesProperty.XAXISFORMAT; + case __GO_X_AXIS_ST_FACTORS__ : + return AxesProperty.XAXISSTFACTORS; + case __GO_X_AXIS_AUTO_TICKS__ : + return AxesProperty.XAXISAUTOTICKS; + case __GO_X_AXIS_NUMBER_TICKS__ : + return AxesProperty.XAXISNUMBERTICKS; + case __GO_X_AXIS_TICKS_LOCATIONS__: + return AxesProperty.XAXISTICKSLOCATIONS; + case __GO_X_AXIS_TICKS_LABELS__ : + return AxesProperty.XAXISTICKSLABELS; + case __GO_X_AXIS_SUBTICKS__ : + return AxesProperty.XAXISSUBTICKS; + case __GO_Y_AXIS_VISIBLE__ : + return AxesProperty.YAXISVISIBLE; + case __GO_Y_AXIS_REVERSE__ : + return AxesProperty.YAXISREVERSE; + case __GO_Y_AXIS_GRID_COLOR__ : + return AxesProperty.YAXISGRIDCOLOR; + case __GO_Y_AXIS_GRID_THICKNESS__ : + return AxesProperty.YAXISGRIDTHICKNESS; + case __GO_Y_AXIS_GRID_STYLE__ : + return AxesProperty.YAXISGRIDSTYLE; + case __GO_Y_AXIS_LABEL__ : + return AxesProperty.YAXISLABEL; + case __GO_Y_AXIS_LOCATION__ : + return AxesProperty.YAXISLOCATION; + case __GO_Y_AXIS_LOG_FLAG__ : + return AxesProperty.YAXISLOGFLAG; + case __GO_Y_AXIS_TICKS__ : + return AxesProperty.YAXISTICKS; + case __GO_Y_AXIS_FORMAT__ : + return AxesProperty.YAXISFORMAT; + case __GO_Y_AXIS_ST_FACTORS__ : + return AxesProperty.YAXISSTFACTORS; + case __GO_Y_AXIS_AUTO_TICKS__ : + return AxesProperty.YAXISAUTOTICKS; + case __GO_Y_AXIS_NUMBER_TICKS__ : + return AxesProperty.YAXISNUMBERTICKS; + case __GO_Y_AXIS_TICKS_LOCATIONS__ : + return AxesProperty.YAXISTICKSLOCATIONS; + case __GO_Y_AXIS_TICKS_LABELS__ : + return AxesProperty.YAXISTICKSLABELS; + case __GO_Y_AXIS_SUBTICKS__ : + return AxesProperty.YAXISSUBTICKS; + case __GO_Z_AXIS_VISIBLE__ : + return AxesProperty.ZAXISVISIBLE; + case __GO_Z_AXIS_REVERSE__ : + return AxesProperty.ZAXISREVERSE; + case __GO_Z_AXIS_GRID_COLOR__ : + return AxesProperty.ZAXISGRIDCOLOR; + case __GO_Z_AXIS_GRID_THICKNESS__ : + return AxesProperty.ZAXISGRIDTHICKNESS; + case __GO_Z_AXIS_GRID_STYLE__ : + return AxesProperty.ZAXISGRIDSTYLE; + case __GO_Z_AXIS_LABEL__ : + return AxesProperty.ZAXISLABEL; + case __GO_Z_AXIS_LOCATION__ : + return AxesProperty.ZAXISLOCATION; + case __GO_Z_AXIS_LOG_FLAG__ : + return AxesProperty.ZAXISLOGFLAG; + case __GO_Z_AXIS_TICKS__ : + return AxesProperty.ZAXISTICKS; + case __GO_Z_AXIS_FORMAT__ : + return AxesProperty.ZAXISFORMAT; + case __GO_Z_AXIS_ST_FACTORS__ : + return AxesProperty.ZAXISSTFACTORS; + case __GO_Z_AXIS_AUTO_TICKS__ : + return AxesProperty.ZAXISAUTOTICKS; + case __GO_Z_AXIS_NUMBER_TICKS__ : + return AxesProperty.ZAXISNUMBERTICKS; + case __GO_Z_AXIS_TICKS_LOCATIONS__ : + return AxesProperty.ZAXISTICKSLOCATIONS; + case __GO_Z_AXIS_TICKS_LABELS__ : + return AxesProperty.ZAXISTICKSLABELS; + case __GO_Z_AXIS_SUBTICKS__ : + return AxesProperty.ZAXISSUBTICKS; + case __GO_AUTO_SUBTICKS__ : + return AxesProperty.AUTOSUBTICKS; + case __GO_FONT_STYLE__ : + return AxesProperty.FONT_STYLE; + case __GO_FONT_SIZE__ : + return AxesProperty.FONT_SIZE; + case __GO_FONT_COLOR__ : + return AxesProperty.FONT_COLOR; + case __GO_FONT_FRACTIONAL__ : + return AxesProperty.FONT_FRACTIONAL; + case __GO_GRID_POSITION__ : + return AxesProperty.GRIDPOSITION; + case __GO_TITLE__ : + return AxesProperty.TITLE; + case __GO_AUTO_CLEAR__ : + return AxesProperty.AUTOCLEAR; + case __GO_FILLED__ : + return AxesProperty.FILLED; + case __GO_BACKGROUND__ : + return AxesProperty.BACKGROUND; + case __GO_VIEW__ : + return Camera.CameraProperty.VIEW; + case __GO_ISOVIEW__ : + return Camera.CameraProperty.ISOVIEW; + case __GO_CUBE_SCALING__ : + return Camera.CameraProperty.CUBESCALING; + case __GO_ROTATION_ANGLES__ : + return Camera.CameraProperty.ROTATIONANGLES; + case __GO_ROTATION_ANGLES_3D__ : + return Camera.CameraProperty.ROTATIONANGLES3D; + case __GO_BOX_TYPE__ : + return Box.BoxProperty.BOX; + case __GO_HIDDEN_AXIS_COLOR__ : + return Box.BoxProperty.HIDDENAXISCOLOR; + case __GO_X_TIGHT_LIMITS__ : + return Box.BoxProperty.XTIGHTLIMITS; + case __GO_Y_TIGHT_LIMITS__ : + return Box.BoxProperty.YTIGHTLIMITS; + case __GO_Z_TIGHT_LIMITS__ : + return Box.BoxProperty.ZTIGHTLIMITS; + case __GO_DATA_BOUNDS__ : + return Box.BoxProperty.DATABOUNDS; + case __GO_REAL_DATA_BOUNDS__ : + return Box.BoxProperty.REALDATABOUNDS; + case __GO_ZOOM_ENABLED__ : + return Box.BoxProperty.ZOOMENABLED; + case __GO_ZOOM_BOX__ : + return Box.BoxProperty.ZOOMBOX; + case __GO_AUTO_SCALE__ : + return Box.BoxProperty.AUTOSCALE; + case __GO_FIRST_PLOT__ : + return Box.BoxProperty.FIRSTPLOT; + case __GO_MARGINS__ : + return AxesProperty.MARGINS; + case __GO_AUTO_MARGINS__ : + return AxesProperty.AUTO_MARGINS; + case __GO_AXES_BOUNDS__ : + return AxesProperty.AXESBOUNDS; + case __GO_HIDDEN_COLOR__ : + return AxesProperty.HIDDENCOLOR; + case __GO_LINE_MODE__ : + return LinePropertyType.MODE; + case __GO_LINE_STYLE__ : + return LinePropertyType.LINESTYLE; + case __GO_LINE_THICKNESS__ : + return LinePropertyType.THICKNESS; + case __GO_LINE_COLOR__ : + return LinePropertyType.COLOR; + case __GO_MARK_MODE__ : + return MarkPropertyType.MODE; + case __GO_MARK_STYLE__ : + return MarkPropertyType.STYLE; + case __GO_MARK_SIZE_UNIT__ : + return MarkPropertyType.SIZEUNIT; + case __GO_MARK_SIZE__ : + return MarkPropertyType.SIZE; + case __GO_MARK_FOREGROUND__ : + return MarkPropertyType.FOREGROUND; + case __GO_MARK_BACKGROUND__ : + return MarkPropertyType.BACKGROUND; + case __GO_CLIP_STATE__ : + return ClippablePropertyType.CLIPSTATE; + case __GO_CLIP_BOX__ : + return ClippablePropertyType.CLIPBOX; + case __GO_CLIP_BOX_SET__ : + return ClippablePropertyType.CLIPBOXSET; + case __GO_ARC_DRAWING_METHOD__ : + return ArcProperty.ARCDRAWINGMETHOD; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property instanceof AxesProperty) { + AxesProperty ap = (AxesProperty) property; + switch (ap) { + case XAXISVISIBLE: + return getXAxisVisible(); + case XAXISREVERSE: + return getXAxisReverse(); + case XAXISGRIDCOLOR: + return getXAxisGridColor(); + case XAXISGRIDTHICKNESS: + return getXAxisGridThickness(); + case XAXISGRIDSTYLE: + return getXAxisGridStyle(); + case XAXISLABEL: + return getXAxisLabel(); + case XAXISLOCATION: + return getXAxisLocation(); + case XAXISLOGFLAG: + return getXAxisLogFlag(); + case XAXISTICKS: + return getXAxisTicks(); + case XAXISFORMAT: + return getXAxisFormat(); + case XAXISSTFACTORS: + return getXAxisSTFactors(); + case XAXISAUTOTICKS: + return getXAxisAutoTicks(); + case XAXISNUMBERTICKS: + return getXAxisNumberTicks(); + case XAXISTICKSLOCATIONS: + return getXAxisTicksLocations(); + case XAXISTICKSLABELS: + return getXAxisTicksLabels(); + case XAXISSUBTICKS: + return getXAxisSubticks(); + case YAXISVISIBLE: + return getYAxisVisible(); + case YAXISREVERSE: + return getYAxisReverse(); + case YAXISGRIDCOLOR: + return getYAxisGridColor(); + case YAXISGRIDTHICKNESS: + return getYAxisGridThickness(); + case YAXISGRIDSTYLE: + return getYAxisGridStyle(); + case YAXISLABEL: + return getYAxisLabel(); + case YAXISLOCATION: + return getYAxisLocation(); + case YAXISLOGFLAG: + return getYAxisLogFlag(); + case YAXISTICKS: + return getYAxisTicks(); + case YAXISFORMAT: + return getYAxisFormat(); + case YAXISSTFACTORS: + return getYAxisSTFactors(); + case YAXISAUTOTICKS: + return getYAxisAutoTicks(); + case YAXISNUMBERTICKS: + return getYAxisNumberTicks(); + case YAXISTICKSLOCATIONS: + return getYAxisTicksLocations(); + case YAXISTICKSLABELS: + return getYAxisTicksLabels(); + case YAXISSUBTICKS: + return getYAxisSubticks(); + case ZAXISVISIBLE: + return getZAxisVisible(); + case ZAXISREVERSE: + return getZAxisReverse(); + case ZAXISGRIDCOLOR: + return getZAxisGridColor(); + case ZAXISGRIDTHICKNESS: + return getZAxisGridThickness(); + case ZAXISGRIDSTYLE: + return getZAxisGridStyle(); + case ZAXISLABEL: + return getZAxisLabel(); + case ZAXISLOCATION: + return getZAxisLocation(); + case ZAXISLOGFLAG: + return getZAxisLogFlag(); + case ZAXISTICKS: + return getZAxisTicks(); + case ZAXISFORMAT: + return getZAxisFormat(); + case ZAXISSTFACTORS: + return getZAxisSTFactors(); + case ZAXISAUTOTICKS: + return getZAxisAutoTicks(); + case ZAXISNUMBERTICKS: + return getZAxisNumberTicks(); + case ZAXISTICKSLOCATIONS: + return getZAxisTicksLocations(); + case ZAXISTICKSLABELS: + return getZAxisTicksLabels(); + case ZAXISSUBTICKS: + return getZAxisSubticks(); + case AUTOSUBTICKS: + return getAutoSubticks(); + case FONT_STYLE: + return getFontStyle(); + case FONT_SIZE: + return getFontSize(); + case FONT_COLOR: + return getFontColor(); + case FONT_FRACTIONAL: + return getFontFractional(); + case GRIDPOSITION: + return getGridPosition(); + case TITLE: + return getTitle(); + case AUTOCLEAR: + return getAutoClear(); + case FILLED: + return getFilled(); + case BACKGROUND: + return getBackground(); + case MARGINS: + return getMargins(); + case AUTO_MARGINS: + return getAutoMargins(); + case AXESBOUNDS: + return getAxesBounds(); + case HIDDENCOLOR: + return getHiddenColor(); + } + } else if (property instanceof Camera.CameraProperty) { + Camera.CameraProperty cp = (Camera.CameraProperty) property; + switch (cp) { + case VIEW: + return getView(); + case ISOVIEW: + return getIsoview(); + case CUBESCALING: + return getCubeScaling(); + case ROTATIONANGLES: + return getRotationAngles(); + case ROTATIONANGLES3D: + return getRotationAngles3d(); + } + } else if (property instanceof Box.BoxProperty) { + Box.BoxProperty bp = (Box.BoxProperty) property; + switch (bp) { + case BOX: + return getBoxType(); + case HIDDENAXISCOLOR: + return getHiddenAxisColor(); + case XTIGHTLIMITS: + return getXTightLimits(); + case YTIGHTLIMITS: + return getYTightLimits(); + case ZTIGHTLIMITS: + return getZTightLimits(); + case DATABOUNDS: + return getDataBounds(); + case REALDATABOUNDS: + return getRealDataBounds(); + case ZOOMENABLED: + return getZoomEnabled(); + case ZOOMBOX: + return getZoomBox(); + case AUTOSCALE: + return getAutoScale(); + case FIRSTPLOT: + return getFirstPlot(); + } + } else if (property instanceof LinePropertyType) { + LinePropertyType lp = (LinePropertyType) property; + switch (lp) { + case MODE: + return getLineMode(); + case LINESTYLE: + return getLineStyle(); + case THICKNESS: + return getLineThickness(); + case COLOR: + return getLineColor(); + } + } else if (property instanceof MarkPropertyType) { + MarkPropertyType mp = (MarkPropertyType) property; + switch (mp) { + case MODE: + return getMarkMode(); + case STYLE: + return getMarkStyle(); + case SIZE: + return getMarkSize(); + case SIZEUNIT: + return getMarkSizeUnit(); + case FOREGROUND: + return getMarkForeground(); + case BACKGROUND: + return getMarkBackground(); + } + } else if (property instanceof ClippablePropertyType) { + ClippablePropertyType cp = (ClippablePropertyType) property; + switch (cp) { + case CLIPSTATE: + return getClipState(); + case CLIPBOX: + return getClipBox(); + case CLIPBOXSET: + return getClipBoxSet(); + } + } else if (property == ArcProperty.ARCDRAWINGMETHOD) { + return getArcDrawingMethod(); + } + + return super.getProperty(property); + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property instanceof AxesProperty) { + AxesProperty ap = (AxesProperty) property; + switch (ap) { + case XAXISVISIBLE: + return setXAxisVisible((Boolean) value); + case XAXISREVERSE: + return setXAxisReverse((Boolean) value); + case XAXISGRIDCOLOR: + return setXAxisGridColor((Integer) value); + case XAXISGRIDTHICKNESS: + return setXAxisGridThickness((Double) value); + case XAXISGRIDSTYLE: + return setXAxisGridStyle((Integer) value); + case XAXISLABEL: + return setXAxisLabel((Integer) value); + case XAXISLOCATION: + return setXAxisLocation((Integer) value); + case XAXISLOGFLAG: + return setXAxisLogFlag((Boolean) value); + case XAXISTICKS: + return setXAxisTicks((TicksProperty) value); + case XAXISFORMAT: + return setXAxisFormat((String) value); + case XAXISSTFACTORS: + return setXAxisSTFactors((Double[]) value); + case XAXISAUTOTICKS: + return setXAxisAutoTicks((Boolean) value); + case XAXISTICKSLOCATIONS: + return setXAxisTicksLocations((Double[]) value); + case XAXISTICKSLABELS: + return setXAxisTicksLabels((String[]) value); + case XAXISSUBTICKS: + return setXAxisSubticks((Integer) value); + case YAXISVISIBLE: + return setYAxisVisible((Boolean) value); + case YAXISREVERSE: + return setYAxisReverse((Boolean) value); + case YAXISGRIDCOLOR: + return setYAxisGridColor((Integer) value); + case YAXISGRIDTHICKNESS: + return setYAxisGridThickness((Double) value); + case YAXISGRIDSTYLE: + return setYAxisGridStyle((Integer) value); + case YAXISLABEL: + return setYAxisLabel((Integer) value); + case YAXISLOCATION: + return setYAxisLocation((Integer) value); + case YAXISLOGFLAG: + return setYAxisLogFlag((Boolean) value); + case YAXISTICKS: + return setYAxisTicks((TicksProperty) value); + case YAXISFORMAT: + return setYAxisFormat((String) value); + case YAXISSTFACTORS: + return setYAxisSTFactors((Double[]) value); + case YAXISAUTOTICKS: + return setYAxisAutoTicks((Boolean) value); + case YAXISTICKSLOCATIONS: + return setYAxisTicksLocations((Double[]) value); + case YAXISTICKSLABELS: + return setYAxisTicksLabels((String[]) value); + case YAXISSUBTICKS: + return setYAxisSubticks((Integer) value); + case ZAXISVISIBLE: + return setZAxisVisible((Boolean) value); + case ZAXISREVERSE: + return setZAxisReverse((Boolean) value); + case ZAXISGRIDCOLOR: + return setZAxisGridColor((Integer) value); + case ZAXISGRIDTHICKNESS: + return setZAxisGridThickness((Double) value); + case ZAXISGRIDSTYLE: + return setZAxisGridStyle((Integer) value); + case ZAXISLABEL: + return setZAxisLabel((Integer) value); + case ZAXISLOCATION: + return setZAxisLocation((Integer) value); + case ZAXISLOGFLAG: + return setZAxisLogFlag((Boolean) value); + case ZAXISTICKS: + return setZAxisTicks((TicksProperty) value); + case ZAXISFORMAT: + return setZAxisFormat((String) value); + case ZAXISSTFACTORS: + return setZAxisSTFactors((Double[]) value); + case ZAXISAUTOTICKS: + return setZAxisAutoTicks((Boolean) value); + case ZAXISTICKSLOCATIONS: + return setZAxisTicksLocations((Double[]) value); + case ZAXISTICKSLABELS: + return setZAxisTicksLabels((String[]) value); + case ZAXISSUBTICKS: + return setZAxisSubticks((Integer) value); + case AUTOSUBTICKS: + return setAutoSubticks((Boolean) value); + case FONT_STYLE: + return setFontStyle((Integer) value); + case FONT_SIZE: + return setFontSize((Double) value); + case FONT_COLOR: + return setFontColor((Integer) value); + case FONT_FRACTIONAL: + return setFontFractional((Boolean) value); + case GRIDPOSITION: + return setGridPosition((Integer) value); + case TITLE: + return setTitle((Integer) value); + case AUTOCLEAR: + return setAutoClear((Boolean) value); + case FILLED: + return setFilled((Boolean) value); + case BACKGROUND: + return setBackground((Integer) value); + case MARGINS: + return setMargins((Double[]) value); + case AUTO_MARGINS: + return setAutoMargins((Boolean) value); + case AXESBOUNDS: + return setAxesBounds((Double[]) value); + case HIDDENCOLOR: + return setHiddenColor((Integer) value); + } + } else if (property instanceof Camera.CameraProperty) { + Camera.CameraProperty cp = (Camera.CameraProperty) property; + switch (cp) { + case VIEW: + return setView((Integer) value); + case ISOVIEW: + return setIsoview((Boolean) value); + case CUBESCALING: + return setCubeScaling((Boolean) value); + case ROTATIONANGLES: + return setRotationAngles((Double[]) value); + case ROTATIONANGLES3D: + return setRotationAngles3d((Double[]) value); + } + } else if (property instanceof Box.BoxProperty) { + Box.BoxProperty bp = (Box.BoxProperty) property; + switch (bp) { + case BOX: + return setBoxType((Integer) value); + case HIDDENAXISCOLOR: + return setHiddenAxisColor((Integer) value); + case XTIGHTLIMITS: + return setXTightLimits((Boolean) value); + case YTIGHTLIMITS: + return setYTightLimits((Boolean) value); + case ZTIGHTLIMITS: + return setZTightLimits((Boolean) value); + case DATABOUNDS: + return setDataBounds((Double[]) value); + case REALDATABOUNDS: + return setRealDataBounds((Double[]) value); + case ZOOMENABLED: + return setZoomEnabled((Boolean) value); + case ZOOMBOX: + return setZoomBox((Double[]) value); + case AUTOSCALE: + return setAutoScale((Boolean) value); + case FIRSTPLOT: + return setFirstPlot((Boolean) value); + } + } else if (property instanceof LinePropertyType) { + LinePropertyType lp = (LinePropertyType) property; + switch (lp) { + case MODE: + return setLineMode((Boolean) value); + case LINESTYLE: + return setLineStyle((Integer) value); + case THICKNESS: + return setLineThickness((Double) value); + case COLOR: + return setLineColor((Integer) value); + } + } else if (property instanceof MarkPropertyType) { + MarkPropertyType mp = (MarkPropertyType) property; + switch (mp) { + case MODE: + return setMarkMode((Boolean) value); + case STYLE: + return setMarkStyle((Integer) value); + case SIZE: + return setMarkSize((Integer) value); + case SIZEUNIT: + return setMarkSizeUnit((Integer) value); + case FOREGROUND: + return setMarkForeground((Integer) value); + case BACKGROUND: + return setMarkBackground((Integer) value); + } + } else if (property instanceof ClippablePropertyType) { + ClippablePropertyType cp = (ClippablePropertyType) property; + switch (cp) { + case CLIPSTATE: + return setClipState((Integer) value); + case CLIPBOX: + return setClipBox((Double[]) value); + case CLIPBOXSET: + return setClipBoxSet((Boolean) value); + } + } else if (property == ArcProperty.ARCDRAWINGMETHOD) { + return setArcDrawingMethod((Integer) value); + } + + return super.setProperty(property, value); + } + + /** + * @return the autoClear + */ + public Boolean getAutoClear() { + return autoClear; + } + + /** + * @param autoClear the autoClear to set + */ + public UpdateStatus setAutoClear(Boolean autoClear) { + if (autoClear != this.autoClear) { + this.autoClear = autoClear; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the axes + */ + public AxisProperty[] getAxes() { + return axes; + } + + /** + * @param axes the axes to set + */ + public UpdateStatus setAxes(AxisProperty[] axes) { + this.axes = axes; + + return UpdateStatus.Success; + } + + /** + * @return the x axis + */ + public AxisProperty getXAxis() { + return axes[0]; + } + + /** + * @param xAxis the x axis to set + */ + public UpdateStatus setXAxis(AxisProperty xAxis) { + axes[0] = xAxis; + + return UpdateStatus.Success; + } + + /** + * @return the x axis visible + */ + public Boolean getXAxisVisible() { + return axes[0].getVisible(); + } + + /** + * @param visible the x axis visible to set + */ + public UpdateStatus setXAxisVisible(Boolean visible) { + return axes[0].setVisible(visible); + } + + /** + * @return the x axis format + */ + public String getXAxisFormat() { + return axes[0].getFormat(); + } + + /** + * @param format the x axis format to set + */ + public UpdateStatus setXAxisFormat(String format) { + return axes[0].setFormat(format); + } + + /** + * @return the x axis scale-translate factors + */ + public Double[] getXAxisSTFactors() { + return axes[0].getSTFactors(); + } + + /** + * @param factors the x axis scale-translate factors + */ + public UpdateStatus setXAxisSTFactors(Double[] factors) { + return axes[0].setSTFactors(factors); + } + + /** + * @return the x axis reverse + */ + public Boolean getXAxisReverse() { + return axes[0].getReverse(); + } + + /** + * @param reverse the x axis reverse to set + */ + public UpdateStatus setXAxisReverse(Boolean reverse) { + return axes[0].setReverse(reverse); + } + + /** + * @return the x axis grid color + */ + public Integer getXAxisGridColor() { + return axes[0].getGridColor(); + } + + /** + * @param gridColor the x axis grid color to set + */ + public UpdateStatus setXAxisGridColor(Integer gridColor) { + return axes[0].setGridColor(gridColor); + } + + /** + * @return the x axis grid thickness + */ + public Double getXAxisGridThickness() { + Double d = axes[0].getGridThickness(); + return d == -1 ? getLineThickness() : d; + } + + /** + * @param gridThickness the x axis grid thickness to set + */ + public UpdateStatus setXAxisGridThickness(Double gridThickness) { + return axes[0].setGridThickness(gridThickness); + } + + /** + * @return the x axis grid style + */ + public Integer getXAxisGridStyle() { + return axes[0].getGridStyle(); + } + + /** + * @param gridStyle the x axis grid style to set + */ + public UpdateStatus setXAxisGridStyle(Integer gridStyle) { + return axes[0].setGridStyle(gridStyle); + } + + /** + * @return the x axis label UID + */ + public Integer getXAxisLabel() { + return axes[0].getLabel(); + } + + /** + * @param label the x axis label to set + */ + public UpdateStatus setXAxisLabel(Integer label) { + return axes[0].setLabel(label); + } + + /** + * @return the x axis location + */ + public Integer getXAxisLocation() { + return getXAxisLocationAsEnum().ordinal(); + } + + /** + * @return the x axis location + */ + public AxisLocation getXAxisLocationAsEnum() { + return axes[0].getAxisLocation(); + } + + /** + * @param axisLocation the x axis location to set + */ + public UpdateStatus setXAxisLocation(Integer axisLocation) { + return setXAxisLocationAsEnum(AxisLocation.intToEnum(axisLocation)); + } + + /** + * @param axisLocation the x axis location to set + */ + public UpdateStatus setXAxisLocationAsEnum(AxisLocation axisLocation) { + return axes[0].setAxisLocation(axisLocation); + } + + /** + * @return the x axis log flag + */ + public Boolean getXAxisLogFlag() { + return axes[0].getLogFlag(); + } + + /** + * @param logFlag the x axis log flag to set + */ + public UpdateStatus setXAxisLogFlag(Boolean logFlag) { + return axes[0].setLogFlag(logFlag); + } + + /** + * @return the x axis ticks + */ + public TicksProperty getXAxisTicks() { + return axes[0].getTicks(); + } + + /** + * @param ticks the x axis ticks to set + */ + public UpdateStatus setXAxisTicks(TicksProperty ticks) { + return axes[0].setTicks(ticks); + } + + /** + * @return the x axis autoticks + */ + public Boolean getXAxisAutoTicks() { + return axes[0].getAutoTicks(); + } + + /** + * @param autoTicks the x axis autoticks to set + */ + public UpdateStatus setXAxisAutoTicks(Boolean autoTicks) { + return axes[0].setAutoTicks(autoTicks); + } + + /** + * @return the x axis number of ticks + */ + public Integer getXAxisNumberTicks() { + return axes[0].getNumberOfTicks(); + } + + /** + * @return the x axis ticks locations + */ + public Double[] getXAxisTicksLocations() { + return axes[0].getTicksLocations(); + } + + /** + * @param ticksLocations the x axis ticks locations to set + */ + public UpdateStatus setXAxisTicksLocations(Double[] ticksLocations) { + return axes[0].setTicksLocations(ticksLocations); + } + + /** + * @return the x axis ticks labels + */ + public String[] getXAxisTicksLabels() { + return axes[0].getTicksLabelsStrings(); + } + + /** + * @return the x axis ticks labels + */ + public ArrayList<FormattedText> getXAxisTicksLabelsAsArrayList() { + return axes[0].getTicksLabels(); + } + + /** + * @param labels the x axis ticks labels to set + */ + public UpdateStatus setXAxisTicksLabels(String[] labels) { + return axes[0].setTicksLabelsStrings(labels); + } + + /** + * @param labels the x axis ticks labels to set + */ + public UpdateStatus setXAxisTicksLabelsAsArrayList(ArrayList<FormattedText> labels) { + return axes[0].setTicksLabels(labels); + } + + /** + * @return the x axis number of subticks + */ + public Integer getXAxisSubticks() { + return axes[0].getSubticks(); + } + + /** + * @param subticks the x axis number of subticks to set + */ + public UpdateStatus setXAxisSubticks(Integer subticks) { + return axes[0].setSubticks(subticks); + } + + /** + * @return the y axis + */ + public AxisProperty getYAxis() { + return axes[1]; + } + + /** + * @param yAxis the y axis to set + */ + public UpdateStatus setYAxis(AxisProperty yAxis) { + axes[1] = yAxis; + + return UpdateStatus.Success; + } + + /** + * @return the y axis visible + */ + public Boolean getYAxisVisible() { + return axes[1].getVisible(); + } + + /** + * @param visible the y axis visible to set + */ + public UpdateStatus setYAxisVisible(Boolean visible) { + return axes[1].setVisible(visible); + } + + /** + * @return the y axis format + */ + public String getYAxisFormat() { + return axes[1].getFormat(); + } + + /** + * @param format the x axis format to set + */ + public UpdateStatus setYAxisFormat(String format) { + return axes[1].setFormat(format); + } + + /** + * @return the y axis scale-translate factors + */ + public Double[] getYAxisSTFactors() { + return axes[1].getSTFactors(); + } + + /** + * @param factors the y axis scale-translate factors + */ + public UpdateStatus setYAxisSTFactors(Double[] factors) { + return axes[1].setSTFactors(factors); + } + + /** + * @return the y axis reverse + */ + public Boolean getYAxisReverse() { + return axes[1].getReverse(); + } + + /** + * @param reverse the y axis reverse to set + */ + public UpdateStatus setYAxisReverse(Boolean reverse) { + return axes[1].setReverse(reverse); + } + + /** + * @return the y axis grid color + */ + public Integer getYAxisGridColor() { + return axes[1].getGridColor(); + } + + /** + * @param gridColor the y axis grid color to set + */ + public UpdateStatus setYAxisGridColor(Integer gridColor) { + return axes[1].setGridColor(gridColor); + } + + /** + * @return the y axis grid thickness + */ + public Double getYAxisGridThickness() { + Double d = axes[1].getGridThickness(); + return d == -1 ? getLineThickness() : d; + } + + /** + * @param gridThickness the y axis grid thickness to set + */ + public UpdateStatus setYAxisGridThickness(Double gridThickness) { + return axes[1].setGridThickness(gridThickness); + } + + /** + * @return the y axis grid style + */ + public Integer getYAxisGridStyle() { + return axes[1].getGridStyle(); + } + + /** + * @param gridStyle the y axis grid style to set + */ + public UpdateStatus setYAxisGridStyle(Integer gridStyle) { + return axes[1].setGridStyle(gridStyle); + } + + /** + * @return the y axis label UID + */ + public Integer getYAxisLabel() { + return axes[1].getLabel(); + } + + /** + * @param label the y axis label to set + */ + public UpdateStatus setYAxisLabel(Integer label) { + return axes[1].setLabel(label); + } + + /** + * @return the y axis location + */ + public Integer getYAxisLocation() { + return getYAxisLocationAsEnum().ordinal(); + } + + /** + * @return the y axis location + */ + public AxisLocation getYAxisLocationAsEnum() { + return axes[1].getAxisLocation(); + } + + /** + * @param axisLocation the y axis location to set + */ + public UpdateStatus setYAxisLocation(Integer axisLocation) { + return setYAxisLocationAsEnum(AxisLocation.intToEnum(axisLocation)); + } + + /** + * @param axisLocation the y axis location to set + */ + public UpdateStatus setYAxisLocationAsEnum(AxisLocation axisLocation) { + return axes[1].setAxisLocation(axisLocation); + } + + /** + * @return the y axis log flag + */ + public Boolean getYAxisLogFlag() { + return axes[1].getLogFlag(); + } + + /** + * @param logFlag the y axis log flag to set + */ + public UpdateStatus setYAxisLogFlag(Boolean logFlag) { + return axes[1].setLogFlag(logFlag); + } + + /** + * @return the y axis ticks + */ + public TicksProperty getYAxisTicks() { + return axes[1].getTicks(); + } + + /** + * @param ticks the y axis ticks to set + */ + public UpdateStatus setYAxisTicks(TicksProperty ticks) { + return axes[1].setTicks(ticks); + } + + /** + * @return the y axis autoticks + */ + public Boolean getYAxisAutoTicks() { + return axes[1].getAutoTicks(); + } + + /** + * @param autoTicks the y axis autoticks to set + */ + public UpdateStatus setYAxisAutoTicks(Boolean autoTicks) { + return axes[1].setAutoTicks(autoTicks); + } + + /** + * @return the y axis number of ticks + */ + public Integer getYAxisNumberTicks() { + return axes[1].getNumberOfTicks(); + } + + /** + * @return the y axis ticks locations + */ + public Double[] getYAxisTicksLocations() { + return axes[1].getTicksLocations(); + } + + /** + * @param ticksLocations the y axis ticks locations to set + */ + public UpdateStatus setYAxisTicksLocations(Double[] ticksLocations) { + return axes[1].setTicksLocations(ticksLocations); + } + + /** + * @return the y axis ticks labels + */ + public String[] getYAxisTicksLabels() { + return axes[1].getTicksLabelsStrings(); + } + + /** + * @return the y axis ticks labels + */ + public ArrayList<FormattedText> getYAxisTicksLabelsAsArrayList() { + return axes[1].getTicksLabels(); + } + + /** + * @param labels the y axis ticks labels to set + */ + public UpdateStatus setYAxisTicksLabels(String[] labels) { + return axes[1].setTicksLabelsStrings(labels); + } + + /** + * @param labels the y axis ticks labels to set + */ + public UpdateStatus setYAxisTicksLabelsAsArrayList(ArrayList<FormattedText> labels) { + return axes[1].setTicksLabels(labels); + } + + /** + * @return the y axis number of subticks + */ + public Integer getYAxisSubticks() { + return axes[1].getSubticks(); + } + + /** + * @param subticks the y axis number of subticks to set + */ + public UpdateStatus setYAxisSubticks(Integer subticks) { + return axes[1].setSubticks(subticks); + } + + /** + * @return the z axis + */ + public AxisProperty getZAxis() { + return axes[2]; + } + + /** + * @param zAxis the z axis to set + */ + public UpdateStatus setZAxis(AxisProperty zAxis) { + axes[2] = zAxis; + + return UpdateStatus.Success; + } + + /** + * @return the z axis visible + */ + public Boolean getZAxisVisible() { + return axes[2].getVisible(); + } + + /** + * @param visible the z axis visible to set + */ + public UpdateStatus setZAxisVisible(Boolean visible) { + return axes[2].setVisible(visible); + } + + /** + * @return the z axis format + */ + public String getZAxisFormat() { + return axes[2].getFormat(); + } + + /** + * @param format the z axis format to set + */ + public UpdateStatus setZAxisFormat(String format) { + return axes[2].setFormat(format); + } + + /** + * @return the z axis scale-translate factors + */ + public Double[] getZAxisSTFactors() { + return axes[2].getSTFactors(); + } + + /** + * @param factors the z axis scale-translate factors + */ + public UpdateStatus setZAxisSTFactors(Double[] factors) { + return axes[2].setSTFactors(factors); + } + + /** + * @return the z axis reverse + */ + public Boolean getZAxisReverse() { + return axes[2].getReverse(); + } + + /** + * @param reverse the z axis reverse to set + */ + public UpdateStatus setZAxisReverse(Boolean reverse) { + return axes[2].setReverse(reverse); + } + + /** + * @return the z axis grid color + */ + public Integer getZAxisGridColor() { + return axes[2].getGridColor(); + } + + /** + * @param gridColor the z axis grid color to set + */ + public UpdateStatus setZAxisGridColor(Integer gridColor) { + return axes[2].setGridColor(gridColor); + } + + /** + * @return the x axis grid thickness + */ + public Double getZAxisGridThickness() { + Double d = axes[2].getGridThickness(); + return d == -1 ? getLineThickness() : d; + } + + /** + * @param gridThickness the x axis grid thickness to set + */ + public UpdateStatus setZAxisGridThickness(Double gridThickness) { + return axes[2].setGridThickness(gridThickness); + } + + /** + * @return the z axis grid style + */ + public Integer getZAxisGridStyle() { + return axes[2].getGridStyle(); + } + + /** + * @param gridStyle the z axis grid style to set + */ + public UpdateStatus setZAxisGridStyle(Integer gridStyle) { + return axes[2].setGridStyle(gridStyle); + } + + /** + * @return the z axis label UID + */ + public Integer getZAxisLabel() { + return axes[2].getLabel(); + } + + /** + * @param label the z axis label to set + */ + public UpdateStatus setZAxisLabel(Integer label) { + return axes[2].setLabel(label); + } + + /** + * @return the z axis location + */ + public Integer getZAxisLocation() { + return getZAxisLocationAsEnum().ordinal(); + } + + /** + * @return the z axis location + */ + public AxisLocation getZAxisLocationAsEnum() { + return axes[2].getAxisLocation(); + } + + /** + * @param axisLocation the z axis location to set + */ + public UpdateStatus setZAxisLocation(Integer axisLocation) { + return setZAxisLocationAsEnum(AxisLocation.intToEnum(axisLocation)); + } + + /** + * @param axisLocation the z axis location to set + */ + public UpdateStatus setZAxisLocationAsEnum(AxisLocation axisLocation) { + return axes[2].setAxisLocation(axisLocation); + } + + /** + * @return the z axis log flag + */ + public Boolean getZAxisLogFlag() { + return axes[2].getLogFlag(); + } + + /** + * @param logFlag the z axis log flag to set + */ + public UpdateStatus setZAxisLogFlag(Boolean logFlag) { + return axes[2].setLogFlag(logFlag); + } + + /** + * @return the z axis ticks + */ + public TicksProperty getZAxisTicks() { + return axes[2].getTicks(); + } + + /** + * @param ticks the z axis ticks to set + */ + public UpdateStatus setZAxisTicks(TicksProperty ticks) { + return axes[2].setTicks(ticks); + } + + /** + * @return the z axis autoticks + */ + public Boolean getZAxisAutoTicks() { + return axes[2].getAutoTicks(); + } + + /** + * @param autoTicks the z axis autoticks to set + */ + public UpdateStatus setZAxisAutoTicks(Boolean autoTicks) { + return axes[2].setAutoTicks(autoTicks); + } + + /** + * @return the z axis number of ticks + */ + public Integer getZAxisNumberTicks() { + return axes[2].getNumberOfTicks(); + } + + /** + * @return the z axis ticks locations + */ + public Double[] getZAxisTicksLocations() { + return axes[2].getTicksLocations(); + } + + /** + * @param ticksLocations the z axis ticks locations to set + */ + public UpdateStatus setZAxisTicksLocations(Double[] ticksLocations) { + return axes[2].setTicksLocations(ticksLocations); + } + + /** + * @return the z axis ticks labels + */ + public String[] getZAxisTicksLabels() { + return axes[2].getTicksLabelsStrings(); + } + + /** + * @return the z axis ticks labels + */ + public ArrayList<FormattedText> getZAxisTicksLabelsAsArrayList() { + return axes[2].getTicksLabels(); + } + + /** + * @param labels the z axis ticks labels to set + */ + public UpdateStatus setZAxisTicksLabels(String[] labels) { + return axes[2].setTicksLabelsStrings(labels); + } + + /** + * @param labels the z axis ticks labels to set + */ + public UpdateStatus setZAxisTicksLabelsAsArrayList(ArrayList<FormattedText> labels) { + return axes[2].setTicksLabels(labels); + } + + /** + * @return the z axis number of subticks + */ + public Integer getZAxisSubticks() { + return axes[2].getSubticks(); + } + + /** + * @param subticks the z axis number of subticks to set + */ + public UpdateStatus setZAxisSubticks(Integer subticks) { + return axes[2].setSubticks(subticks); + } + + /** + * @return the autosubticks + */ + public Boolean getAutoSubticks() { + return autoSubticks; + } + + /** + * @param autoSubticks the autosubticks to set + */ + public UpdateStatus setAutoSubticks(Boolean autoSubticks) { + if (this.autoSubticks != autoSubticks) { + this.autoSubticks = autoSubticks; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * Gets the ticks labels font style. + * It supposes all ticks labels within a single axis have the same font style value + * and that this value is the same for the 3 axes. + * To be corrected. + * @return the ticks labels font style + */ + public Integer getFontStyle() { + return axes[0].getFontStyle(); + } + + /** + * Sets the ticks labels font style. + * It supposes all ticks labels within a single axis have the same font style value + * and that this value is the same for the 3 axes. + * To be corrected. + * @param fontStyle the ticks labels font style to set + */ + public UpdateStatus setFontStyle(Integer fontStyle) { + UpdateStatus status = UpdateStatus.NoChange; + for (int i = 0; i < axes.length; i++) { + UpdateStatus s = axes[i].setFontStyle(fontStyle); + if (s == UpdateStatus.Success) { + status = UpdateStatus.Success; + } + } + + return status; + } + + /** + * Gets the ticks labels font size. + * It supposes all ticks labels within a single axis have the same font size value + * and that this value is the same for the 3 axes. + * To be corrected. + * @return the ticks labels font size + */ + public Double getFontSize() { + return axes[0].getFontSize(); + } + + /** + * Sets the ticks labels font size. + * It supposes all ticks labels within a single axis have the same font size value + * and that this value is the same for the 3 axes. + * To be corrected. + * @param fontSize the ticks labels font size to set + */ + public UpdateStatus setFontSize(Double fontSize) { + UpdateStatus status = UpdateStatus.NoChange; + for (int i = 0; i < axes.length; i++) { + UpdateStatus s = axes[i].setFontSize(fontSize); + if (s == UpdateStatus.Success) { + status = UpdateStatus.Success; + } + } + + return status; + } + + /** + * Gets the ticks labels font color. + * It supposes all ticks labels within a single axis have the same font color value + * and that this value is the same for the 3 axes. + * To be corrected. + * @return the ticks labels font color + */ + public Integer getFontColor() { + return axes[0].getFontColor(); + } + + /** + * Sets the ticks labels font color. + * It supposes all ticks labels within a single axis have the same font color value + * and that this value is the same for the 3 axes. + * To be corrected. + * @param fontColor the ticks labels font color to set + */ + public UpdateStatus setFontColor(Integer fontColor) { + UpdateStatus status = UpdateStatus.NoChange; + for (int i = 0; i < axes.length; i++) { + UpdateStatus s = axes[i].setFontColor(fontColor); + if (s == UpdateStatus.Success) { + status = UpdateStatus.Success; + } + } + + return status; + } + + /** + * Gets the ticks labels font fractional. + * It supposes all ticks labels within a single axis have the same font fractional value + * and that this value is the same for the 3 axes. + * To be corrected. + * @return the ticks labels font fractional + */ + public Boolean getFontFractional() { + return axes[0].getFontFractional(); + } + + /** + * Sets the ticks labels font fractional. + * It supposes all ticks labels within a single axis have the same font fractional value + * and that this value is the same for the 3 axes. + * To be corrected. + * @param fontFractional the ticks labels font fractional to set + */ + public UpdateStatus setFontFractional(Boolean fontFractional) { + UpdateStatus status = UpdateStatus.NoChange; + for (int i = 0; i < axes.length; i++) { + UpdateStatus s = axes[i].setFontFractional(fontFractional); + if (s == UpdateStatus.Success) { + status = UpdateStatus.Success; + } + } + + return status; + } + + /** + * @return the axesBounds + */ + public Double[] getAxesBounds() { + Double[] retAxesBounds = new Double[4]; + + retAxesBounds[0] = axesBounds[0]; + retAxesBounds[1] = axesBounds[1]; + retAxesBounds[2] = axesBounds[2]; + retAxesBounds[3] = axesBounds[3]; + + return retAxesBounds; + } + + /** + * @param axesBounds the axesBounds to set + */ + public UpdateStatus setAxesBounds(Double[] axesBounds) { + if (this.axesBounds[0] != axesBounds[0] || this.axesBounds[1] != axesBounds[1] + || this.axesBounds[2] != axesBounds[2] || this.axesBounds[3] != axesBounds[3]) { + this.axesBounds[0] = axesBounds[0]; + this.axesBounds[1] = axesBounds[1]; + this.axesBounds[2] = axesBounds[2]; + this.axesBounds[3] = axesBounds[3]; + + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the hiddenColor + */ + public Integer getHiddenColor() { + return hiddenColor; + } + + /** + * @param hiddenColor the hiddenColor to set + */ + public UpdateStatus setHiddenColor(Integer hiddenColor) { + if (this.hiddenColor != hiddenColor) { + this.hiddenColor = hiddenColor; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * Returns the line property + * @return the line property + */ + public Line getLine() { + return line; + } + + /** + * @return the line mode + */ + public Boolean getLineMode() { + return line.getMode(); + } + + /** + * @param lineMode the line mode to set + */ + public UpdateStatus setLineMode(Boolean lineMode) { + return line.setMode(lineMode); + } + + /** + * @return the line style + */ + public Integer getLineStyle() { + return line.getLineStyle().asScilabIndex(); + } + + /** + * @param lineStyle the line style to set + */ + public UpdateStatus setLineStyle(Integer lineStyle) { + return line.setLineStyle(LineType.fromScilabIndex(lineStyle)); + } + + /** + * @return the line thickness + */ + public Double getLineThickness() { + return line.getThickness(); + } + + /** + * @param lineThickness the line thickness to set + */ + public UpdateStatus setLineThickness(Double lineThickness) { + return line.setThickness(lineThickness); + } + + /** + * @return the line color + */ + public Integer getLineColor() { + return line.getColor(); + } + + /** + * @param lineColor the lineColor to set + */ + public UpdateStatus setLineColor(Integer lineColor) { + return line.setColor(lineColor); + } + + /** + * @return the mark mode + */ + public Boolean getMarkMode() { + return mark.getMode(); + } + + /** + * @param markMode the mark mode to set + */ + public UpdateStatus setMarkMode(Boolean markMode) { + return mark.setMode(markMode); + } + + /** + * @return the mark style + */ + public Integer getMarkStyle() { + return mark.getStyle(); + } + + /** + * @param markStyle the mark style to set + */ + public UpdateStatus setMarkStyle(Integer markStyle) { + return mark.setStyle(markStyle); + } + + /** + * @return the mark size + */ + public Integer getMarkSize() { + return mark.getSize(); + } + + /** + * @param markSize the mark size to set + */ + public UpdateStatus setMarkSize(Integer markSize) { + return mark.setSize(markSize); + } + + /** + * @return the mark size unit + */ + public Integer getMarkSizeUnit() { + return mark.getMarkSizeUnit().ordinal(); + } + + /** + * @param markSizeUnit the mark size unit to set + */ + public UpdateStatus setMarkSizeUnit(Integer markSizeUnit) { + return mark.setMarkSizeUnit(MarkSizeUnitType.intToEnum(markSizeUnit)); + } + + /** + * @return the mark foreground + */ + public Integer getMarkForeground() { + return mark.getForeground(); + } + + /** + * @param markForeground the mark foreground to set + */ + public UpdateStatus setMarkForeground(Integer markForeground) { + return mark.setForeground(markForeground); + } + + /** + * @return the mark background + */ + public Integer getMarkBackground() { + return mark.getBackground(); + } + + /** + * @param markBackground the mark background to set + */ + public UpdateStatus setMarkBackground(Integer markBackground) { + return mark.setBackground(markBackground); + } + + /** + * @return the clip state + */ + public Integer getClipState() { + return clipProperty.getClipState().ordinal(); + } + + /** + * @param clipState the clip state to set + */ + public UpdateStatus setClipState(Integer clipState) { + return clipProperty.setClipState(ClipStateType.intToEnum(clipState)); + } + + /** + * @return the clip box + */ + public Double[] getClipBox() { + return clipProperty.getClipBox(); + } + + /** + * @param clipBox the clip box to set + */ + public UpdateStatus setClipBox(Double[] clipBox) { + return clipProperty.setClipBox(clipBox); + } + + /** + * @return the clip box set + */ + public Boolean getClipBoxSet() { + return clipProperty.getClipBoxSet(); + } + + /** + * @param clipBoxSet the clip box set to set + */ + public UpdateStatus setClipBoxSet(Boolean clipBoxSet) { + return clipProperty.setClipBoxSet(clipBoxSet); + } + + /** + * @return the arcDrawingMethod + */ + public Integer getArcDrawingMethod() { + return arcDrawingMethod.ordinal(); + } + + /** + * @param arcDrawingMethod the arcDrawingMethod to set + */ + public UpdateStatus setArcDrawingMethod(Integer arcDrawingMethod) { + ArcDrawingMethod mode = ArcDrawingMethod.intToEnum(arcDrawingMethod); + if (this.arcDrawingMethod != mode) { + this.arcDrawingMethod = mode; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the box + */ + public Box getBox() { + return box; + } + + /** + * @param box the box to set + */ + public UpdateStatus setBox(Box box) { + this.box = box; + + return UpdateStatus.Success; + } + + /** + * @return the box type + */ + public Integer getBoxType() { + return getBoxTypeAsEnum().ordinal(); + } + + /** + * @return the box type + */ + public BoxType getBoxTypeAsEnum() { + return box.getBox(); + } + + /** + * @param box the BoxType to set + */ + public UpdateStatus setBoxType(Integer box) { + return setBoxTypeAsEnum(BoxType.intToEnum(box)); + } + + /** + * @param box the BoxType to set + */ + public UpdateStatus setBoxTypeAsEnum(BoxType box) { + return this.box.setBox(box); + } + + /** + * @return the hidden axis color + */ + public Integer getHiddenAxisColor() { + return box.getHiddenAxisColor(); + } + + /** + * @param color the hidden axis color to set + */ + public UpdateStatus setHiddenAxisColor(Integer color) { + return box.setHiddenAxisColor(color); + } + + /** + * @return the X axis tight limits + */ + public Boolean getXTightLimits() { + return box.getXTightLimits(); + } + + /** + * @return the Y axis tight limits + */ + public Boolean getYTightLimits() { + return box.getYTightLimits(); + } + + /** + * @return the Z axis tight limits + */ + public Boolean getZTightLimits() { + return box.getZTightLimits(); + } + + /** + * @param tightLimits the tightLimits to set for X axis + */ + public UpdateStatus setXTightLimits(Boolean tightLimits) { + return box.setXTightLimits(tightLimits); + } + + /** + * @param tightLimits the tightLimits to set for Y axis + */ + public UpdateStatus setYTightLimits(Boolean tightLimits) { + return box.setYTightLimits(tightLimits); + } + + /** + * @param tightLimits the tightLimits to set for Z axis + */ + public UpdateStatus setZTightLimits(Boolean tightLimits) { + return box.setZTightLimits(tightLimits); + } + + /** + * @return the data bounds + */ + public Double[] getDataBounds() { + return box.getDataBounds(); + } + + /** + * @param dataBounds the data bounds to set + */ + public UpdateStatus setDataBounds(Double[] dataBounds) { + return box.setDataBounds(dataBounds); + } + + /** + * @return the real data bounds + */ + public Double[] getRealDataBounds() { + return box.getRealDataBounds(); + } + + /** + * @param realDataBounds the real data bounds to set + */ + public UpdateStatus setRealDataBounds(Double[] realDataBounds) { + return box.setRealDataBounds(realDataBounds); + } + + /** + * Get the scale and translate factors corresponding to the displayed bounds + * @return the factors as a multidimensional array 2x3 + */ + public double[][] getScaleTranslateFactors() { + // For an axe scale and translate factors are + // such that scale*min+translate=-1 and scale*max+translate=+1 + // With these factors, double data will be in interval [-1;1] + + Double[] bounds = getMaximalDisplayedBounds(); + double[][] f = new double[2][]; + + // scale factors + f[0] = new double[] {2 / (bounds[1] - bounds[0]), + 2 / (bounds[3] - bounds[2]), + 2 / (bounds[5] - bounds[4]) + }; + + // translate factors + f[1] = new double[] { -(bounds[1] + bounds[0]) / (bounds[1] - bounds[0]), -(bounds[3] + bounds[2]) / (bounds[3] - bounds[2]), -(bounds[5] + bounds[4]) / (bounds[5] - bounds[4])}; + + return f; + } + + public Double[] getCorrectedBounds() { + if (getZoomEnabled()) { + Double[] b = getCorrectZoomBox(); + double[][] factors = getScaleTranslateFactors(); + + b[0] = b[0] * factors[0][0] + factors[1][0]; + b[1] = b[1] * factors[0][0] + factors[1][0]; + b[2] = b[2] * factors[0][1] + factors[1][1]; + b[3] = b[3] * factors[0][1] + factors[1][1]; + b[4] = b[4] * factors[0][2] + factors[1][2]; + b[5] = b[5] * factors[0][2] + factors[1][2]; + + return b; + } else { + return new Double[] { -1., 1., -1., 1., -1., 1.}; + } + } + + /** + * Current displayed bounds getter. + * @return the current visible bounds of this axes. + */ + public Double[] getDisplayedBounds() { + if (getZoomEnabled()) { + return getCorrectZoomBox(); + } else { + return getMaximalDisplayedBounds(); + } + } + + /** + * Maximal possible displayed bounds getter. + * @return the maximal possible displayed bounds. + */ + public Double[] getMaximalDisplayedBounds() { + Double[] bounds = getDataBounds(); + boolean eq = bounds[0].doubleValue() == bounds[1].doubleValue(); + if (getXAxisLogFlag()) { + if (eq) { + bounds[0] = Math.log10(bounds[0]) - 1; + bounds[1] = bounds[0] + 2; + } else { + bounds[0] = Math.log10(bounds[0]); + bounds[1] = Math.log10(bounds[1]); + } + } else if (eq) { + // Avoid to have same bounds. + double inc = getIncrement(bounds[0]); + bounds[0] -= inc; + bounds[1] += inc; + } + + if (getXAxisLocationAsEnum() == AxisProperty.AxisLocation.ORIGIN) { + if (0 < bounds[0]) { + bounds[0] = 0.; + } else if (bounds[1] < 0) { + bounds[1] = 0.; + } + } + + eq = bounds[2].doubleValue() == bounds[3].doubleValue(); + if (getYAxisLogFlag()) { + if (eq) { + bounds[2] = Math.log10(bounds[2]) - 1; + bounds[3] = bounds[2] + 2; + } else { + bounds[2] = Math.log10(bounds[2]); + bounds[3] = Math.log10(bounds[3]); + } + } else if (eq) { + double inc = getIncrement(bounds[2]); + bounds[2] -= inc; + bounds[3] += inc; + } + + if (getYAxisLocationAsEnum() == AxisProperty.AxisLocation.ORIGIN) { + if (0 < bounds[2]) { + bounds[2] = 0.; + } else if (bounds[3] < 0) { + bounds[3] = 0.; + } + } + + eq = bounds[4].doubleValue() == bounds[5].doubleValue(); + if (getZAxisLogFlag()) { + if (eq) { + bounds[4] = Math.log10(bounds[4]) - 1; + bounds[5] = bounds[4] + 2; + } else { + bounds[4] = Math.log10(bounds[4]); + bounds[5] = Math.log10(bounds[5]); + } + } else if (eq) { + double inc = getIncrement(bounds[4]); + bounds[4] -= inc; + bounds[5] += inc; + } + + if (false && getZAxisLocationAsEnum() == AxisProperty.AxisLocation.ORIGIN) { + // We ignore this flag axis location since it cannot be set by the user (bug 13494) + if (0 < bounds[4]) { + bounds[4] = 0.; + } else if (bounds[5] < 0) { + bounds[5] = 0.; + } + } + + if (!getXTightLimits()) { + round(bounds, 0); + } + if (!getYTightLimits()) { + round(bounds, 2); + } + if (!getZTightLimits()) { + round(bounds, 4); + } + + return bounds; + } + + private final double getIncrement(final double x) { + final int exponent = (int) (((Double.doubleToLongBits(x) & 0x7FF0000000000000L) >> 52) - 1023); + + return Math.pow(2, Math.max(0, exponent - 52)); + } + + /** + * Round the bounds in the bounds array at the given index. + * bounds[i] and bounds[i + 1 ] are rounded to be in the value written + * k * b * 10^n + * where b is in {1, 2, 5} + * and b * 10 ^n the maximal value less than (bounds[i + 1] - bounds[i]) / BOUNDS_PARAMETER. + * @param bounds the bounds array. + * @param i the start index. + */ + private void round(Double[] bounds, int i) { + double delta = (bounds[i + 1] - bounds[i]) / BOUNDS_PARAMETER; + double powerOfTen = Math.pow(10, Math.floor(Math.log10(delta))); + double base = delta / powerOfTen; + + if (base < 2) { + base = 1; + } else if (base < 5) { + base = 2; + } else { + base = 5; + } + + double step = base * powerOfTen; + bounds[i] = step * Math.floor(bounds[i] / step); + bounds[i + 1] = step * Math.ceil(bounds[i + 1] / step); + } + + /** + * @return the zoomEnabled + */ + public Boolean getZoomEnabled() { + return box.getZoomEnabled(); + } + + /** + * @param zoomEnabled the zoomEnabled to set + */ + public UpdateStatus setZoomEnabled(Boolean zoomEnabled) { + return box.setZoomEnabled(zoomEnabled); + } + + /** + * @return the zoom box + */ + public Double[] getZoomBox() { + return box.getZoomBox(); + } + + public Double[] getCorrectZoomBox() { + Double[] b = getZoomBox(); + if (getXAxisLogFlag()) { + b[0] = Math.log10(b[0]); + b[1] = Math.log10(b[1]); + } + + if (getYAxisLogFlag()) { + b[2] = Math.log10(b[2]); + b[3] = Math.log10(b[3]); + } + + if (getZAxisLogFlag()) { + b[4] = Math.log10(b[4]); + b[5] = Math.log10(b[5]); + } + + return b; + } + + /** + * @param zoomBox the zoom box to set + */ + public UpdateStatus setZoomBox(Double[] zoomBox) { + return box.setZoomBox(zoomBox); + } + + /** + * @return the autoscale + */ + public Boolean getAutoScale() { + return box.getAutoScale(); + } + + /** + * @param autoScale the autoscale to set + */ + public UpdateStatus setAutoScale(Boolean autoScale) { + return box.setAutoScale(autoScale); + } + + /** + * @return the firstplot + */ + public Boolean getFirstPlot() { + return box.getFirstPlot(); + } + + /** + * @param firstPlot the firstplot to set + */ + public UpdateStatus setFirstPlot(Boolean firstPlot) { + return box.setFirstPlot(firstPlot); + } + + /** + * @return the camera + */ + public Camera getCamera() { + return camera; + } + + /** + * @param camera the camera to set + */ + public UpdateStatus setCamera(Camera camera) { + if (this.camera.equals(camera)) { + this.camera = camera; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the view type + */ + public Integer getView() { + return getViewAsEnum().ordinal(); + } + + /** + * @return the view type + */ + public ViewType getViewAsEnum() { + return camera.getView(); + } + + /** + * @param view the view type to set + */ + public UpdateStatus setView(Integer view) { + return setViewAsEnum(ViewType.intToEnum(view)); + } + + /** + * @param view the view type to set + */ + public UpdateStatus setViewAsEnum(ViewType view) { + return camera.setView(view); + } + + /** + * @return the isoview + */ + public Boolean getIsoview() { + return camera.getIsoview(); + } + + /** + * @param isoview the isoview to set + */ + public UpdateStatus setIsoview(Boolean isoview) { + return camera.setIsoview(isoview); + } + + /** + * @return the cubescaling + */ + public Boolean getCubeScaling() { + return camera.getCubeScaling(); + } + + /** + * @param cubeScaling the cubescaling to set + */ + public UpdateStatus setCubeScaling(Boolean cubeScaling) { + return camera.setCubeScaling(cubeScaling); + } + + /** + * @return the rotation angles + */ + public Double[] getRotationAngles() { + return camera.getRotationAngles(); + } + + /** + * @param rotationAngles the rotation angles to set + * @return the update status. + */ + public UpdateStatus setRotationAngles(Double[] rotationAngles) { + if (camera.setRotationAngles(rotationAngles)) { + try { + GraphicController controller = GraphicController.getController(); + Figure figure = (Figure) controller.getObjectFromId(getParentFigure()); + if (figure.getRotationAsEnum().equals(Figure.RotationType.MULTIPLE)) { + for (Integer child : figure.getChildren()) { + if (child != null) { + if (GraphicObjectProperties.__GO_AXES__ == ((Integer) controller.getProperty(child, GraphicObjectProperties.__GO_TYPE__))) { + controller.setProperty( + child, + GraphicObjectProperties.__GO_ROTATION_ANGLES__, + rotationAngles); + } + } + } + } + } catch (ClassCastException ignored) { + } + return UpdateStatus.Success; + } else { + return UpdateStatus.NoChange; + } + } + + /** + * @return the 3d rotation angles + */ + public Double[] getRotationAngles3d() { + return camera.getRotationAngles3d(); + } + + /** + * @param rotationAngles3d the 3d rotation angles to set + */ + public UpdateStatus setRotationAngles3d(Double[] rotationAngles3d) { + return camera.setRotationAngles3d(rotationAngles3d); + } + + /** + * @return the filled + */ + public Boolean getFilled() { + return filled; + } + + /** + * @param filled the filled to set + */ + public UpdateStatus setFilled(Boolean filled) { + if (this.filled != filled) { + this.filled = filled; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the background + */ + public Integer getBackground() { + return background; + } + + /** + * @param background the background to set + */ + public UpdateStatus setBackground(Integer background) { + if (this.background != background) { + this.background = background; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the gridPosition + */ + public Integer getGridPosition() { + return getGridPositionAsEnum().ordinal(); + } + + /** + * @return the gridPosition + */ + public GridPosition getGridPositionAsEnum() { + return gridPosition; + } + + /** + * @param gridPosition the gridPosition to set + */ + public UpdateStatus setGridPosition(Integer gridPosition) { + return setGridPositionAsEnum(GridPosition.intToEnum(gridPosition)); + } + + /** + * @param gridPosition the gridPosition to set + */ + public UpdateStatus setGridPositionAsEnum(GridPosition gridPosition) { + if (this.gridPosition != gridPosition) { + this.gridPosition = gridPosition; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the margins + */ + public Double[] getMargins() { + Double[] retMargins = new Double[4]; + + retMargins[0] = margins[0]; + retMargins[1] = margins[1]; + retMargins[2] = margins[2]; + retMargins[3] = margins[3]; + + return retMargins; + } + + /** + * @param margins the margins to set + */ + public UpdateStatus setMargins(Double[] margins) { + if (this.margins[0] != margins[0] || this.margins[1] != margins[1] || this.margins[2] != margins[2] || this.margins[3] != margins[3]) { + this.margins[0] = margins[0]; + this.margins[1] = margins[1]; + this.margins[2] = margins[2]; + this.margins[3] = margins[3]; + + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the margins + */ + public Boolean getAutoMargins() { + return new Boolean(auto_margins); + } + + /** + * @param margins the margins to set + */ + public UpdateStatus setAutoMargins(Boolean auto_margins) { + if (this.auto_margins != auto_margins) { + this.auto_margins = auto_margins; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the title UID + */ + public Integer getTitle() { + return title; + } + + /** + * @param title the title to set + */ + public UpdateStatus setTitle(Integer title) { + if (this.title != title) { + this.title = title; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + public Integer getType() { + return GraphicObjectProperties.__GO_AXES__; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/AxesContainer.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/AxesContainer.java new file mode 100755 index 000000000..9e9cf9a3b --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/AxesContainer.java @@ -0,0 +1,30 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2014 - Scilab enterprises - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.axes; + +import org.scilab.modules.graphic_objects.figure.ColorMap; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; + +public interface AxesContainer { + + public Integer getIdentifier(); + public void accept(Visitor visitor); + public Integer getAntialiasing(); + public Integer[] getAxesSize(); + public Integer[] getChildren(); + + public Integer getBackground(); + public ColorMap getColorMap(); + public Integer getParentFigure(); + public Boolean getVisible(); +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/AxisProperty.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/AxisProperty.java new file mode 100755 index 000000000..184c56d11 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/AxisProperty.java @@ -0,0 +1,566 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.axes; + +import org.scilab.modules.graphic_objects.contouredObject.Line; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; +import org.scilab.modules.graphic_objects.textObject.FormattedText; + +import java.util.ArrayList; + + +/** + * Axis property class + * @author Manuel JULIACHS + */ +public class AxisProperty { + /** + * AxisProperty properties names + */ + public enum AxisPropertyProperty { VISIBLE, REVERSE, GRIDCOLOR, GRIDTHICKNESS, GRIDSTYLE, LABEL, AXISLOCATION, + LOGFLAG, UNKNOWNPROPERTY + } + + /** + * Axis location type + * BOTTOM, TOP, MIDDLE, ORIGIN are allowed for an x-axis, + * LEFT, RIGHT, MIDDLE or ORIGIN are allowed for a y-axis + */ + public static enum AxisLocation { BOTTOM, TOP, MIDDLE, ORIGIN, LEFT, RIGHT; + + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the axis location enum + */ + public static AxisLocation intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return AxisLocation.BOTTOM; + case 1: + return AxisLocation.TOP; + case 2: + return AxisLocation.MIDDLE; + case 3: + return AxisLocation.ORIGIN; + case 4: + return AxisLocation.LEFT; + case 5: + return AxisLocation.RIGHT; + default: + return null; + } + } + } + + /** Specifies whether the axis is visible or not */ + private boolean visible; + + /** Specifies whether the axis is reversed or not */ + private boolean reverse; + + /** Grid color */ + private int gridColor; + + /** Grid thickness */ + private double gridThickness; + + /** Grid style */ + private Line.LineType gridStyle; + + /** Axis label UID */ + private Integer label; + + /** Axis location */ + private AxisLocation axisLocation; + + /** Specifies whether logarithmic coordinates are used or not */ + private boolean logFlag; + + /** Ticks property */ + private TicksProperty ticks; + + /** Constructor */ + public AxisProperty() { + visible = false; + reverse = false; + gridColor = 0; + gridThickness = -1; + gridStyle = Line.LineType.DASH_DOT; + + /* Sets the label to the null object */ + label = 0; + + axisLocation = AxisLocation.ORIGIN; + ticks = new TicksProperty(); + logFlag = false; + } + + /** + * Copy constructor + * @param axisProperty the AxisProperty to copy + */ + public AxisProperty(AxisProperty axisProperty) { + visible = axisProperty.visible; + reverse = axisProperty.reverse; + gridColor = axisProperty.gridColor; + gridThickness = axisProperty.gridThickness; + gridStyle = axisProperty.gridStyle; + + label = 0; + + axisLocation = axisProperty.axisLocation; + ticks = new TicksProperty(axisProperty.ticks); + logFlag = axisProperty.logFlag; + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(String propertyName) { + if (propertyName.equals("Visible")) { + return AxisPropertyProperty.VISIBLE; + } else if (propertyName.equals("Reverse")) { + return AxisPropertyProperty.REVERSE; + } else if (propertyName.equals("GridColor")) { + return AxisPropertyProperty.GRIDCOLOR; + } else if (propertyName.equals("GridThickness")) { + return AxisPropertyProperty.GRIDTHICKNESS; + } else if (propertyName.equals("GridStyle")) { + return AxisPropertyProperty.GRIDSTYLE; + } else if (propertyName.equals("Label")) { + return AxisPropertyProperty.LABEL; + } else if (propertyName.equals("AxisLocation")) { + return AxisPropertyProperty.AXISLOCATION; + } else if (propertyName.equals("LogFlag")) { + return AxisPropertyProperty.LOGFLAG; + } else { + return AxisPropertyProperty.UNKNOWNPROPERTY; + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == AxisPropertyProperty.VISIBLE) { + return getVisible(); + } else if (property == AxisPropertyProperty.REVERSE) { + return getReverse(); + } else if (property == AxisPropertyProperty.GRIDCOLOR) { + return getGridColor(); + } else if (property == AxisPropertyProperty.GRIDTHICKNESS) { + return getGridThickness(); + } else if (property == AxisPropertyProperty.GRIDSTYLE) { + return getGridStyle(); + } else if (property == AxisPropertyProperty.LABEL) { + return getLabel(); + } else if (property == AxisPropertyProperty.AXISLOCATION) { + return getAxisLocation(); + } else if (property == AxisPropertyProperty.LOGFLAG) { + return getLogFlag(); + } else { + return null; + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public boolean setProperty(Object property, Object value) { + if (property == AxisPropertyProperty.VISIBLE) { + setVisible((Boolean) value); + } else if (property == AxisPropertyProperty.REVERSE) { + setReverse((Boolean) value); + } else if (property == AxisPropertyProperty.GRIDCOLOR) { + setGridColor((Integer) value); + } else if (property == AxisPropertyProperty.GRIDTHICKNESS) { + setGridThickness((Double) value); + } else if (property == AxisPropertyProperty.GRIDSTYLE) { + setGridStyle((Integer) value); + } else if (property == AxisPropertyProperty.LABEL) { + setLabel((Integer) value); + } else if (property == AxisPropertyProperty.AXISLOCATION) { + setAxisLocation((AxisLocation) value); + } else if (property == AxisPropertyProperty.LOGFLAG) { + setLogFlag((Boolean) value); + } + + return true; + } + + /** + * @return the axisLocation + */ + public AxisLocation getAxisLocationAsEnum() { + return axisLocation; + } + + /** + * @return the axisLocation + */ + public AxisLocation getAxisLocation() { + return axisLocation; + } + + /** + * @param axisLocation the axisLocation to set + */ + public UpdateStatus setAxisLocation(AxisLocation axisLocation) { + if (this.axisLocation != axisLocation) { + this.axisLocation = axisLocation; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the gridColor + */ + public Integer getGridColor() { + return gridColor; + } + + /** + * @param gridColor the gridColor to set + */ + public UpdateStatus setGridColor(Integer gridColor) { + if (this.gridColor != gridColor) { + this.gridColor = gridColor; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the gridThickness + */ + public Double getGridThickness() { + return gridThickness; + } + + /** + * @param gridThickness the gridThickness to set + */ + public UpdateStatus setGridThickness(Double gridThickness) { + if (this.gridThickness != gridThickness) { + this.gridThickness = gridThickness; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the gridStyle + */ + public Integer getGridStyle() { + return gridStyle.asScilabIndex(); + } + + /** + * @param gridStyle the gridStyle to set + */ + public UpdateStatus setGridStyle(Integer gridStyle) { + Line.LineType type = Line.LineType.fromScilabIndex(gridStyle); + if (this.gridStyle != type) { + this.gridStyle = type; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the label + */ + public Integer getLabel() { + return label; + } + + /** + * @param label the label to set + */ + public UpdateStatus setLabel(Integer label) { + if (this.label != label) { + this.label = label == null ? 0 : label; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the logFlag + */ + public Boolean getLogFlag() { + return logFlag; + } + + /** + * @param logFlag the logFlag to set + */ + public UpdateStatus setLogFlag(Boolean logFlag) { + if (this.logFlag != logFlag) { + this.logFlag = logFlag; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the reverse + */ + public Boolean getReverse() { + return reverse; + } + + /** + * @param reverse the reverse to set + */ + public UpdateStatus setReverse(Boolean reverse) { + if (this.reverse != reverse) { + this.reverse = reverse; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the ticks + */ + public TicksProperty getTicks() { + return ticks; + } + + /** + * @param ticks the ticks to set + */ + public UpdateStatus setTicks(TicksProperty ticks) { + if (!this.ticks.equals(ticks)) { + this.ticks = ticks; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the visible + */ + public Boolean getVisible() { + return visible; + } + + /** + * @param visible the visible to set + */ + public UpdateStatus setVisible(Boolean visible) { + if (this.visible != visible) { + this.visible = visible; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the autoticks + */ + public Boolean getAutoTicks() { + return ticks.getAuto(); + } + + /** + * @param autoticks the autoticks to set + */ + public UpdateStatus setAutoTicks(Boolean autoticks) { + return ticks.setAuto(autoticks); + } + + /** + * @return the number of ticks + */ + public Integer getNumberOfTicks() { + return ticks.getNumber(); + } + + /** + * @return the ticks locations + */ + public Double[] getTicksLocations() { + return ticks.getLocations(); + } + + /** + * @param ticksLocations the ticks locations to set + */ + public UpdateStatus setTicksLocations(Double[] ticksLocations) { + return ticks.setLocations(ticksLocations); + } + + /** + * @return the ticks labels + */ + public ArrayList<FormattedText> getTicksLabels() { + return ticks.getLabels(); + } + + /** + * @param labels the labels to set + */ + public UpdateStatus setTicksLabels(ArrayList<FormattedText> labels) { + return ticks.setLabels(labels); + } + + /** + * @return the ticks labels + */ + public String[] getTicksLabelsStrings() { + return ticks.getLabelsStrings(); + } + + /** + * @param labels the labels strings to set + */ + public UpdateStatus setTicksLabelsStrings(String[] labels) { + return ticks.setLabelsStrings(labels); + } + + /** + * @return the number of subticks + */ + public Integer getSubticks() { + return ticks.getSubticks(); + } + + /** + * @param subticks the number of subticks to set + */ + public UpdateStatus setSubticks(Integer subticks) { + return ticks.setSubticks(subticks); + } + + /** + * Supposes all ticks labels have the same font style. + * To be corrected. + * @return the ticks labels font style + */ + public Integer getFontStyle() { + return ticks.getFontStyle(); + } + + /** + * Supposes all ticks labels have the same font style. + * To be corrected. + * @param fontStyle the ticks labels font style to set + */ + public UpdateStatus setFontStyle(Integer fontStyle) { + return ticks.setFontStyle(fontStyle); + } + + /** + * Supposes all ticks labels have the same font size. + * To be corrected. + * @return the ticks labels font size + */ + public Double getFontSize() { + return ticks.getFontSize(); + } + + /** + * Supposes all ticks labels have the same font size. + * To be corrected. + * @param fontSize the ticks labels font size to set + */ + public UpdateStatus setFontSize(Double fontSize) { + return ticks.setFontSize(fontSize); + } + + /** + * @return the ticks labels format + */ + public String getFormat() { + return ticks.getFormat(); + } + + /** + * @param format the ticks labels format set + */ + public UpdateStatus setFormat(String format) { + return ticks.setFormat(format); + } + + /** + * @return the ticks labels scale-translate factors + */ + public Double[] getSTFactors() { + return ticks.getSTFactors(); + } + + /** + * @param factors the ticks labels scale-translate factors + */ + public UpdateStatus setSTFactors(Double[] factors) { + return ticks.setSTFactors(factors); + } + + /** + * Supposes all ticks labels have the same font color. + * To be corrected. + * @return the ticks labels font color + */ + public Integer getFontColor() { + return ticks.getFontColor(); + } + + /** + * Supposes all ticks labels have the same font color. + * To be corrected. + * @param fontColor the ticks labels font color to set + */ + public UpdateStatus setFontColor(Integer fontColor) { + return ticks.setFontColor(fontColor); + } + + /** + * Supposes all ticks labels have the same font fractional. + * To be corrected. + * @return the ticks labels font fractional + */ + public Boolean getFontFractional() { + return ticks.getFontFractional(); + } + + /** + * Supposes all ticks labels have the same font fractional. + * To be corrected. + * @param fontFractional the ticks labels font fractional to set + */ + public UpdateStatus setFontFractional(Boolean fontFractional) { + return ticks.setFontFractional(fontFractional); + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/Box.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/Box.java new file mode 100755 index 000000000..9cbf389e1 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/Box.java @@ -0,0 +1,370 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.axes; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * Box class + * @author Manuel JULIACHS + */ +public class Box { + /** Box properties names */ + public enum BoxProperty { BOX, HIDDENAXISCOLOR, XTIGHTLIMITS, YTIGHTLIMITS, ZTIGHTLIMITS, DATABOUNDS, REALDATABOUNDS, ZOOMENABLED, ZOOMBOX, AUTOSCALE, FIRSTPLOT }; + + /** Box type */ + public static enum BoxType { OFF, ON, HIDDEN_AXES, BACK_HALF; + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the box type enum + */ + public static BoxType intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return BoxType.OFF; + case 1: + return BoxType.ON; + case 2: + return BoxType.HIDDEN_AXES; + case 3: + return BoxType.BACK_HALF; + default: + return null; + } + } + } + + /** Box type */ + private BoxType box; + + /** Hidden axis color */ + private int hiddenAxisColor; + + /** Specifies whether tight limits are enforced or not */ + private boolean[] tightLimits; + + /** Data bounding box (6-element array) */ + private double[] dataBounds; + + /** Data bounding box, as modified by automatic ticks computation (6-element array) */ + private double[] realDataBounds; + + /** Speficies whether zooming is enabled or not */ + private boolean zoomEnabled; + + /** Magnified 3D sub-region (6-element array) */ + private double[] zoomBox; + + /** Indicates whether data bounds are updated when a new plot command is executed */ + private boolean autoScale; + + /** + * Indicates whether no high-level drawing function has yet been called (true) or + * has been called at least once (false) + */ + private boolean firstPlot; + + /** Constructor */ + public Box() { + box = BoxType.OFF; + hiddenAxisColor = 0; + tightLimits = new boolean[] {false, false, false}; + dataBounds = new double[] {0, 1, 0, 1, -1, 1}; + realDataBounds = new double[6]; + zoomEnabled = false; + zoomBox = new double[6]; + autoScale = false; + firstPlot = true; + } + + /** + * Copy constructor + * @param box the Box to copy + */ + public Box(Box box) { + this.box = box.box; + hiddenAxisColor = box.hiddenAxisColor; + + tightLimits = new boolean[3]; + for (int i = 0; i < tightLimits.length; i++) { + tightLimits[i] = box.tightLimits[i]; + } + + dataBounds = new double[6]; + + for (int i = 0; i < dataBounds.length; i++) { + dataBounds[i] = box.dataBounds[i]; + } + + realDataBounds = new double[6]; + + for (int i = 0; i < realDataBounds.length; i++) { + realDataBounds[i] = box.realDataBounds[i]; + } + + zoomEnabled = box.zoomEnabled; + + zoomBox = new double[6]; + + for (int i = 0; i < zoomBox.length; i++) { + zoomBox[i] = box.zoomBox[i]; + } + + autoScale = box.autoScale; + firstPlot = box.firstPlot; + } + + /** + * @return the autoScale + */ + public Boolean getAutoScale() { + return autoScale; + } + + /** + * @param autoScale the autoScale to set + */ + public UpdateStatus setAutoScale(Boolean autoScale) { + if (this.autoScale != autoScale) { + this.autoScale = autoScale; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the box + */ + public BoxType getBox() { + return box; + } + + /** + * @param box the box to set + */ + public UpdateStatus setBox(BoxType box) { + if (this.box != box) { + this.box = box; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * Return the data bounds. + * The array contain : {xMin, xMax, yMin, yMax, zMin, zMax} + * @return the dataBounds + */ + public Double[] getDataBounds() { + Double[] retDataBounds = new Double[6]; + + for (int i = 0; i < retDataBounds.length; i++) { + retDataBounds[i] = dataBounds[i]; + } + + return retDataBounds; + } + + /** + * @param dataBounds the dataBounds to set + */ + public UpdateStatus setDataBounds(Double[] dataBounds) { + UpdateStatus status = UpdateStatus.NoChange; + final int len = Math.min(this.dataBounds.length, dataBounds.length); + for (int i = 0; i < len; i++) { + if (this.dataBounds[i] != dataBounds[i]) { + this.dataBounds[i] = dataBounds[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + /** + * @return the hiddenAxisColor + */ + public Integer getHiddenAxisColor() { + return hiddenAxisColor; + } + + /** + * @param hiddenAxisColor the hiddenAxisColor to set + */ + public UpdateStatus setHiddenAxisColor(Integer hiddenAxisColor) { + if (this.hiddenAxisColor != hiddenAxisColor) { + this.hiddenAxisColor = hiddenAxisColor; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the realDataBounds + */ + public Double[] getRealDataBounds() { + Double[] retRealDataBounds = new Double[6]; + + for (int i = 0; i < retRealDataBounds.length; i++) { + retRealDataBounds[i] = realDataBounds[i]; + } + + return retRealDataBounds; + } + + /** + * @param realDataBounds the realDataBounds to set + */ + public UpdateStatus setRealDataBounds(Double[] realDataBounds) { + UpdateStatus status = UpdateStatus.NoChange; + final int len = Math.min(this.realDataBounds.length, realDataBounds.length); + for (int i = 0; i < len; i++) { + if (this.realDataBounds[i] != realDataBounds[i]) { + this.realDataBounds[i] = realDataBounds[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + /** + * @return the tightLimits for X axis + */ + public Boolean getXTightLimits() { + return tightLimits[0]; + } + + /** + * @return the tightLimits for Y axis + */ + public Boolean getYTightLimits() { + return tightLimits[1]; + } + + /** + * @return the tightLimits for X axis + */ + public Boolean getZTightLimits() { + return tightLimits[2]; + } + + /** + * @param tightLimits the tightLimits to set for X axis + */ + public UpdateStatus setXTightLimits(Boolean tightLimits) { + if (this.tightLimits[0] != tightLimits) { + this.tightLimits[0] = tightLimits; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @param tightLimits the tightLimits to set for Y axis + */ + public UpdateStatus setYTightLimits(Boolean tightLimits) { + if (this.tightLimits[1] != tightLimits) { + this.tightLimits[1] = tightLimits; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @param tightLimits the tightLimits to set for Z axis + */ + public UpdateStatus setZTightLimits(Boolean tightLimits) { + if (this.tightLimits[2] != tightLimits) { + this.tightLimits[2] = tightLimits; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the zoomEnabled + */ + public Boolean getZoomEnabled() { + return zoomEnabled; + } + + /** + * @param zoomEnabled the zoomEnabled to set + */ + public UpdateStatus setZoomEnabled(Boolean zoomEnabled) { + if (this.zoomEnabled != zoomEnabled) { + this.zoomEnabled = zoomEnabled; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the zoomBox + */ + public Double[] getZoomBox() { + Double[] retZoomBox = new Double[6]; + + for (int i = 0; i < retZoomBox.length; i++) { + retZoomBox[i] = zoomBox[i]; + } + + return retZoomBox; + } + + /** + * @param zoomBox the zoomBox to set + */ + public UpdateStatus setZoomBox(Double[] zoomBox) { + UpdateStatus status = UpdateStatus.NoChange; + final int len = Math.min(this.zoomBox.length, zoomBox.length); + for (int i = 0; i < len; i++) { + if (this.zoomBox[i] != zoomBox[i]) { + this.zoomBox[i] = zoomBox[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + /** + * @return the firstPlot + */ + public Boolean getFirstPlot() { + return firstPlot; + } + + /** + * @param firstPlot the firstPlot to set + */ + public UpdateStatus setFirstPlot(Boolean firstPlot) { + if (this.firstPlot != firstPlot) { + this.firstPlot = firstPlot; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/Camera.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/Camera.java new file mode 100755 index 000000000..163beaec1 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/Camera.java @@ -0,0 +1,229 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.axes; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * Camera class + * @author Manuel JULIACHS + */ +public class Camera { + /** Default rotation angles */ + public static final double[] DEFAULT_ROTATION_ANGLES = {0.0, 270.0}; + + /** Camera properties names */ + public enum CameraProperty { VIEW, ISOVIEW, CUBESCALING, ROTATIONANGLES, ROTATIONANGLES3D }; + + /** View type */ + public enum ViewType { VIEW_2D, VIEW_3D; + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the view type type enum + */ + public static ViewType intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return ViewType.VIEW_2D; + case 1: + return ViewType.VIEW_3D; + default: + return null; + } + } + } + + /** Specifies whether the projection must be performed for a 2D or a 3D scene */ + private ViewType view; + + /** Specifies whether an isoview transformation must be applied or not */ + private boolean isoview; + + /** Specifies whether a unit cube transformation must be performed */ + private boolean cubeScaling; + + /** 2-element array (alpha and theta rotation angles) */ + private double[] rotationAngles; + + /** + * Last know values of the rotation angles when View was equal to VIEW_3D + * 2-element array (alpha and theta) + */ + private double[] rotationAngles3d; + + /** Constructor */ + public Camera() { + view = ViewType.VIEW_2D; + isoview = false; + cubeScaling = false; + rotationAngles = new double[2]; + rotationAngles3d = new double[2]; + } + + /** + * Copy constructor + * @param camera the Camera to copy + */ + public Camera(Camera camera) { + view = camera.view; + isoview = camera.isoview; + cubeScaling = camera.cubeScaling; + + rotationAngles = new double[2]; + + rotationAngles[0] = camera.rotationAngles[0]; + rotationAngles[1] = camera.rotationAngles[1]; + + rotationAngles3d = new double[2]; + + rotationAngles3d[0] = camera.rotationAngles3d[0]; + rotationAngles3d[1] = camera.rotationAngles3d[1]; + } + + @Override + public boolean equals(Object o) { + if (o instanceof Camera) { + Camera c = (Camera) o; + return view == c.view && isoview == c.isoview && cubeScaling == c.cubeScaling && rotationAngles[0] == c.rotationAngles[0] && rotationAngles[1] == c.rotationAngles[1] && rotationAngles3d[0] == c.rotationAngles3d[0] && rotationAngles3d[1] == c.rotationAngles3d[1]; + } + + return false; + } + + /** + * @return the cubeScaling + */ + public Boolean getCubeScaling() { + return cubeScaling; + } + + /** + * @param cubeScaling the cubeScaling to set + */ + public UpdateStatus setCubeScaling(Boolean cubeScaling) { + if (this.cubeScaling != cubeScaling) { + this.cubeScaling = cubeScaling; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the isoview + */ + public Boolean getIsoview() { + return isoview; + } + + /** + * @param isoview the isoview to set + */ + public UpdateStatus setIsoview(Boolean isoview) { + if (this.isoview != isoview) { + this.isoview = isoview; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the rotationAngles in degree + */ + public Double[] getRotationAngles() { + Double [] retRotationAngles = new Double[2]; + + retRotationAngles[0] = rotationAngles[0]; + retRotationAngles[1] = rotationAngles[1]; + + return retRotationAngles; + } + + /** + * @param rotationAngles the rotationAngles to set + * @return true if the rotation angles have changed. + */ + public boolean setRotationAngles(Double[] rotationAngles) { + if ((this.rotationAngles[0] != rotationAngles[0]) || (this.rotationAngles[1] != rotationAngles[1])) { + if (rotationAngles[0] == DEFAULT_ROTATION_ANGLES[0] && rotationAngles[1] == DEFAULT_ROTATION_ANGLES[1]) { + view = ViewType.VIEW_2D; + } else if (view == ViewType.VIEW_2D) { + view = ViewType.VIEW_3D; + } + + this.rotationAngles[0] = rotationAngles[0]; + this.rotationAngles[1] = rotationAngles[1]; + return true; + } else { + return false; + } + } + + /** + * @return the 3d rotationAngles + */ + public Double[] getRotationAngles3d() { + Double [] retRotationAngles3d = new Double[2]; + + retRotationAngles3d[0] = rotationAngles3d[0]; + retRotationAngles3d[1] = rotationAngles3d[1]; + + return retRotationAngles3d; + } + + /** + * @param rotationAngles3d the 3d rotationAngles to set + */ + public UpdateStatus setRotationAngles3d(Double[] rotationAngles3d) { + if (this.rotationAngles3d[0] != rotationAngles3d[0] || this.rotationAngles3d[1] != rotationAngles3d[1]) { + this.rotationAngles3d[0] = rotationAngles3d[0]; + this.rotationAngles3d[1] = rotationAngles3d[1]; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the view + */ + public ViewType getView() { + return view; + } + + /** + * @param view the view to set + */ + public UpdateStatus setView(ViewType view) { + if (this.view != view) { + if (view == ViewType.VIEW_2D) { + rotationAngles3d[0] = rotationAngles[0]; + rotationAngles3d[1] = rotationAngles[1]; + + rotationAngles[0] = DEFAULT_ROTATION_ANGLES[0]; + rotationAngles[1] = DEFAULT_ROTATION_ANGLES[1]; + } else if (view == ViewType.VIEW_3D && this.view == ViewType.VIEW_2D) { + rotationAngles[0] = rotationAngles3d[0]; + rotationAngles[1] = rotationAngles3d[1]; + } + this.view = view; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/TicksProperty.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/TicksProperty.java new file mode 100755 index 000000000..326c23493 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axes/TicksProperty.java @@ -0,0 +1,742 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.axes; + +import java.util.ArrayList; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; +import org.scilab.modules.graphic_objects.textObject.Font; +import org.scilab.modules.graphic_objects.textObject.FormattedText; + +/** + * TicksProperty class + * @author Manuel JULIACHS + */ +public class TicksProperty { + /** TicksProperty properties names */ + public enum TicksPropertyProperty { AUTO, LOCATIONS, LABELS, + FONT_SIZE, FONT_STYLE, FONT_COLOR, SUBTICKS + }; + + /** Default number of ticks */ + private static final int DEFAULT_NUMBER_OF_TICKS = 11; + + /** Specifies whether ticks are automatically computed or not */ + private boolean auto; + + /** Number of subticks between two main ticks */ + private int subticks; + + /** Default font */ + private Font defaultFont; + + private String format = ""; + private Double[] st_factors = new Double[] {1., 0.}; + + /** TicksArrays class */ + private class TicksArrays { + /** Ticks locations */ + private double[] locations; + + /** Ticks labels */ + private ArrayList <FormattedText> labels; + + /** Number of ticks */ + private int number; + + /** + * Constructor + */ + public TicksArrays(int number) { + locations = new double[number]; + labels = new ArrayList<FormattedText>(number); + + for (int i = 0; i < number; i++) { + labels.add(i, new FormattedText()); + } + + this.number = number; + } + + @Override + public boolean equals(Object o) { + if (o instanceof TicksArrays) { + TicksArrays ta = (TicksArrays) o; + if (ta.number == number) { + for (int i = 0; i < number; i++) { + if (ta.locations[i] != locations[i] || !ta.labels.get(i).equals(labels.get(i))) { + return false; + } + } + + return true; + } + } + + return false; + } + + /** + * @return the number of ticks + */ + public Integer getNumber() { + return number; + } + + /** + * @return the labels + */ + public ArrayList<FormattedText> getLabels() { + return labels; + } + + /** + * @param labels the labels to set + */ + public UpdateStatus setLabels(ArrayList<FormattedText> labels) { + UpdateStatus status = this.labels.equals(labels) ? UpdateStatus.NoChange : UpdateStatus.Success; + if (status == UpdateStatus.Success) { + if (!this.labels.isEmpty()) { + this.labels.clear(); + } + + for (int i = 0; i < labels.size(); i++) { + this.labels.add(i, new FormattedText(labels.get(i))); + } + } + + return status; + } + + /** + * @return the labels strings + */ + public String[] getLabelsStrings() { + String[] labelsStrings; + + labelsStrings = new String[number]; + + for (int i = 0; i < number; i++) { + labelsStrings[i] = new String(labels.get(i).getText()).replaceAll("\u00A0", " "); + } + + return labelsStrings; + } + + /** + * Sets the ticks labels strings + * Requires the corresponding ticks locations to have previously been set. + * @param labels the labels to set + */ + public UpdateStatus setLabelsStrings(String[] labels) { + if (labels.length != number) { + return UpdateStatus.NoChange; + } + + if (this.labels == null || this.labels.size() != labels.length) { + this.labels = new ArrayList<FormattedText>(0); + + Font font = new Font(defaultFont); + for (int i = 0; i < labels.length; i++) { + FormattedText newText = new FormattedText(labels[i], font); + this.labels.add(newText); + } + + return UpdateStatus.Success; + } + + UpdateStatus status = UpdateStatus.NoChange; + for (int i = 0; i < number; i++) { + FormattedText ft = this.labels.get(i); + if (!ft.getText().equals(labels[i])) { + this.labels.get(i).setText(labels[i]); + status = UpdateStatus.Success; + } + } + + return status; + } + + /** + * @return the locations + */ + public Double[] getLocations() { + Double[] retLocations; + + retLocations = new Double[number]; + + for (int i = 0; i < number; i++) { + retLocations[i] = locations[i]; + } + + return retLocations; + } + + /** + * Sets the ticks locations + * Also sets the current number of ticks to the size of the locations array + * if the latter is resized. + * @param locations the locations to set + */ + public UpdateStatus setLocations(Double[] locations) { + UpdateStatus status = UpdateStatus.Success; + if (this.locations == null || number != locations.length) { + this.locations = new double[locations.length]; + number = locations.length; + } else { + status = UpdateStatus.NoChange; + } + + for (int i = 0; i < locations.length; i++) { + if (status == UpdateStatus.NoChange) { + if (this.locations[i] != locations[i]) { + status = UpdateStatus.Success; + this.locations[i] = locations[i]; + } + } else { + this.locations[i] = locations[i]; + } + } + + return status; + } + + /** + * Supposes all ticks labels have the same font style. + * To be corrected. + * @return the ticks labels font style + */ + public Integer getFontStyle() { + if (!labels.isEmpty()) { + return labels.get(0).getFont().getStyle(); + } + return 0; + } + + /** + * Supposes all ticks labels have the same font style. + * To be corrected. + * @param fontStyle the ticks labels font style to set + */ + public UpdateStatus setFontStyle(Integer fontStyle) { + UpdateStatus status = UpdateStatus.NoChange; + for (int i = 0; i < labels.size(); i++) { + Font f = labels.get(i).getFont(); + if (f.getStyle() != fontStyle) { + f.setStyle(fontStyle); + status = UpdateStatus.Success; + } + } + + return status; + } + + /** + * Supposes all ticks labels have the same font size. + * To be corrected. + * @return the ticks labels font size + */ + public Double getFontSize() { + if (!labels.isEmpty()) { + return labels.get(0).getFont().getSize(); + } + return 0.0; + } + + /** + * Supposes all ticks labels have the same font size. + * To be corrected. + * @param fontSize the ticks labels font size to set + */ + public UpdateStatus setFontSize(Double fontSize) { + UpdateStatus status = UpdateStatus.NoChange; + for (int i = 0; i < labels.size(); i++) { + Font f = labels.get(i).getFont(); + if (f.getSize() != fontSize) { + f.setSize(fontSize); + status = UpdateStatus.Success; + } + } + + return status; + } + + /** + * Supposes all ticks labels have the same font color. + * To be corrected. + * @return the ticks labels font color + */ + public Integer getFontColor() { + if (!labels.isEmpty()) { + return labels.get(0).getFont().getColor(); + } + return 0; + } + + /** + * Supposes all ticks labels have the same font color. + * To be corrected. + * @param fontColor the ticks labels font color to set + */ + public UpdateStatus setFontColor(Integer fontColor) { + UpdateStatus status = UpdateStatus.NoChange; + for (int i = 0; i < labels.size(); i++) { + Font f = labels.get(i).getFont(); + if (!f.getColor().equals(fontColor)) { + f.setColor(fontColor); + status = UpdateStatus.Success; + } + } + + return status; + } + + /** + * Supposes all ticks labels have the same font fractional. + * To be corrected. + * @return the ticks labels font fractional + */ + public Boolean getFontFractional() { + if (!labels.isEmpty()) { + return labels.get(0).getFont().getFractional(); + } + return false; + } + + /** + * Supposes all ticks labels have the same font fractional. + * To be corrected. + * @param fontFractional the ticks labels font fractional to set + */ + public UpdateStatus setFontFractional(Boolean fontFractional) { + UpdateStatus status = UpdateStatus.NoChange; + for (int i = 0; i < labels.size(); i++) { + Font f = labels.get(i).getFont(); + if (f.getFractional() != fontFractional) { + f.setFractional(fontFractional); + status = UpdateStatus.Success; + } + } + + return status; + } + } + + /** Automatic ticks */ + TicksArrays automaticTicks; + + /** User ticks */ + TicksArrays userTicks; + + /** Constructor */ + public TicksProperty() { + auto = false; + + subticks = 0; + + defaultFont = new Font(); + + automaticTicks = new TicksArrays(DEFAULT_NUMBER_OF_TICKS); + userTicks = new TicksArrays(0); + } + + /** + * Copy constructor + * @param ticksProperty the TicksProperty to copy + */ + public TicksProperty(TicksProperty ticksProperty) { + auto = ticksProperty.auto; + + subticks = ticksProperty.subticks; + format = ticksProperty.format; + st_factors = ticksProperty.st_factors; + + defaultFont = new Font(ticksProperty.defaultFont); + + automaticTicks = new TicksArrays(0); + userTicks = new TicksArrays(0); + + automaticTicks.setLocations(ticksProperty.automaticTicks.getLocations()); + userTicks.setLocations(ticksProperty.userTicks.getLocations()); + + automaticTicks.setLabels(ticksProperty.automaticTicks.getLabels()); + userTicks.setLabels(ticksProperty.userTicks.getLabels()); + } + + @Override + public boolean equals(Object o) { + if (o instanceof TicksProperty) { + TicksProperty tp = (TicksProperty) o; + if (tp.auto == auto && tp.subticks == subticks && tp.defaultFont.equals(defaultFont)) { + if (auto) { + return automaticTicks.equals(tp.automaticTicks); + } else { + return userTicks.equals(tp.userTicks); + } + } + } + + return false; + } + + /** + * @return the format + */ + public String getFormat() { + return format; + } + + /** + * @param format the format to set + */ + public UpdateStatus setFormat(String format) { + if (!this.format.equals(format)) { + this.format = format; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the format + */ + public Double[] getSTFactors() { + return st_factors; + } + + /** + * @param format the format to set + */ + public UpdateStatus setSTFactors(Double[] factors) { + if (!this.st_factors[0].equals(factors[0]) || !this.st_factors[1].equals(factors[1])) { + this.st_factors = factors; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the auto + */ + public Boolean getAuto() { + return auto; + } + + /** + * @param auto the auto to set + */ + public UpdateStatus setAuto(Boolean auto) { + if (this.auto != auto) { + this.auto = auto; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the labels + */ + public ArrayList<FormattedText> getLabels() { + if (auto) { + return automaticTicks.getLabels(); + } else { + return userTicks.getLabels(); + } + } + + /** + * @param labels the labels to set + */ + public UpdateStatus setLabels(ArrayList<FormattedText> labels) { + if (auto) { + return automaticTicks.setLabels(labels); + } else { + return userTicks.setLabels(labels); + } + } + + /** + * @return the labels strings + */ + public String[] getLabelsStrings() { + if (auto) { + return automaticTicks.getLabelsStrings(); + } else { + return userTicks.getLabelsStrings(); + } + } + + /** + * Sets the ticks labels strings + * Requires the corresponding ticks locations to have previously been set. + * @param labels the labels to set + */ + public UpdateStatus setLabelsStrings(String[] labels) { + if (auto) { + return automaticTicks.setLabelsStrings(labels); + } else { + return userTicks.setLabelsStrings(labels); + } + } + + /** + * @return the number of ticks + */ + public Integer getNumber() { + if (auto) { + return automaticTicks.getNumber(); + } else { + return userTicks.getNumber(); + } + } + + /** + * @return the locations + */ + public Double[] getLocations() { + if (auto) { + return automaticTicks.getLocations(); + } else { + return userTicks.getLocations(); + } + } + + /** + * Sets the ticks locations + * Also sets the current number of ticks to the size of the locations array + * if the latter is resized. + * @param locations the locations to set + */ + public UpdateStatus setLocations(Double[] locations) { + if (auto) { + return automaticTicks.setLocations(locations); + } else { + return userTicks.setLocations(locations); + } + } + + /** + * @return the subticks + */ + public Integer getSubticks() { + return subticks; + } + + /** + * @param subticks the subticks to set + */ + public UpdateStatus setSubticks(Integer subticks) { + if (this.subticks != subticks) { + this.subticks = subticks; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * Supposes that all automatic and user ticks labels have the same font style. + * To be corrected (commented out block) when the associated C get function is completed. + * @return the ticks labels font style + */ + public Integer getFontStyle() { + return automaticTicks.getFontStyle(); + + /* + if (auto) { + return automaticTicks.getFontStyle(); + } else { + return userTicks.getFontStyle(); + } + */ + } + + /** + * Supposes that all automatic and user ticks labels have the same font style. + * To be corrected (commented out block) when the associated C set function is completed. + * @param fontStyle the ticks labels font style to set + */ + public UpdateStatus setFontStyle(Integer fontStyle) { + UpdateStatus status = UpdateStatus.NoChange; + if (fontStyle != defaultFont.getStyle()) { + defaultFont.setStyle(fontStyle); + status = UpdateStatus.Success; + } + + UpdateStatus s1 = automaticTicks.setFontStyle(fontStyle); + UpdateStatus s2 = userTicks.setFontStyle(fontStyle); + + if (status == UpdateStatus.Success || s1 == UpdateStatus.Success || s2 == UpdateStatus.Success) { + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + + /* + if (auto) { + automaticTicks.setFontStyle(fontStyle); + } else { + userTicks.setFontStyle(fontStyle); + } + */ + } + + /** + * Supposes that all automatic and user ticks labels have the same font size. + * To be corrected (commented out block) when the associated C get function is completed. + * @return the ticks labels font size + */ + public Double getFontSize() { + return automaticTicks.getFontSize(); + + /* + if (auto) { + return automaticTicks.getFontSize(); + } else { + return userTicks.getFontSize(); + } + */ + } + + /** + * Supposes that all automatic and user ticks labels have the same font size. + * To be corrected (commented out block) when the associated C set function is completed. + * @param fontSize the ticks labels font size to set + */ + public UpdateStatus setFontSize(Double fontSize) { + UpdateStatus status = UpdateStatus.NoChange; + if (fontSize != defaultFont.getSize()) { + defaultFont.setSize(fontSize); + status = UpdateStatus.Success; + } + + UpdateStatus s1 = automaticTicks.setFontSize(fontSize); + UpdateStatus s2 = userTicks.setFontSize(fontSize); + + if (status == UpdateStatus.Success || s1 == UpdateStatus.Success || s2 == UpdateStatus.Success) { + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + + /* + if (auto) { + automaticTicks.setFontSize(fontSize); + } else { + userTicks.setFontSize(fontSize); + } + */ + } + + /** + * Supposes that all automatic and user ticks labels have the same font color. + * To be corrected (commented out block) when the associated C get function is completed. + * @return the ticks labels font color + */ + public Integer getFontColor() { + return automaticTicks.getFontColor(); + + /* + if (auto) { + return automaticTicks.getFontColor(); + } else { + return userTicks.getFontColor(); + } + */ + } + + /** + * Supposes that all automatic and user ticks labels have the same font color. + * To be corrected (commented out block) when the associated C set function is completed. + * @param fontColor the ticks labels font color to set + */ + public UpdateStatus setFontColor(Integer fontColor) { + UpdateStatus status = UpdateStatus.NoChange; + if (fontColor != defaultFont.getColor()) { + defaultFont.setColor(fontColor); + status = UpdateStatus.Success; + } + + UpdateStatus s1 = automaticTicks.setFontColor(fontColor); + UpdateStatus s2 = userTicks.setFontColor(fontColor); + + if (status == UpdateStatus.Success || s1 == UpdateStatus.Success || s2 == UpdateStatus.Success) { + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + + /* + if (auto) { + automaticTicks.setFontColor(fontColor); + } else { + userTicks.setFontColor(fontColor); + } + */ + } + + /** + * Supposes all automatic and user ticks labels have the same font fractional. + * To be corrected (commented out block) when the associated C get function is completed. + * @return the ticks labels font fractional + */ + public Boolean getFontFractional() { + return automaticTicks.getFontFractional(); + + /* + if (auto) { + return automaticTicks.getFontFractional(); + } else { + return userTicks.getFontFractional(); + } + */ + } + + /** + * Supposes all automatic and user ticks labels have the same font fractional. + * To be corrected (commented out block) when the associated C set function is completed. + * @param fontFractional the ticks labels font fractional to set + */ + public UpdateStatus setFontFractional(Boolean fontFractional) { + UpdateStatus status = UpdateStatus.NoChange; + if (fontFractional != defaultFont.getFractional()) { + defaultFont.setFractional(fontFractional); + status = UpdateStatus.Success; + } + + UpdateStatus s1 = automaticTicks.setFontFractional(fontFractional); + UpdateStatus s2 = userTicks.setFontFractional(fontFractional); + + if (status == UpdateStatus.Success || s1 == UpdateStatus.Success || s2 == UpdateStatus.Success) { + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + + /* + if (auto) { + automaticTicks.setFontFractional(fontFractional); + } else { + userTicks.setFontFractional(fontFractional); + } + */ + } + + public Font getDefaultFont() { + return defaultFont; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axis/Axis.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axis/Axis.java new file mode 100755 index 000000000..affe79a71 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/axis/Axis.java @@ -0,0 +1,553 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.axis; + +import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.textObject.Font; + +import java.util.ArrayList; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_COLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_FRACTIONAL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FORMATN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_NUMBER_TICKS_LABELS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SUBTICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TICKS_COLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TICKS_DIRECTION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TICKS_LABELS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TICKS_SEGMENT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TICKS_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_NUMBER_TICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_TICKS_COORDS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_NUMBER_TICKS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_TICKS_COORDS__; + +/** + * Axis class + * @author Manuel JULIACHS + */ +public class Axis extends ClippableContouredObject { + /** Axis properties */ + private enum AxisProperty { TICKSDIRECTION, XNUMBERTICKS, YNUMBERTICKS, XTICKSCOORDS, YTICKSCOORDS, TICKSCOLOR, TICKSSEGMENT, TICKSSTYLE, + SUBTICKS, NUMBERTICKSLABELS, TICKSLABELS, FORMATN, FONT + }; + + /** Default number of ticks */ + private static final int DEFAULT_NUMBER_OF_TICKS = 10; + + /** Ticks direction */ + public enum TicksDirection {TOP, BOTTOM, LEFT, RIGHT} + + /** Ticks direction */ + private TicksDirection ticksDirection; + + /** Ticks x-coordinate position vector */ + private double[] xTicksCoords; + + /** Ticks y-coordinate position vector */ + private double[] yTicksCoords; + + /** Ticks color */ + private int ticksColor; + + /** Specifies whether the axis segment is drawn */ + private boolean ticksSegment; + + /** Specifies the ticks style (either 0, 1, or 2) */ + private int ticksStyle; + + /** Number of subticks */ + private int subticks; + + /** Ticks labels list */ + private ArrayList <String> ticksLabels; + + /** Label format */ + private String formatn; + + /** Font */ + private Font font; + + /** Constructor */ + public Axis() { + super(); + ticksDirection = TicksDirection.TOP; + xTicksCoords = new double[DEFAULT_NUMBER_OF_TICKS]; + yTicksCoords = new double[1]; + ticksColor = 0; + ticksSegment = false; + ticksLabels = new ArrayList<String>(DEFAULT_NUMBER_OF_TICKS); + formatn = new String(""); + font = new Font(); + } + + @Override + public void accept(Visitor visitor) { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_TICKS_DIRECTION__ : + return AxisProperty.TICKSDIRECTION; + case __GO_X_NUMBER_TICKS__ : + return AxisProperty.XNUMBERTICKS; + case __GO_Y_NUMBER_TICKS__ : + return AxisProperty.YNUMBERTICKS; + case __GO_X_TICKS_COORDS__ : + return AxisProperty.XTICKSCOORDS; + case __GO_Y_TICKS_COORDS__ : + return AxisProperty.YTICKSCOORDS; + case __GO_TICKS_COLOR__ : + return AxisProperty.TICKSCOLOR; + case __GO_TICKS_SEGMENT__ : + return AxisProperty.TICKSSEGMENT; + case __GO_TICKS_STYLE__ : + return AxisProperty.TICKSSTYLE; + case __GO_SUBTICKS__ : + return AxisProperty.SUBTICKS; + case __GO_NUMBER_TICKS_LABELS__ : + return AxisProperty.NUMBERTICKSLABELS; + case __GO_TICKS_LABELS__ : + return AxisProperty.TICKSLABELS; + case __GO_FORMATN__ : + return AxisProperty.FORMATN; + case __GO_FONT__ : + return AxisProperty.FONT; + case __GO_FONT_STYLE__ : + return Font.FontProperty.STYLE; + case __GO_FONT_SIZE__ : + return Font.FontProperty.SIZE; + case __GO_FONT_COLOR__ : + return Font.FontProperty.COLOR; + case __GO_FONT_FRACTIONAL__ : + return Font.FontProperty.FRACTIONAL; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == AxisProperty.TICKSDIRECTION) { + return getTicksDirection(); + } else if (property == AxisProperty.XNUMBERTICKS) { + return getXNumberTicks(); + } else if (property == AxisProperty.YNUMBERTICKS) { + return getYNumberTicks(); + } else if (property == AxisProperty.XTICKSCOORDS) { + return getXTicksCoords(); + } else if (property == AxisProperty.YTICKSCOORDS) { + return getYTicksCoords(); + } else if (property == AxisProperty.TICKSCOLOR) { + return getTicksColor(); + } else if (property == AxisProperty.TICKSSEGMENT) { + return getTicksSegment(); + } else if (property == AxisProperty.TICKSSTYLE) { + return getTicksStyle(); + } else if (property == AxisProperty.SUBTICKS) { + return getSubticks(); + } else if (property == AxisProperty.NUMBERTICKSLABELS) { + return getNumberTicksLabels(); + } else if (property == AxisProperty.TICKSLABELS) { + return getTicksLabels(); + } else if (property == AxisProperty.FORMATN) { + return getFormatn(); + } else if (property == AxisProperty.FONT) { + return getFont(); + } else if (property == Font.FontProperty.STYLE) { + return getStyle(); + } else if (property == Font.FontProperty.SIZE) { + return getSize(); + } else if (property == Font.FontProperty.COLOR) { + return getColor(); + } else if (property == Font.FontProperty.FRACTIONAL) { + return getFractional(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == AxisProperty.TICKSDIRECTION) { + setTicksDirection((Integer) value); + } else if (property == AxisProperty.XTICKSCOORDS) { + setXTicksCoords((Double[]) value); + } else if (property == AxisProperty.YTICKSCOORDS) { + setYTicksCoords((Double[]) value); + } else if (property == AxisProperty.TICKSCOLOR) { + setTicksColor((Integer) value); + } else if (property == AxisProperty.TICKSSEGMENT) { + setTicksSegment((Boolean) value); + } else if (property == AxisProperty.TICKSSTYLE) { + setTicksStyle((Integer) value); + } else if (property == AxisProperty.SUBTICKS) { + setSubticks((Integer) value); + } else if (property == AxisProperty.TICKSLABELS) { + setTicksLabels((String[]) value); + } else if (property == AxisProperty.FORMATN) { + setFormatn((String) value); + } else if (property == AxisProperty.FONT) { + setFont((Font) value); + } else if (property == Font.FontProperty.STYLE) { + setStyle((Integer) value); + } else if (property == Font.FontProperty.SIZE) { + setSize((Double) value); + } else if (property == Font.FontProperty.COLOR) { + setColor((Integer) value); + } else if (property == Font.FontProperty.FRACTIONAL) { + setFractional((Boolean) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the font + */ + public Font getFont() { + return font; + } + + /** + * @param font the font to set + */ + public UpdateStatus setFont(Font font) { + this.font = font; + return UpdateStatus.Success; + } + + /** + * @return the font style + */ + public Integer getStyle() { + return font.getStyle(); + } + + /** + * @param style the font style to set + */ + public UpdateStatus setStyle(Integer style) { + font.setStyle(style); + return UpdateStatus.Success; + } + + /** + * @return the font size + */ + public Double getSize() { + return font.getSize(); + } + + /** + * @param size the font size to set + */ + public UpdateStatus setSize(Double size) { + font.setSize(size); + return UpdateStatus.Success; + } + + /** + * @return the font color + */ + public Integer getColor() { + return font.getColor(); + } + + /** + * @param color the font color to set + */ + public UpdateStatus setColor(Integer color) { + font.setColor(color); + return UpdateStatus.Success; + } + + /** + * @return the font fractional + */ + public Boolean getFractional() { + return font.getFractional(); + } + + /** + * @param fractional the font fractional to set + */ + public UpdateStatus setFractional(Boolean fractional) { + font.setFractional(fractional); + return UpdateStatus.Success; + } + + /** + * @return the formatn + */ + public String getFormatn() { + return formatn; + } + + /** + * @param formatn the formatn to set + */ + public UpdateStatus setFormatn(String formatn) { + this.formatn = formatn; + return UpdateStatus.Success; + } + + /** + * @return the ticksColor + */ + public Integer getTicksColor() { + return ticksColor; + } + + /** + * @param ticksColor the ticksColor to set + */ + public UpdateStatus setTicksColor(Integer ticksColor) { + this.ticksColor = ticksColor; + return UpdateStatus.Success; + } + + /** + * @return the ticksDirection + */ + public Integer getTicksDirection() { + return getTicksDirectionAsEnum().ordinal(); + } + + /** + * @return the ticksDirection + */ + public TicksDirection getTicksDirectionAsEnum() { + return ticksDirection; + } + + /** + * @param ticksDirection the ticksDirection to set + */ + public UpdateStatus setTicksDirection(Integer ticksDirection) { + setTicksDirectionAsEnum(TicksDirection.values()[ticksDirection]); + return UpdateStatus.Success; + } + + /** + * @param ticksDirection the ticksDirection to set + */ + public UpdateStatus setTicksDirectionAsEnum(TicksDirection ticksDirection) { + this.ticksDirection = ticksDirection; + return UpdateStatus.Success; + } + + /** + * @return the number of ticks labels + */ + public Integer getNumberTicksLabels() { + return ticksLabels.size(); + } + + /** + * @return the ticksLabels + */ + public String[] getTicksLabels() { + String[] labels = new String[ticksLabels.size()]; + + for (int i = 0; i < ticksLabels.size(); i++) { + labels[i] = new String(ticksLabels.get(i)); + } + + return labels; + } + + /** + * @return the ticksLabels + */ + public ArrayList<String> getTicksLabelsAsArrayList() { + return ticksLabels; + } + + /** + * @param ticksLabels the ticksLabels to set + */ + public UpdateStatus setTicksLabels(String[] ticksLabels) { + if (!this.ticksLabels.isEmpty()) { + this.ticksLabels.clear(); + } + + for (int i = 0; i < ticksLabels.length; i++) { + this.ticksLabels.add(new String(ticksLabels[i])); + } + return UpdateStatus.Success; + } + + /** + * @param ticksLabels the ticksLabels to set + */ + public UpdateStatus setTicksLabelsAsArrayList(ArrayList<String> ticksLabels) { + if (!this.ticksLabels.isEmpty()) { + this.ticksLabels.clear(); + } + + for (int i = 0; i < ticksLabels.size(); i++) { + this.ticksLabels.add(new String(ticksLabels.get(i))); + } + return UpdateStatus.Success; + } + + /** + * @return the ticksSegment + */ + public Boolean getTicksSegment() { + return ticksSegment; + } + + /** + * @param ticksSegment the ticksSegment to set + */ + public UpdateStatus setTicksSegment(Boolean ticksSegment) { + this.ticksSegment = ticksSegment; + return UpdateStatus.Success; + } + + /** + * @return the ticksStyle + */ + public Integer getTicksStyle() { + return ticksStyle; + } + + /** + * @param ticksStyle the ticksStyle to set + */ + public UpdateStatus setTicksStyle(Integer ticksStyle) { + this.ticksStyle = ticksStyle; + return UpdateStatus.Success; + } + + /** + * @return the subticks + */ + public Integer getSubticks() { + return subticks; + } + + /** + * @param subticks the subticks to set + */ + public UpdateStatus setSubticks(Integer subticks) { + this.subticks = subticks; + return UpdateStatus.Success; + } + + /** + * @return the number of X ticks + */ + public Integer getXNumberTicks() { + return xTicksCoords.length; + } + + /** + * @return the number of X ticks + */ + public Integer getYNumberTicks() { + return yTicksCoords.length; + } + + /** + * @return the xTicksCoords + */ + public Double[] getXTicksCoords() { + Double[] retXTicksCoords = new Double[xTicksCoords.length]; + + for (int i = 0; i < xTicksCoords.length; i++) { + retXTicksCoords[i] = xTicksCoords[i]; + } + + return retXTicksCoords; + } + + /** + * Sets the x ticks coordinates + * Resizes the array if required + * TODO : we should use format_n to fill ticks label. + * @param ticksCoords the xTicksCoords to set + */ + public UpdateStatus setXTicksCoords(Double[] ticksCoords) { + if (ticksCoords.length != xTicksCoords.length) { + xTicksCoords = new double[ticksCoords.length]; + } + + for (int i = 0; i < xTicksCoords.length; i++) { + xTicksCoords[i] = ticksCoords[i]; + } + return UpdateStatus.Success; + } + + /** + * @return the yTicksCoords + */ + public Double[] getYTicksCoords() { + Double[] retYTicksCoords = new Double[yTicksCoords.length]; + + for (int i = 0; i < yTicksCoords.length; i++) { + retYTicksCoords[i] = yTicksCoords[i]; + } + + return retYTicksCoords; + } + + /** + * Sets the y ticks coordinates + * Resizes the array if required + * TODO : we should use format_n to fill ticks label. + * @param ticksCoords the yTicksCoords to set + */ + public UpdateStatus setYTicksCoords(Double[] ticksCoords) { + if (ticksCoords.length != yTicksCoords.length) { + yTicksCoords = new double[ticksCoords.length]; + } + + for (int i = 0; i < yTicksCoords.length; i++) { + yTicksCoords[i] = ticksCoords[i]; + } + return UpdateStatus.Success; + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_AXIS__; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/builder/Builder.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/builder/Builder.java new file mode 100755 index 000000000..d2f556154 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/builder/Builder.java @@ -0,0 +1,1156 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET + * Copyright (C) 2013 - Scilab Enterprises - Antoine ELIAS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.builder; + +import java.util.ArrayList; +import java.util.StringTokenizer; + +import org.scilab.modules.graphic_objects.ScilabNativeView; +import org.scilab.modules.graphic_objects.arc.Arc; +import org.scilab.modules.graphic_objects.axes.Axes; +import org.scilab.modules.graphic_objects.axis.Axis; +import org.scilab.modules.graphic_objects.fec.Fec; +import org.scilab.modules.graphic_objects.figure.Figure; +import org.scilab.modules.graphic_objects.figure.Figure.BarType; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicModel.GraphicModel; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.Type; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.imageplot.Imageplot; +import org.scilab.modules.graphic_objects.label.Label; +import org.scilab.modules.graphic_objects.legend.Legend; +import org.scilab.modules.graphic_objects.lighting.Light; +import org.scilab.modules.graphic_objects.lighting.Light.LightType; +import org.scilab.modules.graphic_objects.polyline.Polyline; +import org.scilab.modules.graphic_objects.rectangle.Rectangle; +import org.scilab.modules.graphic_objects.surface.Surface; +import org.scilab.modules.graphic_objects.textObject.Font; +import org.scilab.modules.graphic_objects.textObject.Text; +import org.scilab.modules.graphic_objects.vectfield.Champ; +import org.scilab.modules.graphic_objects.vectfield.Segs; + +public final class Builder { + public final static int createRect(int parentSubwin, double x, double y, double height, double width, int foreground, int background, int isfilled, int isline) { + GraphicController controller = GraphicController.getController(); + Axes axes = (Axes) controller.getObjectFromId(parentSubwin); + + if (height < 0 || width < 0) { + return 0; + } + + Integer iRect = controller.askObject(Type.RECTANGLE, false); + + /* + * Sets the rectangle's parent in order to initialize the former's + * Contoured properties with the latter's values (cloneGraphicContext + * call below) + */ + + Rectangle rect = (Rectangle) controller.getObjectFromId(iRect); + rect.setUpperLeftPoint(new Double[] { x, y, 0.0 }); + rect.setHeight(height); + rect.setWidth(width); + + rect.setVisible(axes.getVisible()); + + /* Clip state and region */ + /* To be checked for consistency */ + + rect.setClipBox(axes.getClipBox()); + rect.setClipBoxSet(axes.getClipBoxSet()); + rect.setClipState(axes.getClipState()); + rect.setMarkMode(axes.getMarkMode()); + + /* + * Initializes the contour properties (background, foreground, etc) to + * the default values (those of the parent Axes). + */ + cloneGraphicContext(parentSubwin, iRect); + + /* Contour settings */ + rect.setLineMode(isline == 1); + rect.setFillMode(isfilled == 1); + + if (foreground != -1) { + rect.setLineColor(foreground); + } + + if (background != -1) { + rect.setBackground(background); + } + + controller.objectCreated(iRect); + + /* + * Sets the Axes as the rectangle's parent and adds the rectangle to its + * parent's list of children. + */ + //setGraphicObjectRelationship(pparentsubwinUID, pobjUID); + + return iRect; + } + + public static int cloneGraphicContext(int sourceIdentifier, int destIdentifier) { + GraphicController controller = GraphicController.getController(); + Boolean lineMode = false; + Integer foreground = 0; + Integer lineStyle = 0; + Integer background = 0; + Integer markForeground = 0; + Integer markBackground = 0; + Integer markStyle = 0; + Integer markSize = 0; + Integer markSizeUnit = 0; + Double lineThickness = 0.; + + /* + * All these properties are passed by value thus do not care to release + * them and do not call releaseGraphicObjectProperty on purpose. + */ + + lineMode = (Boolean) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_LINE_MODE__); + foreground = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_LINE_COLOR__); + lineThickness = (Double) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_LINE_THICKNESS__); + lineStyle = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_LINE_STYLE__); + + background = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_BACKGROUND__); + + markForeground = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_MARK_FOREGROUND__); + + markBackground = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_MARK_BACKGROUND__); + + markStyle = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_MARK_STYLE__); + + markSize = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_MARK_SIZE__); + + markSizeUnit = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_MARK_SIZE_UNIT__); + + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_LINE_MODE__, lineMode); + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_LINE_COLOR__, foreground); + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_LINE_THICKNESS__, lineThickness); + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_LINE_STYLE__, lineStyle); + + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_BACKGROUND__, background); + + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_MARK_FOREGROUND__, markForeground); + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_MARK_BACKGROUND__, markBackground); + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_MARK_STYLE__, markStyle); + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_MARK_SIZE__, markSize); + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_MARK_SIZE_UNIT__, markSizeUnit); + + return 0; + } + + public static int cloneFontContext(int sourceIdentifier, int destIdentifier) { + GraphicController controller = GraphicController.getController(); + + Integer fontColor = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_FONT_COLOR__); + Integer fontStyle = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_FONT_STYLE__); + Double fontSize = (Double) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_FONT_SIZE__); + Boolean fontFractional = (Boolean) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_FONT_FRACTIONAL__); + + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_FONT_COLOR__, fontColor); + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_FONT_STYLE__, fontStyle); + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_FONT_SIZE__, fontSize); + controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_FONT_FRACTIONAL__, fontFractional); + + return 0; + } + + public static int createHiddenLabel(int parent) { + + GraphicController controller = GraphicController.getController(); + + Integer iLabel = controller.askObject(Type.LABEL, false); + Label label = (Label) controller.getObjectFromId(iLabel); + + //Hide Label as they are non explicit children + label.setHidden(true); + label.setAutoPosition(true); + label.setAutoRotation(true); + + cloneGraphicContext(parent, iLabel); + cloneFontContext(parent, iLabel); + controller.objectCreated(iLabel); + + // Sets the label's parent + controller.setGraphicObjectRelationship(parent, iLabel); + + return iLabel; + } + + public static void initSubWinBounds(int subWin) { + GraphicController controller = GraphicController.getController(); + + controller.setProperty(subWin, GraphicObjectProperties.__GO_X_AXIS_LOG_FLAG__, false); + controller.setProperty(subWin, GraphicObjectProperties.__GO_Y_AXIS_LOG_FLAG__, false); + controller.setProperty(subWin, GraphicObjectProperties.__GO_Z_AXIS_LOG_FLAG__, false); + } + + public static void reinitSubWin(int subWin) { + GraphicController controller = GraphicController.getController(); + Integer label = 0; + + for (Integer childId : (Integer[]) controller.getProperty(subWin, GraphicObjectProperties.__GO_CHILDREN__)) { + GraphicModel.getModel().deleteObject(childId); + } + + label = createHiddenLabel(subWin); + controller.setProperty(subWin, GraphicObjectProperties.__GO_TITLE__, label); + + label = createHiddenLabel(subWin); + controller.setProperty(subWin, GraphicObjectProperties.__GO_X_AXIS_LABEL__, label); + + label = createHiddenLabel(subWin); + controller.setProperty(subWin, GraphicObjectProperties.__GO_Y_AXIS_LABEL__, label); + + label = createHiddenLabel(subWin); + controller.setProperty(subWin, GraphicObjectProperties.__GO_Z_AXIS_LABEL__, label); + + controller.setProperty(subWin, GraphicObjectProperties.__GO_X_AXIS_LOCATION__, 0); + controller.setProperty(subWin, GraphicObjectProperties.__GO_Y_AXIS_LOCATION__, 4); + controller.setProperty(subWin, GraphicObjectProperties.__GO_VISIBLE__, true); + controller.setProperty(subWin, GraphicObjectProperties.__GO_FIRST_PLOT__, true); + + Integer axesModel = GraphicModel.getAxesModel().getIdentifier(); + Axes axes = (Axes) controller.getObjectFromId(axesModel); + + controller.setProperty(subWin, GraphicObjectProperties.__GO_VIEW__, axes.getView()); + controller.setProperty(subWin, GraphicObjectProperties.__GO_ROTATION_ANGLES__, axes.getRotationAngles()); + controller.setProperty(subWin, GraphicObjectProperties.__GO_ROTATION_ANGLES_3D__, axes.getRotationAngles3d()); + } + + public static boolean isAxesRedrawing(int subWin) { + GraphicController controller = GraphicController.getController(); + Axes axes = (Axes) controller.getObjectFromId(subWin); + + if (axes.getAutoClear()) { + reinitSubWin(subWin); + return true; + } + return false; + } + + public static int createLabel(int parent, int type) { + GraphicController controller = GraphicController.getController(); + Double[] position = new Double[3]; + position[0] = 1.0; + position[1] = 1.0; + position[2] = 1.0; + + //check parent type + Integer parentType = (Integer) controller.getProperty(parent, GraphicObjectProperties.__GO_TYPE__); + if (parentType != GraphicObjectProperties.__GO_AXES__) { + return 1; + } + + //get axes model + Integer axesModel = GraphicModel.getAxesModel().getIdentifier(); + + //get type label from axes model + Integer labelSource = (Integer) controller.getProperty(axesModel, type); + + //clone label + Integer newLabel = controller.cloneObject(labelSource); + controller.setProperty(newLabel, GraphicObjectProperties.__GO_POSITION__, position); + // Auto position must be reset as setting the position has set it to false + Boolean autoPosition = (Boolean) controller.getProperty(labelSource, GraphicObjectProperties.__GO_AUTO_POSITION__); + controller.setProperty(newLabel, GraphicObjectProperties.__GO_AUTO_POSITION__, autoPosition); + + // Set relation between newLabel and parent + controller.setProperty(parent, type, newLabel); + controller.setGraphicObjectRelationship(parent, newLabel); + return 0; + } + + public final static int createFigureFromModel() { + GraphicController controller = GraphicController.getController(); + return controller.cloneObject(GraphicModel.getFigureModel().getIdentifier()); + } + + public final static int cloneAxesModel(int parent) { + GraphicController controller = GraphicController.getController(); + + Integer newAxes = controller.cloneObject(GraphicModel.getAxesModel().getIdentifier()); + createLabel(newAxes, GraphicObjectProperties.__GO_X_AXIS_LABEL__); + createLabel(newAxes, GraphicObjectProperties.__GO_Y_AXIS_LABEL__); + createLabel(newAxes, GraphicObjectProperties.__GO_Z_AXIS_LABEL__); + createLabel(newAxes, GraphicObjectProperties.__GO_TITLE__); + + controller.setGraphicObjectRelationship(parent, newAxes); + controller.setProperty(parent, GraphicObjectProperties.__GO_SELECTED_CHILD__, newAxes); + + ScilabNativeView.ScilabNativeView__setCurrentSubWin(newAxes); + ScilabNativeView.ScilabNativeView__setCurrentObject(newAxes); + return newAxes; + } + + public final static void cloneMenus(int iModel, int iParent) { + GraphicController controller = GraphicController.getController(); + GraphicObject model = controller.getObjectFromId(iModel); + + Integer[] children = model.getChildren(); + + for (int i = children.length - 1; i >= 0; i--) { + GraphicObject child = controller.getObjectFromId(children[i]); + if (child.getType() == GraphicObjectProperties.__GO_UIMENU__) { + Integer newMenu = controller.cloneObject(children[i]); + controller.setGraphicObjectRelationship(iParent, newMenu); + + cloneMenus(children[i], newMenu); + } + } + } + + public final static int createFigure(boolean dockable, int menubarType, int toolbarType, boolean defaultAxes, boolean visible) { + GraphicController controller = GraphicController.getController(); + Integer figModel = GraphicModel.getFigureModel().getIdentifier(); + Integer figId = controller.cloneObject(figModel, false); + Figure figure = (Figure) controller.getObjectFromId(figId); + figure.setDockable(dockable); + figure.setMenubar(menubarType); + figure.setToolbar(toolbarType); + figure.setVisible(visible); + figure.setDefaultAxes(defaultAxes); + + controller.objectCreated(figId); + + ScilabNativeView.ScilabNativeView__setCurrentFigure(figId); + + if (menubarType == BarType.FIGURE.ordinal()) { + cloneMenus(figModel, figId); + } + + if (defaultAxes) { + //clone default axes + cloneAxesModel(figId); + } + + return figId; + } + + public final static int createNewFigureWithAxes() { + GraphicController controller = GraphicController.getController(); + Integer figModel = GraphicModel.getFigureModel().getIdentifier(); + + //clone default figure + Integer newFigure = createFigureFromModel(); + + //Clone the default menus + cloneMenus(figModel, newFigure); + + //set ID to 0 + controller.setProperty(newFigure, GraphicObjectProperties.__GO_ID__, 0); + + //clone default axes + cloneAxesModel(newFigure); + ScilabNativeView.ScilabNativeView__setCurrentFigure(newFigure); + + //Force axes size after window creation + Integer[] axesSize = (Integer[]) controller.getProperty(figModel, GraphicObjectProperties.__GO_AXES_SIZE__); + controller.setProperty(newFigure, GraphicObjectProperties.__GO_AXES_SIZE__, axesSize); + + controller.setProperty(newFigure, GraphicObjectProperties.__GO_VALID__, true); + + return newFigure; + } + + public final static int createSubWin(int parentFigure) { + //GraphicController controller = GraphicController.getController(); + //GraphicObject parent = controller.getObjectFromId(parentFigure); + //if (parent.getType() != GraphicObjectProperties.__GO_FIGURE__) { + // return 0; + //} + + return cloneAxesModel(parentFigure); + } + + public final static int createText(int iParentsubwinUID, String[] str, int nbRow, int nbCol, double x, double y, boolean autoSize, double[] userSize, int centerPos, int foreground, + boolean isForeground, int background, boolean isBackground, boolean isBoxed, boolean isLine, boolean isFilled, int align) { + + GraphicController controller = GraphicController.getController(); + int iText = controller.askObject(Type.TEXT, false); + + Axes axes = (Axes) controller.getObjectFromId(iParentsubwinUID); + Text text = (Text) controller.getObjectFromId(iText); + + //clip + text.setClipBox(axes.getClipBox()); + text.setClipBoxSet(axes.getClipBoxSet()); + text.setClipState(axes.getClipState()); + + //text + Integer[] dimensions = new Integer[2]; + dimensions[0] = nbRow; + dimensions[1] = nbCol; + text.setTextArrayDimensions(dimensions); + text.setTextStrings(str); + + //position + Double[] position = new Double[3]; + position[0] = x; + position[1] = y; + position[2] = 0.0; + text.setPosition(position); + + //test box + Double[] setUserSize = new Double[2]; + text.setTextBoxMode(centerPos); + text.setAutoDimensioning(autoSize); + + if (autoSize == false || centerPos != 0) { + setUserSize[0] = userSize[0]; + setUserSize[1] = userSize[1]; + } else { + setUserSize[0] = 0.0; + setUserSize[1] = 0.0; + } + text.setTextBox(setUserSize); + + int alignment = align - 1; + if (alignment < 0 || alignment > 2) { + alignment = 0; + } + + text.setAlignment(alignment); + + cloneGraphicContext(iParentsubwinUID, iText); + cloneFontContext(iParentsubwinUID, iText); + + text.setBox(isBoxed); + text.setLineMode(isLine); + text.setFillMode(isFilled); + + if (isForeground) { + text.setLineColor(foreground); + } + + if (isBackground) { + text.setBackground(background); + } + + text.setVisible(axes.getVisible()); + controller.objectCreated(iText); + return iText; + } + + public final static int createArc(int parent, double x, double y, double h, double w, double startAngle, double endAngle, int foreground, boolean isForeground, int background, + boolean isBackground, boolean filled, boolean line) { + + GraphicController controller = GraphicController.getController(); + int iArc = controller.askObject(Type.ARC, false); + + Axes axes = (Axes) controller.getObjectFromId(parent); + Arc arc = (Arc) controller.getObjectFromId(iArc); + + //set visible false during construction + arc.setVisible(false); + + Double[] upperLeftPoint = new Double[3]; + upperLeftPoint[0] = x; + upperLeftPoint[1] = y; + upperLeftPoint[2] = 0.0; + + arc.setUpperLeftPoint(upperLeftPoint); + arc.setHeight(h); + arc.setWidth(w); + arc.setStartAngle(startAngle); + arc.setEndAngle(endAngle); + arc.setArcDrawingMethod(axes.getArcDrawingMethod()); + + //clip + arc.setClipBox(axes.getClipBox()); + arc.setClipBoxSet(axes.getClipBoxSet()); + arc.setClipState(axes.getClipState()); + + cloneGraphicContext(parent, iArc); + + arc.setLineMode(line); + arc.setFillMode(filled); + + if (isForeground) { + arc.setLineColor(foreground); + } + + if (isBackground) { + arc.setBackground(background); + } + + arc.setVisible(axes.getVisible()); + controller.objectCreated(iArc); + controller.setGraphicObjectRelationship(parent, iArc); + return iArc; + } + + public final static int createAxis(int parent, int dir, int tics, double[] vx, double[] vy, int subint, String format, int fontSize, int textColor, int ticsColor, boolean seg) { + + GraphicController controller = GraphicController.getController(); + int iAxis = controller.askObject(Type.AXIS, false); + + Axes axes = (Axes) controller.getObjectFromId(parent); + Axis axis = (Axis) controller.getObjectFromId(iAxis); + + //clip box + axis.setClipBox(axes.getClipBox()); + axis.setClipBoxSet(false); + + axis.setTicksDirection(dir); + axis.setTicksStyle(tics); + + axis.setXTicksCoords(toDouble(vx)); + axis.setYTicksCoords(toDouble(vy)); + + if (format != null && format.equals("") == false) { + axis.setFormatn(format); + } + + axis.setSubticks(subint); + axis.setTicksSegment(seg); + cloneGraphicContext(parent, iAxis); + cloneFontContext(parent, iAxis); + + Font font = axis.getFont(); + if (fontSize == -1) { + font.setSize(axes.getFontSize()); + } else { + font.setSize(new Double(fontSize)); + } + if (textColor == -1) { + font.setColor(axes.getFontColor()); + } else { + font.setColor(textColor); + } + font.setStyle(axes.getFontStyle()); + + axis.setTicksColor(ticsColor); + + controller.objectCreated(iAxis); + controller.setGraphicObjectRelationship(parent, iAxis); + return iAxis; + } + + public static int createCompound(int parent, int[] children) { + GraphicController controller = GraphicController.getController(); + int iCompound = controller.askObject(Type.COMPOUND); + + GraphicObject obj = controller.getObjectFromId(parent); + for (int i = 0; i < children.length; i++) { + controller.setGraphicObjectRelationship(iCompound, children[i]); + } + + controller.setGraphicObjectRelationship(parent, iCompound); + controller.setProperty(iCompound, GraphicObjectProperties.__GO_VISIBLE__, obj.getVisible()); + return iCompound; + } + + public static int createCompoundSeq(int parent, int childrenCount) { + GraphicController controller = GraphicController.getController(); + int iCompound = controller.askObject(Type.COMPOUND); + GraphicObject axes = controller.getObjectFromId(parent); + + Integer[] children = axes.getChildren(); + + /* + * Remove the last "number" created objects (located at the children + * list's head) and add them to the compound in the same order + */ + for (int i = 0; i < childrenCount; i++) { + /* + * Set the parent-child relationship between the Compound and each + * aggregated object. Children are added to the Compound from the + * least recent to the most recent, to preserve their former + * ordering. + */ + controller.setGraphicObjectRelationship(iCompound, children[childrenCount - i - 1]); + } + + controller.setGraphicObjectRelationship(parent, iCompound); + + /* + * visibility is obtained from the parent Figure, whereas it is + * retrieved from the parent Axes in ConstructCompound. To be made + * consistent. + */ + Figure fig = (Figure) controller.getObjectFromId(axes.getParentFigure()); + controller.setProperty(iCompound, GraphicObjectProperties.__GO_VISIBLE__, fig.getVisible()); + return iCompound; + } + + public static int createFec(int parent, double[] zminmax, int[] colminmax, int[] colout, boolean with_mesh) { + + GraphicController controller = GraphicController.getController(); + int iFec = controller.askObject(Type.FEC, false); + Axes axes = (Axes) controller.getObjectFromId(parent); + Fec fec = (Fec) controller.getObjectFromId(iFec); + + fec.setZBounds(toDouble(zminmax)); + fec.setColorRange(toInteger(colminmax)); + fec.setOutsideColor(toInteger(colout)); + + fec.setVisible(axes.getVisible()); + + //clip box + fec.setClipBox(axes.getClipBox()); + fec.setClipBoxSet(axes.getClipBoxSet()); + fec.setClipState(axes.getClipState()); + + cloneGraphicContext(parent, iFec); + + fec.setLineMode(with_mesh); + + controller.objectCreated(iFec); + return iFec; + } + + public static int createGrayplot(int parent, int type, double[] pvecx, int n1, int n2) { + + int[] objectTypes = new int[] { GraphicObjectProperties.__GO_GRAYPLOT__, GraphicObjectProperties.__GO_MATPLOT__, GraphicObjectProperties.__GO_MATPLOT__ }; + + GraphicController controller = GraphicController.getController(); + int iPlot = controller.askObject(GraphicObject.getTypeFromName(objectTypes[type]), false); + Axes axes = (Axes) controller.getObjectFromId(parent); + Imageplot plot = (Imageplot) controller.getObjectFromId(iPlot); + + if (type == 2) { //Matplot1 + Double[] data = new Double[pvecx.length]; + for (int i = 0; i < pvecx.length; i++) { + data[i] = pvecx[i]; + } + plot.setTranslate(data); + + Double[] scale = new Double[2]; + scale[0] = (pvecx[2] - pvecx[0]) / (n2 - 1.0); + scale[1] = (pvecx[3] - pvecx[1]) / (n1 - 1.0); + plot.setScale(scale); + } + + plot.setVisible(axes.getVisible()); + + //clip box + plot.setClipBox(axes.getClipBox()); + plot.setClipBoxSet(axes.getClipBoxSet()); + plot.setClipState(axes.getClipState()); + + cloneGraphicContext(parent, iPlot); + controller.objectCreated(iPlot); + return iPlot; + } + + public static int createPolyline(int parent, boolean closed, int plot, int foreground, boolean isForeground, int[] background, int mark_style, boolean isMarkStyle, int mark_foreground, + boolean isMarkForeground, int mark_background, boolean isMarkBackground, boolean isline, boolean isfilled, boolean ismark, boolean isinterp) { + + GraphicController controller = GraphicController.getController(); + int iPoly = controller.askObject(Type.POLYLINE, false); + Axes axes = (Axes) controller.getObjectFromId(parent); + Polyline poly = (Polyline) controller.getObjectFromId(iPoly); + + poly.setVisible(false); + + //clip box + poly.setClipBox(axes.getClipBox()); + poly.setClipBoxSet(axes.getClipBoxSet()); + poly.setClipState(axes.getClipState()); + + poly.setClosed(closed); + poly.setPolylineStyle(plot); + + cloneGraphicContext(parent, iPoly); + + poly.setMarkMode(ismark); + poly.setLineMode(isline); + poly.setFillMode(isfilled); + poly.setInterpColorMode(isinterp); + + if (isForeground) { + poly.setLineColor(foreground); + } + + if (background.length != 0) { + if (isinterp) { + /* 3 or 4 values to store */ + Integer[] color = new Integer[background.length]; + for (int i = 0; i < background.length; i++) { + color[i] = background[i]; + } + + poly.setInterpColorVector(color); + } else { + poly.setBackground(background[0]); + } + } + + if (isMarkStyle) { + poly.setMarkStyle(mark_style); + } + + if (isMarkForeground) { + poly.setMarkForeground(mark_foreground); + } + + if (isMarkBackground) { + poly.setMarkBackground(mark_background); + } + + poly.setVisible(true); + controller.objectCreated(iPoly); + return iPoly; + } + + public static int createLegend(int parent, String[] text, int[] handles) { + GraphicController controller = GraphicController.getController(); + Axes axes = (Axes) controller.getObjectFromId(parent); + + if (axes.getHasLegendChild()) { + controller.removeRelationShipAndDelete(axes.getLegendChild()); + } + + int iLeg = controller.askObject(Type.LEGEND, false); + Legend leg = (Legend) controller.getObjectFromId(iLeg); + + leg.setParent(parent); + leg.setVisible(axes.getVisible()); + + int count = handles.length; + Integer[] textDims = new Integer[2]; + textDims[0] = count; + textDims[1] = 1; + + leg.setTextArrayDimensions(textDims); + leg.setTextStrings(text); + + /* + * Links are ordered from most recent to least recent, as their + * referred-to Polylines in the latter's parent Compound object. + */ + + ArrayList<Integer> links = new ArrayList<Integer>(); + for (int i = count - 1; i >= 0; i--) { + links.add(count - i - 1, handles[i]); + } + + leg.setLinks(links); + + leg.setClipBoxSet(false); + leg.setClipState(0); //OFF + leg.setClipBox(axes.getClipBox()); + + cloneGraphicContext(parent, iLeg); + cloneFontContext(parent, iLeg); + + leg.setFillMode(true); + + controller.objectCreated(iLeg); + leg.setParent(0); + controller.setGraphicObjectRelationship(parent, iLeg); + return iLeg; + } + + public static int createSegs(int parent, double[] vx, double[] vy, double[] vz, boolean isVZ, int[] style, double arsize) { + GraphicController controller = GraphicController.getController(); + Axes axes = (Axes) controller.getObjectFromId(parent); + int iSegs = controller.askObject(Type.SEGS, false); + Segs segs = (Segs) controller.getObjectFromId(iSegs); + + segs.setVisible(axes.getVisible()); + + //clip box + segs.setClipBox(axes.getClipBox()); + segs.setClipBoxSet(axes.getClipBoxSet()); + segs.setClipState(axes.getClipState()); + + /* Segs: Nbr1/2 arrows, Nbr1 is the number of endpoints */ + int numberArrows = vx.length / 2; + + segs.setNumberArrows(numberArrows); + segs.setArrowSize(arsize); + + Double[] arrowCoords = new Double[3 * numberArrows]; + for (int i = 0; i < numberArrows; i++) { + arrowCoords[3 * i] = vx[2 * i]; + arrowCoords[3 * i + 1] = vy[2 * i]; + if (isVZ) { + arrowCoords[3 * i + 2] = vz[2 * i]; + } else { + arrowCoords[3 * i + 2] = 0.0; + } + } + + segs.setBase(arrowCoords); + + for (int i = 0; i < numberArrows; i++) { + arrowCoords[3 * i] = vx[2 * i + 1]; + arrowCoords[3 * i + 1] = vy[2 * i + 1]; + if (isVZ) { + arrowCoords[3 * i + 2] = vz[2 * i + 1]; + } else { + arrowCoords[3 * i + 2] = 0.0; + } + } + + segs.setDirection(arrowCoords); + segs.setColors(toInteger(style)); + + cloneGraphicContext(parent, iSegs); + controller.objectCreated(iSegs); + controller.setGraphicObjectRelationship(parent, iSegs); + return iSegs; + } + + public static int createChamp(int parent, double[] vx, double[] vy, double[] vfx, double[] vfy, double arsize, boolean typeofchamp) { + + GraphicController controller = GraphicController.getController(); + Axes axes = (Axes) controller.getObjectFromId(parent); + + int iChamp = controller.askObject(Type.CHAMP, false); + Champ champ = (Champ) controller.getObjectFromId(iChamp); + + champ.setVisible(axes.getVisible()); + + //clip box + champ.setClipBox(axes.getClipBox()); + champ.setClipBoxSet(axes.getClipBoxSet()); + champ.setClipState(axes.getClipState()); + + int numberArrows = vx.length * vy.length; + champ.setNumberArrows(numberArrows); + + Integer[] dimensions = new Integer[] { vx.length, vy.length }; + champ.setDimensions(dimensions); + + champ.setArrowSize(arsize); + + Double[] arrowCoords = new Double[3 * numberArrows]; + + //convert vx Double + Double[] temp = new Double[vx.length]; + for (int i = 0; i < vx.length; i++) { + temp[i] = vx[i]; + } + champ.setBaseX(temp); + + //convert vy Double + temp = new Double[vy.length]; + for (int i = 0; i < vy.length; i++) { + temp[i] = vy[i]; + } + champ.setBaseY(temp); + + for (int i = 0; i < numberArrows; i++) { + arrowCoords[3 * i] = vfx[i]; + arrowCoords[3 * i + 1] = vfy[i]; + arrowCoords[3 * i + 2] = 0.0; + } + + champ.setDirection(arrowCoords); + champ.setColored(typeofchamp); + + cloneGraphicContext(parent, iChamp); + + controller.objectCreated(iChamp); + controller.setGraphicObjectRelationship(parent, iChamp); + + return iChamp; + } + + public static int createSurface(int parent, int typeof3d, int colorFlag, int colorMode) { + GraphicController controller = GraphicController.getController(); + Axes axes = (Axes) controller.getObjectFromId(parent); + + int iSurf = controller.askObject(GraphicObject.getTypeFromName(typeof3d), false); + Surface surf = (Surface) controller.getObjectFromId(iSurf); + + surf.setVisible(axes.getVisible()); + + //clip box + surf.setClipBox(axes.getClipBox()); + surf.setClipBoxSet(axes.getClipBoxSet()); + surf.setClipState(axes.getClipState()); + + surf.setColorFlag(colorFlag); + surf.setColorMode(colorMode); + + surf.setHiddenColor(axes.getHiddenColor()); + + surf.setSurfaceMode(true); + cloneGraphicContext(parent, iSurf); + controller.objectCreated(iSurf); + controller.setGraphicObjectRelationship(parent, iSurf); + + return iSurf; + } + + public static void initSubWinTo3d(int iSubwin, String legend, boolean isLegend, int[] flag, double alpha, double theta, double[] ebox, double[] x, double[] y, double[] z) { + GraphicController controller = GraphicController.getController(); + + // Force 3d view + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_VIEW__, 1); + + if (isLegend) { + StringTokenizer strTok = new StringTokenizer(legend, "@"); + int iToken = strTok.countTokens(); + if (iToken > 0) { + //X + String str[] = new String[] { strTok.nextToken() }; + Integer label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_X_AXIS_LABEL__); + Integer[] dims = new Integer[] { 1, 1 }; + controller.setProperty(label, GraphicObjectProperties.__GO_TEXT_ARRAY_DIMENSIONS__, dims); + controller.setProperty(label, GraphicObjectProperties.__GO_TEXT_STRINGS__, str); + } + + if (iToken > 1) { + //Y + String str[] = new String[] { strTok.nextToken() }; + Integer label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_Y_AXIS_LABEL__); + Integer[] dims = new Integer[] { 1, 1 }; + controller.setProperty(label, GraphicObjectProperties.__GO_TEXT_ARRAY_DIMENSIONS__, dims); + controller.setProperty(label, GraphicObjectProperties.__GO_TEXT_STRINGS__, str); + } + + if (iToken > 2) { + //Z + String str[] = new String[] { strTok.nextToken() }; + Integer label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_Z_AXIS_LABEL__); + Integer[] dims = new Integer[] { 1, 1 }; + controller.setProperty(label, GraphicObjectProperties.__GO_TEXT_ARRAY_DIMENSIONS__, dims); + controller.setProperty(label, GraphicObjectProperties.__GO_TEXT_STRINGS__, str); + } + } + + // Force psubwin->logflags to linear + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_X_AXIS_LOG_FLAG__, false); + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_Y_AXIS_LOG_FLAG__, false); + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_Z_AXIS_LOG_FLAG__, false); + + Boolean firstPlot = (Boolean) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_FIRST_PLOT__); + + if (firstPlot && (flag[2] == 0 || flag[2] == 1)) { + /* Nothing to do */ + } else { + if (flag[2] == 0 || flag[2] == 1) { + if (firstPlot) { + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_X_AXIS_VISIBLE__, false); + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_Y_AXIS_VISIBLE__, false); + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_Z_AXIS_VISIBLE__, false); + + // 0: OFF + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_BOX_TYPE__, 0); + + Integer label = 0; + label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_X_AXIS_LABEL__); + controller.setProperty(label, GraphicObjectProperties.__GO_VISIBLE__, false); + label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_Y_AXIS_LABEL__); + controller.setProperty(label, GraphicObjectProperties.__GO_VISIBLE__, false); + label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_Z_AXIS_LABEL__); + controller.setProperty(label, GraphicObjectProperties.__GO_VISIBLE__, false); + } + } else if (flag[2] == 2) { + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_X_AXIS_VISIBLE__, false); + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_Y_AXIS_VISIBLE__, false); + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_Z_AXIS_VISIBLE__, false); + + //2: HIDDEN_AXES + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_BOX_TYPE__, 2); + + Integer label = 0; + label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_X_AXIS_LABEL__); + controller.setProperty(label, GraphicObjectProperties.__GO_VISIBLE__, false); + label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_Y_AXIS_LABEL__); + controller.setProperty(label, GraphicObjectProperties.__GO_VISIBLE__, false); + label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_Z_AXIS_LABEL__); + controller.setProperty(label, GraphicObjectProperties.__GO_VISIBLE__, false); + + } else if (flag[2] == 3) { + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_X_AXIS_VISIBLE__, false); + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_Y_AXIS_VISIBLE__, false); + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_Z_AXIS_VISIBLE__, false); + + //1: ON + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_BOX_TYPE__, 1); + + Integer label = 0; + label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_X_AXIS_LABEL__); + controller.setProperty(label, GraphicObjectProperties.__GO_VISIBLE__, true); + label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_Y_AXIS_LABEL__); + controller.setProperty(label, GraphicObjectProperties.__GO_VISIBLE__, true); + label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_Z_AXIS_LABEL__); + controller.setProperty(label, GraphicObjectProperties.__GO_VISIBLE__, true); + + } else if (flag[2] == 4) { + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_X_AXIS_VISIBLE__, true); + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_Y_AXIS_VISIBLE__, true); + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_Z_AXIS_VISIBLE__, true); + + //1: ON + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_BOX_TYPE__, 1); + + Integer label = 0; + label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_X_AXIS_LABEL__); + controller.setProperty(label, GraphicObjectProperties.__GO_VISIBLE__, true); + label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_Y_AXIS_LABEL__); + controller.setProperty(label, GraphicObjectProperties.__GO_VISIBLE__, true); + label = (Integer) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_Z_AXIS_LABEL__); + controller.setProperty(label, GraphicObjectProperties.__GO_VISIBLE__, true); + } + } + + Double[] rotationAngles = new Double[] { alpha, theta }; + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_ROTATION_ANGLES__, rotationAngles); + + Double[] dataBounds = (Double[]) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_DATA_BOUNDS__); + Boolean autoScale = (Boolean) controller.getProperty(iSubwin, GraphicObjectProperties.__GO_AUTO_SCALE__); + + Double rect[] = new Double[] { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; + if (autoScale) { + // compute and merge new specified bounds with data bounds + switch (flag[1]) { + case 0: + break; + case 1: + case 3: + case 5: + case 7: + rect[0] = ebox[0]; // xmin + rect[1] = ebox[1]; // xmax + rect[2] = ebox[2]; // ymin + rect[3] = ebox[3]; // ymax + rect[4] = ebox[4]; // zmin + rect[5] = ebox[5]; // zmax + break; + case 2: + case 4: + case 6: + case 8: + double[] res = getDrect(x, rect[0], rect[1], dataBounds[0], dataBounds[1]); + rect[0] = res[0]; + rect[1] = res[1]; + + res = getDrect(y, rect[2], rect[3], dataBounds[2], dataBounds[3]); + rect[2] = res[0]; + rect[3] = res[1]; + + res = getDrect(z, rect[4], rect[5], dataBounds[4], dataBounds[5]); + rect[4] = res[0]; + rect[5] = res[1]; + break; + } + + if (firstPlot == false) { + rect[0] = Math.min(dataBounds[0], rect[0]); // xmin + rect[1] = Math.max(dataBounds[1], rect[1]); // xmax + rect[2] = Math.min(dataBounds[2], rect[2]); // ymin + rect[3] = Math.max(dataBounds[3], rect[3]); // ymax + rect[4] = Math.min(dataBounds[4], rect[4]); // zmin + rect[5] = Math.max(dataBounds[5], rect[5]); // zmax + } + + if (flag[1] != 0) { + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_DATA_BOUNDS__, rect); + } + } + + if (flag[1] != 0) { + boolean isoview = (flag[1] == 3 || flag[1] == 4 || flag[1] == 5 || flag[1] == 6); + controller.setProperty(iSubwin, GraphicObjectProperties.__GO_ISOVIEW__, isoview); + } + } + + private static double[] getDrect(double[] x, double min, double max, double defaultMin, double defaultMax) { + double refMax = Double.NEGATIVE_INFINITY; + double refMin = Double.POSITIVE_INFINITY; + boolean isInfinite = true; + + for (int i = 0; i < x.length; i++) { + Double tmp = x[i]; + if (tmp.isInfinite() == false && tmp.isNaN() == false) { + refMin = Math.min(refMin, tmp); + refMax = Math.max(refMax, tmp); + isInfinite = false; + } + } + + if (isInfinite) { + refMin = defaultMin; + refMax = defaultMax; + } + + return new double[] { refMin, refMax }; + } + + private static boolean isValidType(int type) { + return type >= 0 && type <= 1; + } + + private static boolean isValidColor(double[] color) { + return (color[0] >= 0.0 && color[0] <= 1.0) && (color[1] >= 0.0 && color[1] <= 1.0) && (color[2] >= 0.0 && color[2] <= 1.0); + } + + public static int createLight(int parent, int type, boolean visible, double[] pos, double[] dir, double[] ambient, double[] diffuse, double[] specular) { + GraphicController controller = GraphicController.getController(); + + int iLight = controller.askObject(Type.LIGHT, false); + Light light = (Light) controller.getObjectFromId(iLight); + + light.setVisible(visible); + if (isValidType(type)) { + light.setLightType(LightType.intToEnum(type)); + } + + if (pos.length == 3) { + light.setPosition(toDouble(pos)); + } + + if (dir.length == 3) { + light.setDirection(toDouble(dir)); + } + if (ambient.length == 3) { + if (isValidColor(ambient)) { + light.setAmbientColor(toDouble(ambient)); + } + } + if (diffuse.length == 3) { + if (isValidColor(diffuse)) { + light.setDiffuseColor(toDouble(diffuse)); + } + } + if (specular.length == 3) { + if (isValidColor(specular)) { + light.setSpecularColor(toDouble(specular)); + } + } + + controller.objectCreated(iLight); + // Set light's parent + controller.setGraphicObjectRelationship(parent, iLight); + return iLight; + } + + private static Double[] toDouble(double[] var) { + Double[] ret = new Double[var.length]; + for (int i = 0; i < var.length; i++) { + ret[i] = var[i]; + } + + return ret; + } + + private static Integer[] toInteger(int[] var) { + Integer[] ret = new Integer[var.length]; + for (int i = 0; i < var.length; i++) { + ret[i] = var[i]; + } + + return ret; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/compound/Compound.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/compound/Compound.java new file mode 100755 index 000000000..3a12df4fe --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/compound/Compound.java @@ -0,0 +1,42 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.compound; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; + +/** + * Compound object class + * @author Manuel JULIACHS + */ +public class Compound extends GraphicObject { + + /** Constructor */ + public Compound() { + super(); + } + + @Override + public void accept(Visitor visitor) { + visitor.visit(this); + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_COMPOUND__; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/console/Console.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/console/Console.java new file mode 100755 index 000000000..501b7add6 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/console/Console.java @@ -0,0 +1,227 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.console; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CONSOLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SHOWHIDDENHANDLES__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SHOWHIDDENPROPERTIES__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TOOLBAR_VISIBLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_USEDEPRECATEDLF__; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * @author Vincent COUVERT + */ +public final class Console extends GraphicObject { + + /** + * Scilab mode enum + * Java Console created only in STD mode + */ + public enum ScilabMode { STD, NW }; + + private static Console me; + + private boolean showHiddenHandles; + + private boolean showHiddenProperties; + + private ScilabMode scilabMode; + + private boolean useDeprecatedLF = false; + + private boolean toolbarVisible = false; + + /** Console properties names */ + private enum ConsoleProperty { + SHOWHIDDENHANDLES, + SHOWHIDDENPROPERTIES, + USEDEPRECATEDLF, + TOOLBARVISIBLE + }; + + /** + * Constructor + */ + private Console() { + super(); + } + + /** + * Returns the console object + * @return the console object + */ + public static Console getConsole() { + if (me == null) { + me = new Console(); + } + + return me; + + } + + /** + * Get this object type + * @return "Console" + * @see org.scilab.modules.graphic_objects.graphicObject.GraphicObject#getType() + */ + public Integer getType() { + return __GO_CONSOLE__; + } + + /** + * Set the scilabMode property + * @param scilabMode the new value to set + */ + public UpdateStatus setScilabMode(ScilabMode scilabMode) { + this.scilabMode = scilabMode; + return UpdateStatus.Success; + } + + /** + * Get the javaEnabled proeprty + * @return javaEnabled + */ + public ScilabMode getScilabMode() { + return this.scilabMode; + } + + /** + * Set the showHiddenHandles property + * @param showHiddenHandles the new value to set + */ + public UpdateStatus setShowHiddenHandles(boolean showHiddenHandles) { + this.showHiddenHandles = showHiddenHandles; + return UpdateStatus.Success; + } + + /** + * Get the showHiddenHandles property + * @return showHiddenHandles + */ + public boolean getShowHiddenHandles() { + return this.showHiddenHandles; + } + + /** + * Set the showHiddenProperties property + * @param showHiddenProperties the new value to set + */ + public UpdateStatus setShowHiddenProperties(boolean showHiddenProperties) { + this.showHiddenProperties = showHiddenProperties; + return UpdateStatus.Success; + } + + /** + * Get the showHiddenProperties property + * @return showHiddenProperties + */ + public boolean getShowHiddenProperties() { + return this.showHiddenProperties; + } + + /** + * Accept method + * @param visitor the visitor + * @see org.scilab.modules.graphic_objects.graphicObject.GraphicObject#accept(org.scilab.modules.graphic_objects.graphicObject.Visitor) + */ + public void accept(Visitor visitor) { + + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + if (propertyName == __GO_SHOWHIDDENHANDLES__) { + return ConsoleProperty.SHOWHIDDENHANDLES; + } else if (propertyName == __GO_SHOWHIDDENPROPERTIES__) { + return ConsoleProperty.SHOWHIDDENPROPERTIES; + } else if (propertyName == __GO_USEDEPRECATEDLF__) { + return ConsoleProperty.USEDEPRECATEDLF; + } else if (propertyName == __GO_TOOLBAR_VISIBLE__) { + return ConsoleProperty.TOOLBARVISIBLE; + } else { + return super.getPropertyFromName(propertyName); + } + } + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == ConsoleProperty.SHOWHIDDENHANDLES) { + return getShowHiddenHandles(); + } else if (property == ConsoleProperty.SHOWHIDDENPROPERTIES) { + return getShowHiddenProperties(); + } else if (property == ConsoleProperty.USEDEPRECATEDLF) { + return getUseDeprecatedLF(); + } else if (property == ConsoleProperty.TOOLBARVISIBLE) { + return getToolbarVisible(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == ConsoleProperty.SHOWHIDDENHANDLES) { + setShowHiddenHandles((Boolean) value); + } else if (property == ConsoleProperty.SHOWHIDDENPROPERTIES) { + setShowHiddenProperties((Boolean) value); + } else if (property == ConsoleProperty.USEDEPRECATEDLF) { + setUseDeprecatedLF((Boolean) value); + } else if (property == ConsoleProperty.TOOLBARVISIBLE) { + setToolbarVisible((Boolean) value); + } else { + return super.setProperty(property, value); + } + return UpdateStatus.Success; + } + + public boolean getUseDeprecatedLF() { + return useDeprecatedLF; + } + + public UpdateStatus setUseDeprecatedLF(boolean useDeprecatedLF) { + if (this.useDeprecatedLF == useDeprecatedLF) { + return UpdateStatus.NoChange; + } + this.useDeprecatedLF = useDeprecatedLF; + return UpdateStatus.Success; + } + + public Boolean getToolbarVisible() { + return toolbarVisible; + } + + public UpdateStatus setToolbarVisible(Boolean status) { + if (status.equals(toolbarVisible)) { + return UpdateStatus.NoChange; + } + + toolbarVisible = status; + return UpdateStatus.Success; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/ClippableContouredObject.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/ClippableContouredObject.java new file mode 100755 index 000000000..38e54470c --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/ClippableContouredObject.java @@ -0,0 +1,178 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.contouredObject; + +import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty; +import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty.ClipStateType; +import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty.ClippablePropertyType; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + + +/** + * ClippableContouredObject + * @author Manuel JULIACHS + */ +public abstract class ClippableContouredObject extends ContouredObject { + /** ClippableContouredObject properties names */ + public enum ClippableContouredObjectPropertyType { CLIPPROPERTY }; + + /** Clipping state */ + private ClippableProperty clipProperty; + + /** Constructor */ + public ClippableContouredObject() { + super(); + clipProperty = new ClippableProperty(); + } + + public ClippableContouredObject clone() { + ClippableContouredObject copy = (ClippableContouredObject) super.clone(); + return copy; + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_CLIP_PROPERTY__ : + return ClippableContouredObjectPropertyType.CLIPPROPERTY; + case __GO_CLIP_STATE__ : + return ClippablePropertyType.CLIPSTATE; + case __GO_CLIP_BOX__ : + return ClippablePropertyType.CLIPBOX; + case __GO_CLIP_BOX_SET__ : + return ClippablePropertyType.CLIPBOXSET; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == ClippableContouredObjectPropertyType.CLIPPROPERTY) { + return getClipProperty(); + } else if (property == ClippablePropertyType.CLIPSTATE) { + return getClipState(); + } else if (property == ClippablePropertyType.CLIPBOX) { + return getClipBox(); + } else if (property == ClippablePropertyType.CLIPBOXSET) { + return getClipBoxSet(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == ClippableContouredObjectPropertyType.CLIPPROPERTY) { + setClipProperty((ClippableProperty) value); + } else if (property == ClippablePropertyType.CLIPSTATE) { + setClipState((Integer) value); + } else if (property == ClippablePropertyType.CLIPBOX) { + setClipBox((Double[]) value); + } else if (property == ClippablePropertyType.CLIPBOXSET) { + setClipBoxSet((Boolean) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + /** + * @return the clipProperty + */ + public ClippableProperty getClipProperty() { + return clipProperty; + } + + /** + * @param clipProperty the clipProperty to set + */ + public UpdateStatus setClipProperty(ClippableProperty clipProperty) { + this.clipProperty = clipProperty; + return UpdateStatus.Success; + } + + /** + * @return the clipBox + */ + public Double[] getClipBox() { + return clipProperty.getClipBox(); + } + + /** + * @param clipBox the clipBox to set + */ + public UpdateStatus setClipBox(Double[] clipBox) { + clipProperty.setClipBox(clipBox); + return UpdateStatus.Success; + } + + /** + * @return the clipState + */ + public Integer getClipState() { + return getClipStateAsEnum().ordinal(); + } + + /** + * @return the clipState + */ + public ClipStateType getClipStateAsEnum() { + return clipProperty.getClipState(); + } + + /** + * @param clipState the clipState to set + */ + public UpdateStatus setClipState(Integer clipState) { + setClipStateAsEnum(ClipStateType.intToEnum(clipState)); + return UpdateStatus.Success; + } + + /** + * @param clipState the clipState to set + */ + public UpdateStatus setClipStateAsEnum(ClipStateType clipState) { + clipProperty.setClipState(clipState); + return UpdateStatus.Success; + } + + /** + * @return the clipBoxSet + */ + public Boolean getClipBoxSet() { + return clipProperty.getClipBoxSet(); + } + + /** + * @param clipBoxSet the clipBoxSet to set + */ + public UpdateStatus setClipBoxSet(Boolean clipBoxSet) { + clipProperty.setClipBoxSet(clipBoxSet); + return UpdateStatus.Success; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/ContouredObject.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/ContouredObject.java new file mode 100755 index 000000000..a249d5d61 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/ContouredObject.java @@ -0,0 +1,535 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.contouredObject; + +import org.scilab.modules.graphic_objects.contouredObject.Line.LinePropertyType; +import org.scilab.modules.graphic_objects.contouredObject.Line.LineType; +import org.scilab.modules.graphic_objects.contouredObject.Mark.MarkPropertyType; +import org.scilab.modules.graphic_objects.contouredObject.Mark.MarkSizeUnitType; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Contoured object class + * @author Manuel JULIACHS + */ +public abstract class ContouredObject extends GraphicObject { + /** ContouredObject properties */ + public enum ContouredObjectPropertyType { LINE, FILLMODE, BACKGROUND, MARK, MARK_OFFSET, MARK_STRIDE, SELECTED }; + + /** Line property */ + private Line line; + + /** Specifies whether the object is filled or not */ + private boolean fillMode; + + /** Background (fill) color */ + private int background; + + /** Mark property */ + private Mark mark; + + private int offset; + private int stride; + + private boolean selected; + private final Integer selectedColor = new Integer(-3); + + /** Default constructor */ + public ContouredObject() { + line = new Line(); + fillMode = false; + background = 0; + mark = new Mark(); + offset = 0; + stride = 1; + selected = false; + } + + public ContouredObject clone() { + ContouredObject copy = (ContouredObject) super.clone(); + + copy.line = new Line(line); + copy.mark = new Mark(mark); + + return copy; + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_LINE__ : + return ContouredObjectPropertyType.LINE; + case __GO_LINE_MODE__ : + return LinePropertyType.MODE; + case __GO_LINE_STYLE__ : + return LinePropertyType.LINESTYLE; + case __GO_LINE_THICKNESS__ : + return LinePropertyType.THICKNESS; + case __GO_LINE_COLOR__ : + return LinePropertyType.COLOR; + case __GO_FILL_MODE__ : + return ContouredObjectPropertyType.FILLMODE; + case __GO_BACKGROUND__ : + return ContouredObjectPropertyType.BACKGROUND; + case __GO_MARK__ : + return ContouredObjectPropertyType.MARK; + case __GO_MARK_MODE__ : + return MarkPropertyType.MODE; + case __GO_MARK_STYLE__ : + return MarkPropertyType.STYLE; + case __GO_MARK_SIZE_UNIT__ : + return MarkPropertyType.SIZEUNIT; + case __GO_MARK_SIZE__ : + return MarkPropertyType.SIZE; + case __GO_MARK_FOREGROUND__ : + return MarkPropertyType.FOREGROUND; + case __GO_MARK_BACKGROUND__ : + return MarkPropertyType.BACKGROUND; + case __GO_MARK_OFFSET__ : + return ContouredObjectPropertyType.MARK_OFFSET; + case __GO_MARK_STRIDE__ : + return ContouredObjectPropertyType.MARK_STRIDE; + case __GO_SELECTED__ : + return ContouredObjectPropertyType.SELECTED; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == ContouredObjectPropertyType.LINE) { + return getLine(); + } else if (property == LinePropertyType.MODE) { + return getLineMode(); + } else if (property == LinePropertyType.LINESTYLE) { + return getLineStyle(); + } else if (property == LinePropertyType.THICKNESS) { + return getLineThickness(); + } else if (property == LinePropertyType.COLOR) { + return getLineColor(); + } else if (property == ContouredObjectPropertyType.FILLMODE) { + return getFillMode(); + } else if (property == ContouredObjectPropertyType.BACKGROUND) { + return getBackground(); + } else if (property == ContouredObjectPropertyType.MARK) { + return getMark(); + } else if (property == MarkPropertyType.MODE) { + return getMarkMode(); + } else if (property == MarkPropertyType.STYLE) { + return getMarkStyle(); + } else if (property == MarkPropertyType.SIZEUNIT) { + return getMarkSizeUnit(); + } else if (property == MarkPropertyType.SIZE) { + return getMarkSize(); + } else if (property == MarkPropertyType.FOREGROUND) { + return getMarkForeground(); + } else if (property == MarkPropertyType.BACKGROUND) { + return getMarkBackground(); + } else if (property == ContouredObjectPropertyType.MARK_OFFSET) { + return getMarkOffset(); + } else if (property == ContouredObjectPropertyType.MARK_STRIDE) { + return getMarkStride(); + } else if (property == ContouredObjectPropertyType.SELECTED) { + return getSelected(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == ContouredObjectPropertyType.LINE) { + setLine((Line) value); + } else if (property == LinePropertyType.MODE) { + return setLineMode((Boolean) value); + } else if (property == LinePropertyType.LINESTYLE) { + setLineStyle((Integer) value); + } else if (property == LinePropertyType.THICKNESS) { + setLineThickness((Double) value); + } else if (property == LinePropertyType.COLOR) { + return setLineColor((Integer) value); + } else if (property == ContouredObjectPropertyType.FILLMODE) { + return setFillMode((Boolean) value); + } else if (property == ContouredObjectPropertyType.BACKGROUND) { + setBackground((Integer) value); + } else if (property == ContouredObjectPropertyType.MARK) { + setMark((Mark) value); + } else if (property == MarkPropertyType.MODE) { + return setMarkMode((Boolean) value); + } else if (property == MarkPropertyType.STYLE) { + return setMarkStyle((Integer) value); + } else if (property == MarkPropertyType.SIZEUNIT) { + setMarkSizeUnit((Integer) value); + } else if (property == MarkPropertyType.SIZE) { + return setMarkSize((Integer) value); + } else if (property == MarkPropertyType.FOREGROUND) { + this.setMarkForeground((Integer) value); + } else if (property == MarkPropertyType.BACKGROUND) { + this.setMarkBackground((Integer) value); + } else if (property == ContouredObjectPropertyType.MARK_OFFSET) { + this.setMarkOffset((Integer) value); + } else if (property == ContouredObjectPropertyType.MARK_STRIDE) { + this.setMarkStride((Integer) value); + } else if (property == ContouredObjectPropertyType.SELECTED) { + this.setSelected((Boolean) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the color to use for selection + */ + public Integer getSelectedColor() { + return selectedColor; + } + + /** + * @return true if selected + */ + public Boolean getSelected() { + return selected; + } + + /** + * @param selected true if selected + */ + public UpdateStatus setSelected(Boolean selected) { + if (this.selected != selected) { + this.selected = selected; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the offset + */ + public Integer getMarkOffset() { + return offset; + } + + /** + * @param offset the offset to set + */ + public UpdateStatus setMarkOffset(Integer offset) { + if (this.offset != offset) { + this.offset = offset < 0 ? 0 : offset; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the stride + */ + public Integer getMarkStride() { + return stride; + } + + /** + * @param stride the stride to set + */ + public UpdateStatus setMarkStride(Integer stride) { + if (this.stride != stride) { + this.stride = stride < 1 ? 1 : stride; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the background + */ + public Integer getBackground() { + return background; + } + + /** + * @param background the background to set + */ + public UpdateStatus setBackground(Integer background) { + this.background = background; + return UpdateStatus.Success; + } + + /** + * @return the fillMode + */ + public Boolean getFillMode() { + return fillMode; + } + + /** + * @param fillMode the fillMode to set + */ + public UpdateStatus setFillMode(Boolean fillMode) { + if (this.fillMode == fillMode) { + return UpdateStatus.NoChange; + } + this.fillMode = fillMode; + return UpdateStatus.Success; + } + + /** + * @return the line + */ + public Line getLine() { + return line; + } + + /** + * @param line the line to set + */ + public UpdateStatus setLine(Line line) { + this.line = line; + return UpdateStatus.Success; + } + + /** + * Get the line color + * @return the color + */ + public Integer getLineColor() { + return line.getColor(); + } + + /** + * Set the line color + * @param color the color to set + */ + public UpdateStatus setLineColor(Integer color) { + return line.setColor(color); + } + + /** + * Get the line style + * @return the lineStyle + */ + public Integer getLineStyle() { + return getLineStyleAsEnum().asScilabIndex(); + } + + /** + * Get the line style + * @return the lineStyle + */ + public LineType getLineStyleAsEnum() { + return line.getLineStyle(); + } + + /** + * Set the line style + * @param lineStyle the lineStyle to set + */ + public UpdateStatus setLineStyle(Integer lineStyle) { + setLineStyleAsEnum(LineType.fromScilabIndex(lineStyle)); + return UpdateStatus.Success; + } + + /** + * Set the line style + * @param lineStyle the lineStyle to set + */ + public UpdateStatus setLineStyleAsEnum(LineType lineStyle) { + line.setLineStyle(lineStyle); + return UpdateStatus.Success; + } + + /** + * Return the line mode + * @return the mode + */ + public Boolean getLineMode() { + return line.getMode(); + } + + /** + * Set the line mode + * @param mode the mode to set + */ + public UpdateStatus setLineMode(Boolean mode) { + return line.setMode(mode); + } + + /** + * Get the line thickness + * @return the thickness + */ + public Double getLineThickness() { + return line.getThickness(); + } + + /** + * Set the line thickness + * @param thickness the thickness to set + */ + public UpdateStatus setLineThickness(Double thickness) { + line.setThickness(thickness); + return UpdateStatus.Success; + } + + /** + * @return the mark + */ + public Mark getMark() { + return mark; + } + + /** + * @param mark the mark to set + */ + public UpdateStatus setMark(Mark mark) { + this.mark = mark; + return UpdateStatus.Success; + } + + /** + * Get the mark background + * @return the background + */ + public Integer getMarkBackground() { + return mark.getBackground(); + } + + /** + * Set the mark background + * @param background the background to set + */ + public UpdateStatus setMarkBackground(Integer background) { + mark.setBackground(background); + return UpdateStatus.Success; + } + + /** + * Get the mark foreground + * @return the foreground + */ + public Integer getMarkForeground() { + return mark.getForeground(); + } + + /** + * Set the mark foreground + * @param foreground the foreground to set + */ + public UpdateStatus setMarkForeground(Integer foreground) { + mark.setForeground(foreground); + return UpdateStatus.Success; + } + + /** + * Get the mark size unit + * @return the markSizeUnit + */ + public Integer getMarkSizeUnit() { + return getMarkSizeUnitAsEnum().ordinal(); + } + + /** + * Get the mark size unit + * @return the markSizeUnit + */ + public MarkSizeUnitType getMarkSizeUnitAsEnum() { + return mark.getMarkSizeUnit(); + } + + /** + * Set the mark size unit + * @param markSizeUnit the markSizeUnit to set + */ + public UpdateStatus setMarkSizeUnit(Integer markSizeUnit) { + setMarkSizeUnitAsEnum(MarkSizeUnitType.intToEnum(markSizeUnit)); + return UpdateStatus.Success; + } + + /** + * Set the mark size unit + * @param markSizeUnit the markSizeUnit to set + */ + public UpdateStatus setMarkSizeUnitAsEnum(MarkSizeUnitType markSizeUnit) { + mark.setMarkSizeUnit(markSizeUnit); + return UpdateStatus.Success; + } + + /** + * Get the mark size + * @return the size + */ + public Integer getMarkSize() { + return mark.getSize(); + } + + /** + * Set the mark size + * @param size the size to set + */ + public UpdateStatus setMarkSize(Integer size) { + return mark.setSize(size); + } + + /** + * Get the mark mode + * @return the mode + */ + public Boolean getMarkMode() { + return mark.getMode(); + } + + /** + * Set the mark mode + * @param mode the mode to set + */ + public UpdateStatus setMarkMode(Boolean mode) { + return mark.setMode(mode); + } + + /** + * Get the mark style + * @return the style + */ + public Integer getMarkStyle() { + return mark.getStyle(); + } + + /** + * Set the mark style + * @param style the style to set + */ + public UpdateStatus setMarkStyle(Integer style) { + return mark.setStyle(style); + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/Line.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/Line.java new file mode 100755 index 000000000..d172f91c6 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/Line.java @@ -0,0 +1,204 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.contouredObject; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * Line class + * @author Manuel JULIACHS + */ +public class Line { + /** Line properties */ + public enum LinePropertyType { MODE, LINESTYLE, THICKNESS, COLOR }; + + /** Line style */ + public enum LineType { SOLID, DASH, DASH_DOT, LONG_DASH_DOT, BIG_DASH_DOT, BIG_DASH_LONG_DASH, DOT, DOUBLE_DOT, LONG_BLANK_DOT, BIG_BLANK_DOT; + + /** + * Converts a scilab line style index to the corresponding line type. + * @param sciIndex the scilab index. + * @return the line type as enum. + */ + public static LineType fromScilabIndex(Integer sciIndex) { + switch (sciIndex) { + case 1: + return SOLID; + case 2: + return DASH; + case 3: + return DASH_DOT; + case 4: + return LONG_DASH_DOT; + case 5: + return BIG_DASH_DOT; + case 6: + return BIG_DASH_LONG_DASH; + case 7: + return DOT; + case 8: + return DOUBLE_DOT; + case 9: + return LONG_BLANK_DOT; + case 10: + return BIG_BLANK_DOT; + default: + return SOLID; + } + } + + /** + * Converts the line type to the corresponding scilab line style index. + * @return the scilab line style index corresponding to this line type. + */ + public int asScilabIndex() { + return ordinal() + 1; + } + + /** + * Converts the line type to a 16-bit pattern. + * @return the 16-bit pattern corresponding to the line type. + */ + public short asPattern() { + switch (this) { + case DASH: + return (short) 0x07FF; // 5 blanks, 11 solids + case DASH_DOT: + return (short) 0x0F0F; // 4 blanks, 4 solids, 4 blanks, 4 solids + case LONG_DASH_DOT: + return (short) 0x1FC2; // 3 blanks, 3 solids, 3 blanks, 7 solids + case BIG_DASH_DOT: + return (short) 0x3FC9; // 2 blanks, 8 solids, 2 blanks, 1 solid, 2 blanks, 1 solid + case BIG_DASH_LONG_DASH: + return (short) 0x3FC6; // 3 blanks, 8 solids, 3 blanks, 2 solids + case DOT: + return (short) 0x5555; // (1 blank, 1 solid) x 8 + case DOUBLE_DOT: + return (short) 0x3333; // (2 blanks, 2 solids) x 4 + case LONG_BLANK_DOT: + return (short) 0x1111; // (3 blanks, 1 solids) x 4 + case BIG_BLANK_DOT: + return (short) 0x0101; // (7 blanks, 1 solids) x 2 + default: + case SOLID: + return (short) 0xFFFF; // 16 solids, unused equivalent to no stipple + } + } + } + + /** Specifies whether the line is drawn or not */ + private boolean mode; + + /** Line style */ + private LineType lineStyle; + + /** Line thickness */ + private double thickness; + + /** Line color */ + private int color; + + /** Constructor */ + public Line() { + mode = false; + lineStyle = LineType.SOLID; + thickness = 1.0; + color = -1; + } + + /** + * Copy constructor + * @param line the Line to copy + */ + public Line(Line line) { + mode = line.mode; + lineStyle = line.lineStyle; + thickness = line.thickness; + color = line.color; + } + + /** + * @return the color + */ + public Integer getColor() { + return color; + } + + /** + * @param color the color to set + */ + public UpdateStatus setColor(Integer color) { + if (this.color == color) { + return UpdateStatus.NoChange; + } + this.color = color; + return UpdateStatus.Success; + } + + /** + * @return the lineStyle + */ + public LineType getLineStyle() { + return lineStyle; + } + + /** + * @param lineStyle the lineStyle to set + */ + public UpdateStatus setLineStyle(LineType lineStyle) { + if (this.lineStyle != lineStyle) { + this.lineStyle = lineStyle; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the mode + */ + public Boolean getMode() { + return mode; + } + + /** + * @param mode the mode to set + */ + public UpdateStatus setMode(Boolean mode) { + if (this.mode == mode) { + return UpdateStatus.NoChange; + } + this.mode = mode; + return UpdateStatus.Success; + } + + /** + * @return the thickness + */ + public Double getThickness() { + return thickness; + } + + /** + * @param thickness the thickness to set + */ + public UpdateStatus setThickness(Double thickness) { + if (this.thickness != thickness) { + this.thickness = thickness; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/Mark.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/Mark.java new file mode 100755 index 000000000..3aa1e69f4 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/contouredObject/Mark.java @@ -0,0 +1,198 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.contouredObject; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * Mark class + * @author Manuel JULIACHS + */ +public class Mark { + /** Mark properties */ + public enum MarkPropertyType { MODE, STYLE, SIZEUNIT, SIZE, FOREGROUND, BACKGROUND }; + + /** Mark size unit type */ + public enum MarkSizeUnitType { POINT, TABULATED; + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the mark size unit type enum + */ + public static MarkSizeUnitType intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return MarkSizeUnitType.POINT; + case 1: + return MarkSizeUnitType.TABULATED; + default: + return null; + } + } + } + + + /** Specifies whether marks must be drawn or not */ + private boolean mode; + + /** Mark style */ + private int style; + + /** Mark size unit */ + private MarkSizeUnitType markSizeUnit; + + /** Mark size */ + private int size; + + /** Foreground color */ + private int foreground; + + /** Background color */ + private int background; + + /** Constructor */ + public Mark() { + super(); + mode = false; + style = 0; + markSizeUnit = MarkSizeUnitType.POINT; + foreground = 0; + background = 0; + } + + /** + * Copy constructor + * @param mark the Mark to copy + */ + public Mark(Mark mark) { + mode = mark.mode; + style = mark.style; + size = mark.size; + markSizeUnit = mark.markSizeUnit; + foreground = mark.foreground; + background = mark.background; + } + + /** + * @return the background + */ + public Integer getBackground() { + return background; + } + + /** + * @param background the background to set + */ + public UpdateStatus setBackground(Integer background) { + if (this.background != background) { + this.background = background; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the foreground + */ + public Integer getForeground() { + return foreground; + } + + /** + * @param foreground the foreground to set + */ + public UpdateStatus setForeground(Integer foreground) { + if (this.foreground != foreground) { + this.foreground = foreground; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the markSizeUnit + */ + public MarkSizeUnitType getMarkSizeUnit() { + return markSizeUnit; + } + + /** + * @param markSizeUnit the markSizeUnit to set + */ + public UpdateStatus setMarkSizeUnit(MarkSizeUnitType markSizeUnit) { + if (this.markSizeUnit != markSizeUnit) { + this.markSizeUnit = markSizeUnit; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the size + */ + public Integer getSize() { + return size; + } + + /** + * @param size the size to set + */ + public UpdateStatus setSize(Integer size) { + if (this.size == size) { + return UpdateStatus.NoChange; + } + this.size = size; + return UpdateStatus.Success; + } + + /** + * @return the mode + */ + public Boolean getMode() { + return mode; + } + + /** + * @param mode the mode to set + */ + public UpdateStatus setMode(Boolean mode) { + if (this.mode == mode) { + return UpdateStatus.NoChange; + } + this.mode = mode; + return UpdateStatus.Success; + } + + /** + * @return the style + */ + public Integer getStyle() { + return style; + } + + /** + * @param style the style to set + */ + public UpdateStatus setStyle(Integer style) { + if (this.style == style) { + return UpdateStatus.NoChange; + } + this.style = style; + return UpdateStatus.Success; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/datatip/Datatip.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/datatip/Datatip.java new file mode 100755 index 000000000..600172939 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/datatip/Datatip.java @@ -0,0 +1,440 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - Pedro Arthur dos S. Souza + * Copyright (C) 2012 - Caio Lucas dos S. Souza + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.datatip; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIP_3COMPONENT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIP_AUTOORIENTATION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIP_BOX_MODE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIP_DATA__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIP_DISPLAY_FNC__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIP_INTERP_MODE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIP_LABEL_MODE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIP_ORIENTATION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIP_INDEXES__; + +import java.text.DecimalFormat; +import java.text.DecimalFormatSymbols; + +import org.scilab.forge.scirenderer.ruler.graduations.UserDefinedFormat; + +import org.scilab.modules.action_binding.InterpreterManagement; +import org.scilab.modules.graphic_objects.PolylineData; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.textObject.Text; +import org.scilab.modules.localization.Messages; + +public class Datatip extends Text { + + /** false = datatip text box is hidden*/ + Boolean tipBoxMode; + /** false = datatip label is hidden*/ + Boolean tipLabelMode; + /** false = display only (X, Y), true = display (X, Y, Z)*/ + Boolean use3component; + /** false = no interpolation between point segments*/ + Boolean interpMode; + /** Displayed number format*/ + DecimalFormat tipTextFormat; + /** Display function*/ + String displayFnc; + /** For automatic update the datatip orientation*/ + Boolean autoOrientation; + /* index of data in parent object ( polyline, plot3d, fac3d*/ + /* size = 1 for polyline and 2 for others*/ + Integer dataIndex; + Double ratio; + + + enum DatatipObjectProperty { TIP_DATA, TIP_BOX_MODE, TIP_LABEL_MODE, TIP_ORIENTATION, TIP_AUTOORIENTATION, TIP_3COMPONENT, TIP_INTERP_MODE, TIP_DISPLAY_FNC, TIP_INDEXES}; + enum TipOrientation { TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT, LEFT, RIGHT, TOP, BOTTOM; + + /** + * Transform a integer to a TipOrientation enum. + */ + public static TipOrientation intToEnum(Integer i) { + switch (i) { + case 0: + return TipOrientation.TOP_LEFT; + case 1: + return TipOrientation.TOP_RIGHT; + case 2: + return TipOrientation.BOTTOM_LEFT; + case 3: + return TipOrientation.BOTTOM_RIGHT; + case 4: + return TipOrientation.LEFT; + case 5: + return TipOrientation.RIGHT; + case 6: + return TipOrientation.TOP; + case 7: + return TipOrientation.BOTTOM; + default: + return TipOrientation.TOP_RIGHT; + } + } + + }; + + TipOrientation currentOrientation; + + /** + * Initializes the datatip, setup format, orientation and mark. + */ + public Datatip() { + super(); + use3component = false; + autoOrientation = true; + setOrientationAsEnum(TipOrientation.TOP_RIGHT); + DecimalFormat fb = new DecimalFormat("#.####E00"); + DecimalFormatSymbols decimalFormatSymbols = fb.getDecimalFormatSymbols(); + decimalFormatSymbols.setDecimalSeparator('.'); + decimalFormatSymbols.setExponentSeparator("e"); + decimalFormatSymbols.setGroupingSeparator('\u00A0'); + fb.setDecimalFormatSymbols(decimalFormatSymbols); + tipTextFormat = new UserDefinedFormat(fb, "%g", 1, 0); + + tipBoxMode = true; + tipLabelMode = true; + interpMode = true; + displayFnc = ""; + ratio = 0.; + dataIndex = Integer.MIN_VALUE; + setVisible(true); + setBox(true); + setLineMode(true); + setFillMode(true); + setBackground(-2); + setClipState(1); + + setMarkMode(true); + setMarkSize(8); + setMarkBackground(-1); + setMarkForeground(-1); + setMarkStyle(11); + } + + @Override + public void accept(Visitor visitor) { + visitor.visit(this); + } + + /** + * Convert the property name to the DatatipObjectProperty enum. + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_DATATIP_DATA__: + return DatatipObjectProperty.TIP_DATA; + case __GO_DATATIP_BOX_MODE__: + return DatatipObjectProperty.TIP_BOX_MODE; + case __GO_DATATIP_LABEL_MODE__: + return DatatipObjectProperty.TIP_LABEL_MODE; + case __GO_DATATIP_ORIENTATION__: + return DatatipObjectProperty.TIP_ORIENTATION; + case __GO_DATATIP_3COMPONENT__: + return DatatipObjectProperty.TIP_3COMPONENT; + case __GO_DATATIP_AUTOORIENTATION__: + return DatatipObjectProperty.TIP_AUTOORIENTATION; + case __GO_DATATIP_INTERP_MODE__: + return DatatipObjectProperty.TIP_INTERP_MODE; + case __GO_DATATIP_DISPLAY_FNC__: + return DatatipObjectProperty.TIP_DISPLAY_FNC; + case __GO_DATATIP_INDEXES__ : + return DatatipObjectProperty.TIP_INDEXES; + default: + return super.getPropertyFromName(propertyName); + } + } + + /** + * @return the datatip property + */ + public Object getProperty(Object property) { + if (property instanceof DatatipObjectProperty) { + switch ((DatatipObjectProperty) property) { + case TIP_DATA: + return getTipData(); + case TIP_BOX_MODE: + return getTipBoxMode(); + case TIP_LABEL_MODE: + return getTipLabelMode(); + case TIP_ORIENTATION: + return getOrientation(); + case TIP_3COMPONENT: + return isUsing3Component(); + case TIP_AUTOORIENTATION: + return isAutoOrientationEnabled(); + case TIP_INTERP_MODE: + return getInterpMode(); + case TIP_DISPLAY_FNC: + return getDisplayFunction(); + case TIP_INDEXES: + return getIndexes(); + } + } + + return super.getProperty(property); + } + + /** + * Set the datatip property + * @param property the property + * @param value the new property value. + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property instanceof DatatipObjectProperty) { + switch ((DatatipObjectProperty) property) { + case TIP_BOX_MODE: + return setTipBoxMode((Boolean) value); + case TIP_LABEL_MODE: + return setTipLabelMode((Boolean) value); + case TIP_ORIENTATION: + return setOrientation((Integer) value); + case TIP_3COMPONENT: + return setUse3Component((Boolean) value); + case TIP_AUTOORIENTATION: + return setAutoOrientation((Boolean) value); + case TIP_INTERP_MODE: + return setInterpMode((Boolean) value); + case TIP_DISPLAY_FNC: + return setDisplayFunction((String) value); + case TIP_INDEXES: + return setIndexes((Double[]) value); + } + } + + return super.setProperty(property, value); + } + + /** + * Get the current tip data + * @return the tip data + */ + public Double[] getTipData() { + final double[] dataX = (double[]) PolylineData.getDataX(getParent()); + final double[] dataY = (double[]) PolylineData.getDataY(getParent()); + + if (use3component) { + final double[] dataZ = (double[]) PolylineData.getDataZ(getParent()); + + if (dataX.length < dataIndex + 2 || dataY.length < dataIndex + 2 || dataZ.length < dataIndex + 2) { + if (dataX.length >= 1 && dataY.length >= 1 && dataZ.length >= 1) { + return new Double[] {dataX[dataX.length - 1], dataY[dataY.length - 1], dataZ[dataZ.length - 1]}; + } else { + return new Double[] {0., 0., 0.}; + } + } + + //get pt0 and pt1 from polyline data + final double[] pt0 = new double[] {dataX[dataIndex], dataY[dataIndex], dataZ[dataIndex]}; + final double[] pt1 = new double[] {dataX[dataIndex + 1], dataY[dataIndex + 1], dataZ[dataIndex + 1]}; + + final double x = pt0[0] + (pt1[0] - pt0[0]) * ratio; + final double y = pt0[1] + (pt1[1] - pt0[1]) * ratio; + final double z = pt0[2] + (pt1[2] - pt0[2]) * ratio; + + return new Double[] {x, y, z}; + } else { + if (dataX.length < dataIndex + 2 || dataY.length < dataIndex + 2) { + if (dataX.length >= 1 && dataY.length >= 1) { + return new Double[] {dataX[dataX.length - 1], dataY[dataY.length - 1], 0.}; + } else { + return new Double[] {0., 0., 0.}; + } + } + + //get pt0 and pt1 from polyline data + final double[] pt0 = new double[] {dataX[dataIndex], dataY[dataIndex]}; + final double[] pt1 = new double[] {dataX[dataIndex + 1], dataY[dataIndex + 1]}; + + final double x = pt0[0] + (pt1[0] - pt0[0]) * ratio; + final double y = pt0[1] + (pt1[1] - pt0[1]) * ratio; + + return new Double[] {x, y, 0.}; + } + } + + /** + * Get the current textbox orientation as an integer + * @return current orientation. + */ + public Integer getOrientation() { + return getOrientationAsEnum().ordinal(); + } + + /** + * Get the current oriantation as a enum + * @return the current orientation + */ + public TipOrientation getOrientationAsEnum() { + return currentOrientation; + } + + /** + * Set the current orientation (updating the text position) + * @param orientation the new orientation (integer). + */ + public UpdateStatus setOrientation(Integer orientation) { + currentOrientation = TipOrientation.intToEnum(orientation); + return UpdateStatus.Success; + } + + /** + * Set the current orientation (updating the text position) + * @param orientation the new orientation (TipOrientation enum). + */ + public UpdateStatus setOrientationAsEnum(TipOrientation orientation) { + currentOrientation = orientation; + return UpdateStatus.Success; + } + + /** + * @return true if the datatip is displaying the Z component, false otherwise. + */ + public Boolean isUsing3Component() { + return use3component; + } + + /** + * If true set the Z component to be displayed. + * @param useZ True to enable display the Z component, false to disable. + */ + public UpdateStatus setUse3Component(Boolean useZ) { + use3component = useZ; + updateText(); + return UpdateStatus.Success; + } + + + public Boolean isAutoOrientationEnabled() { + return autoOrientation; + } + + public UpdateStatus setAutoOrientation(Boolean status) { + autoOrientation = status; + return UpdateStatus.Success; + } + + /** + * Update the text from the datatip base on current tipData value. + */ + public void updateText() { + //if display function is empty look in parent + //if parent is empty too use default print + + String fnc = getDisplayFunction(); + if (fnc == null || fnc.equals("")) { + //look in parent + fnc = (String) GraphicController.getController().getProperty(getParent(), GraphicObjectProperties.__GO_DATATIP_DISPLAY_FNC__); + if (fnc == null || fnc.equals("")) { + String[] textArray = new String[] {"X:", "Y:", "Z:"}; + Double[] tipData = getTipData(); + textArray[0] += tipTextFormat.format(tipData[0]); + textArray[1] += tipTextFormat.format(tipData[1]); + textArray[2] += tipTextFormat.format(tipData[2]); + + Integer[] dim = new Integer[2]; + dim[0] = use3component ? 3 : 2; + dim[1] = 1; + setTextArrayDimensions(dim); + setTextStrings(textArray); + return; + } + } + + String errMsg = Messages.gettext("Wrong value for '%s' property: A valid function name expected.\n"); + errMsg = errMsg.replace("'", "''"); + errMsg = errMsg.replace("\n", "\\n"); + String updateCommand = "try;" + + "GDZa786XBSq7899SHKp=getcallbackobject(" + getIdentifier() + ");" + + "set(GDZa786XBSq7899SHKp,\"text\"," + fnc + "(GDZa786XBSq7899SHKp));" + + "clear(\"GDZa786XBSq7899SHKp\");" + + "catch;" + + "set(GDZa786XBSq7899SHKp,\"display_function\",\"\");" + + "set(GDZa786XBSq7899SHKp.parent,\"display_function\",\"\");" + + "clear(\"GDZa786XBSq7899SHKp\");" + + "error(msprintf(\"" + errMsg + "\", \"display_function\"));" + + "end;"; + InterpreterManagement.requestScilabExec(updateCommand); + } + + public Boolean getTipBoxMode() { + return tipBoxMode; + } + + public Boolean getTipLabelMode() { + return tipLabelMode; + } + + public Boolean getInterpMode() { + return interpMode; + } + + public String getDisplayFunction() { + return displayFnc; + } + + public UpdateStatus setTipBoxMode(Boolean mode) { + tipBoxMode = mode; + setBox(tipBoxMode); + return UpdateStatus.Success; + } + + public UpdateStatus setTipLabelMode(Boolean mode) { + tipLabelMode = mode; + return UpdateStatus.Success; + } + + public UpdateStatus setInterpMode(Boolean mode) { + interpMode = mode; + return UpdateStatus.Success; + } + + public UpdateStatus setDisplayFunction(String fnc) { + displayFnc = fnc; + updateText(); + return UpdateStatus.Success; + } + + @Override + public Double[] getPosition() { + return getTipData(); + } + + public UpdateStatus setIndexes(Double[] value) { + if (value[0].intValue() != dataIndex || !value[1].equals(ratio)) { + dataIndex = value[0].intValue(); + ratio = new Double(value[1]); + updateText(); + + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + public Integer getIndexes() { + return dataIndex; + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_DATATIP__; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/event/EventHandler.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/event/EventHandler.java new file mode 100755 index 000000000..021246c4c --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/event/EventHandler.java @@ -0,0 +1,64 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2014 - Scilab Enterprises - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.event; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +public class EventHandler { + /** Event handler string */ + private String eventHandler = ""; + + /** Specifies whether the event handler is enabled or not */ + private Boolean eventHandlerEnabled = false; + + /** + * Default constructor + */ + public EventHandler() { + eventHandler = ""; + eventHandlerEnabled = false; + } + + /** + * Copy constructor + * @param eventHandler the EventHandler to copy + */ + public EventHandler(EventHandler eventHandler) { + this.eventHandler = eventHandler.eventHandler; + this.eventHandlerEnabled = eventHandler.eventHandlerEnabled; + } + + public Boolean getEventHandlerEnabled() { + return eventHandlerEnabled; + } + + public UpdateStatus setEventHandlerEnabled(Boolean eventHandlerEnabled) { + if (eventHandlerEnabled == this.eventHandlerEnabled) { + return UpdateStatus.NoChange; + } + this.eventHandlerEnabled = eventHandlerEnabled; + return UpdateStatus.Success; + } + + public String getEventHandlerString() { + return eventHandler; + } + + public UpdateStatus setEventHandlerString(String eventHandler) { + if (this.eventHandler.compareTo(eventHandler) == 0) { + return UpdateStatus.NoChange; + } + this.eventHandler = eventHandler; + return UpdateStatus.Success; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/fec/Fec.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/fec/Fec.java new file mode 100755 index 000000000..6f1f954a3 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/fec/Fec.java @@ -0,0 +1,178 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.fec; + +import org.scilab.modules.graphic_objects.ObjectRemovedException; +import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Fec class + * @author Manuel JULIACHS + */ +public class Fec extends ClippableContouredObject { + // TBD: Data + // + triangles -> Data Model + // TBD properties relative to the data model + /** Fec properties names */ + private enum FecProperty { ZBOUNDS, OUTSIDECOLOR, COLORRANGE }; + + /** Z Bounds: 2-element array */ + private double[] zBounds; + + /** 2-element array */ + private int[] outsideColor; + + /** 2-element array */ + private int[] colorRange; + + /** Constructor */ + public Fec() { + super(); + zBounds = new double[2]; + outsideColor = new int[2]; + colorRange = new int[2]; + } + + @Override + public void accept(Visitor visitor) throws ObjectRemovedException { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_Z_BOUNDS__ : + return FecProperty.ZBOUNDS; + case __GO_OUTSIDE_COLOR__ : + return FecProperty.OUTSIDECOLOR; + case __GO_COLOR_RANGE__ : + return FecProperty.COLORRANGE; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == FecProperty.ZBOUNDS) { + return getZBounds(); + } else if (property == FecProperty.OUTSIDECOLOR) { + return getOutsideColor(); + } else if (property == FecProperty.COLORRANGE) { + return getColorRange(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == FecProperty.ZBOUNDS) { + setZBounds((Double[]) value); + } else if (property == FecProperty.OUTSIDECOLOR) { + setOutsideColor((Integer[]) value); + } else if (property == FecProperty.COLORRANGE) { + setColorRange((Integer[]) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the colorRange + */ + public Integer[] getColorRange() { + Integer[] retColorRange = new Integer[2]; + retColorRange[0] = colorRange[0]; + retColorRange[1] = colorRange[1]; + + return retColorRange; + } + + /** + * @param colorRange the colorRange to set + */ + public UpdateStatus setColorRange(Integer[] colorRange) { + this.colorRange[0] = colorRange[0]; + this.colorRange[1] = colorRange[1]; + return UpdateStatus.Success; + } + + /** + * @return the outsideColor + */ + public Integer[] getOutsideColor() { + Integer[] retOutsideColor = new Integer[2]; + retOutsideColor[0] = outsideColor[0]; + retOutsideColor[1] = outsideColor[1]; + + return retOutsideColor; + } + + /** + * @param outsideColor the outsideColor to set + */ + public UpdateStatus setOutsideColor(Integer[] outsideColor) { + this.outsideColor[0] = outsideColor[0]; + this.outsideColor[1] = outsideColor[1]; + return UpdateStatus.Success; + } + + /** + * @return the zBounds + */ + public Double[] getZBounds() { + Double[] retZBounds = new Double[2]; + retZBounds[0] = zBounds[0]; + retZBounds[1] = zBounds[1]; + + return retZBounds; + } + + /** + * @param bounds the zBounds to set + */ + public UpdateStatus setZBounds(Double[] zBounds) { + this.zBounds[0] = zBounds[0]; + this.zBounds[1] = zBounds[1]; + return UpdateStatus.Success; + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_FEC__; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/figure/ColorMap.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/figure/ColorMap.java new file mode 100755 index 000000000..cc46e9996 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/figure/ColorMap.java @@ -0,0 +1,127 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Pierre Lando + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.figure; + +import java.util.Arrays; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * @author Pierre Lando + */ +public class ColorMap { + /** + * Number of channels for one color. + */ + private static final int CHANNELS_NUMBER = 3; + + private static final float[] BLACK_COLOR = new float[] {0, 0, 0}; + private static final float[] WHITE_COLOR = new float[] {1, 1, 1}; + private static final float[] LIGHT_GRAY_COLOR = new float[] {0.7f, 0.7f, 0.7f}; + + /** + * The data of this ColorMap. + */ + Double[] data = new Double[0]; + + /** + * Default constructor + */ + public ColorMap() { + + } + + /** + * Copy constructor + * @param colorMap the ColorMap to copy + */ + public ColorMap(ColorMap colorMap) { + setData(colorMap.data); + } + + /** + * Return a copy of the data of this color map. + * @return a copy of the data of this color map. + */ + public Double[] getData() { + return data.clone(); + } + + /** + * Return the number of color in this ColorMap + * @return the number of color in this ColorMap + */ + public int getSize() { + return data.length / CHANNELS_NUMBER; + } + + /** + * Return the color corresponding to the given Scilab index. + * + * The first color in scilab ColorMap has index 1. + * If index is 0, it will be considered as 1. + * If index is -1 the color is black. + * If index is -2 the color is white. + * If index is last scilab index + 1, it will be considered as -1. + * If index is last scilab index + 2, it will be considered as -2. + * Other values should not be possible. + * By the way we consider the nearest value. + * + * @param index the given Scilab index. + * @return the color corresponding to the given Scilab index. + */ + public float[] getScilabColor(int index) { + + int lastScilabIndex = getSize(); + + if (index == 0) { + index = -1; + } + + if (index > lastScilabIndex) { + index = lastScilabIndex - index; + } + if (index == -3) { + return LIGHT_GRAY_COLOR; + } else if (index == -1 || index < -2) { + return BLACK_COLOR; + } else if (index == -2) { + return WHITE_COLOR; + } else { + index = index - 1; + return new float[] { + Math.min(1.f, data[index].floatValue()), + Math.min(1.f, data[index + getSize()].floatValue()), + Math.min(1.f, data[index + getSize() * 2].floatValue()) + }; + } + } + + /** + * Set the data of this ColorMap + * This function is package to avoid bad use (update model without using the controller). + * @param data the new data. + */ + UpdateStatus setData(Double[] data) { + // Do not update colormap if it's the same + if (Arrays.equals(data, this.data)) { + return UpdateStatus.NoChange; + } + int length = data.length; + length -= length % CHANNELS_NUMBER; + + this.data = new Double[length]; + System.arraycopy(data, 0, this.data, 0, length); + return UpdateStatus.Success; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/figure/Figure.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/figure/Figure.java new file mode 100755 index 000000000..4e334fb2b --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/figure/Figure.java @@ -0,0 +1,1432 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.figure; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ANTIALIASING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AUTORESIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AXES_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BACKGROUND__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BORDER_OPT_PADDING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CLOSEREQUESTFCN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_COLORMAP_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_COLORMAP__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DEFAULT_AXES__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DOCKABLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_EVENTHANDLER_ENABLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_EVENTHANDLER_NAME__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_GRID_OPT_GRID__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_GRID_OPT_PADDING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ID__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_IMMEDIATE_DRAWING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_INFOBAR_VISIBLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_INFO_MESSAGE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LAYOUT_SET__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LAYOUT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MENUBAR_VISIBLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MENUBAR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_NAME__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_PIXEL_DRAWING_MODE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_POSITION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_RESIZEFCN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_RESIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ROTATION_TYPE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TOOLBAR_VISIBLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TOOLBAR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VIEWPORT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_ICON__; + +import java.util.Arrays; + +import org.scilab.modules.graphic_objects.axes.AxesContainer; +import org.scilab.modules.graphic_objects.event.EventHandler; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.utils.LayoutType; + +/** + * Figure class + * @author Manuel JULIACHS + */ +public class Figure extends GraphicObject implements AxesContainer { + /** Figure properties names */ + private enum FigureProperty { + INFOMESSAGE, COLORMAP, COLORMAPSIZE, BACKGROUND, ROTATIONTYPE, RESIZEFCN, CLOSEREQUESTFCN, RESIZE, TOOLBAR, TOOLBAR_VISIBLE, MENUBAR, MENUBAR_VISIBLE, INFOBAR_VISIBLE, DOCKABLE, LAYOUT, LAYOUT_SET, GRIDOPT_GRID, GRIDOPT_PADDING, BORDEROPT_PADDING, DEFAULT_AXES, ICON + }; + + /** + * Specifies whether rotation applies to a single subwindow or to all the + * figure's subwindows + */ + public enum RotationType { + UNARY, MULTIPLE; + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the rotation type enum + */ + public static RotationType intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return RotationType.UNARY; + case 1: + return RotationType.MULTIPLE; + default: + return null; + } + } + + public static RotationType stringToEnum(String value) { + if (value.equals("multiple")) { + return MULTIPLE; + } + + return UNARY; + } + + public static String enumToString(RotationType value) { + switch (value) { + case MULTIPLE: + return "multiple"; + case UNARY: + default: + return "unary"; + } + } + } + + public enum BarType { + NONE, FIGURE; + public static BarType intToEnum(Integer intValue) { + switch (intValue) { + default: + case 0: + return BarType.NONE; + case 1: + return BarType.FIGURE; + } + } + + public static BarType stringToEnum(String value) { + if (value.equals("figure")) { + return FIGURE; + } + + return NONE; + } + + public static String enumToString(BarType value) { + switch (value) { + case FIGURE: + return "figure"; + case NONE: + default: + return "none"; + } + } + } + + /** Pixel drawing logical operations */ + private enum PixelDrawingMode { + CLEAR, AND, ANDREVERSE, COPY, ANDINVERTED, NOOP, XOR, OR, NOR, EQUIV, INVERT, ORREVERSE, COPYINVERTED, ORINVERTED, NAND, SET; + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the pixel drawing mode enum + */ + public static PixelDrawingMode intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return PixelDrawingMode.CLEAR; + case 1: + return PixelDrawingMode.AND; + case 2: + return PixelDrawingMode.ANDREVERSE; + case 3: + return PixelDrawingMode.COPY; + case 4: + return PixelDrawingMode.ANDINVERTED; + case 5: + return PixelDrawingMode.NOOP; + case 6: + return PixelDrawingMode.XOR; + case 7: + return PixelDrawingMode.OR; + case 8: + return PixelDrawingMode.NOR; + case 9: + return PixelDrawingMode.EQUIV; + case 10: + return PixelDrawingMode.INVERT; + case 11: + return PixelDrawingMode.ORREVERSE; + case 12: + return PixelDrawingMode.COPYINVERTED; + case 13: + return PixelDrawingMode.ORINVERTED; + case 14: + return PixelDrawingMode.NAND; + case 15: + return PixelDrawingMode.SET; + default: + return null; + } + } + }; + + /** FigureDimensions properties names */ + public enum FigureDimensionsProperty { + POSITION, SIZE + }; + + /** + * FigureDimensions class + */ + private class FigureDimensions { + /** Position (x,y) of the upper-left corner in the top-level window */ + private Integer[] position; + + /** Dimensions (w, h) of the figure window */ + private Integer[] size; + + /** + * Default constructor + */ + public FigureDimensions() { + position = new Integer[] { 0, 0 }; + size = new Integer[] { 0, 0 }; + } + + /** + * Copy constructor + * @param figureDimensions the FigureDimensions to copy + */ + public FigureDimensions(FigureDimensions figureDimensions) { + this.position = new Integer[2]; + this.position[0] = figureDimensions.position[0]; + this.position[1] = figureDimensions.position[1]; + + this.size = new Integer[2]; + this.size[0] = figureDimensions.size[0]; + this.size[1] = figureDimensions.size[1]; + } + } + + /** CanvasProperty properties names */ + public enum CanvasProperty { + AUTORESIZE, VIEWPORT, AXESSIZE + }; + + /** + * Canvas class + */ + private class Canvas { + /** Specifies whether automatic resizing is used */ + private boolean autoResize; + + /** Viewport position (x,y) */ + private Integer[] viewport; + + /** Rendering canvas (w,h) dimensions */ + private Integer[] axesSize; + + /** + * Default constructor + */ + public Canvas() { + autoResize = false; + viewport = new Integer[2]; + axesSize = new Integer[2]; + } + + /** + * Copy constructor + * @param canvas the Canvas to copy + */ + public Canvas(Canvas canvas) { + this.autoResize = canvas.autoResize; + + this.viewport = new Integer[2]; + + this.viewport[0] = canvas.viewport[0]; + this.viewport[1] = canvas.viewport[1]; + + this.axesSize = new Integer[2]; + + this.axesSize[0] = canvas.axesSize[0]; + this.axesSize[1] = canvas.axesSize[1]; + } + } + + /** FigureName properties names */ + public enum FigureNameProperty { + NAME, ID + }; + + /** + * FigureName class + */ + public class FigureName implements Cloneable { + /** Name */ + private String name; + + /** Identifier */ + private int id; + + public FigureName clone() throws CloneNotSupportedException { + FigureName copy; + + // return (FigureName) super.clone(); + + copy = (FigureName) super.clone(); + + copy.name = new String(this.name); + copy.id = this.id; + + return copy; + } + + /** + * Default constructor + */ + public FigureName() { + name = ""; + id = 0; + } + + /** + * Copy constructor + * @param figureName the FigureName to copy + */ + public FigureName(FigureName figureName) { + name = new String(figureName.name); + id = figureName.id; + } + + } + + /** RenderingMode properties names */ + public enum RenderingModeProperty { + PIXELDRAWINGMODE, ANTIALIASING, IMMEDIATEDRAWING + }; + + /** + * RenderingMode class + */ + private class RenderingMode { + + /** Specifies the pixel drawing mode used */ + private PixelDrawingMode pixelDrawingMode; + + /** Antialising level (0 == off) */ + private int antialiasing; + + /** Specifies whether immediate drawing is used or not */ + private boolean immediateDrawing; + + /** + * Default constructor + */ + public RenderingMode() { + pixelDrawingMode = PixelDrawingMode.COPY; + antialiasing = 0; + immediateDrawing = true; + } + + /** + * Copy constructor + * @param renderingMode the RenderingMode to copy + */ + public RenderingMode(RenderingMode renderingMode) { + pixelDrawingMode = renderingMode.pixelDrawingMode; + antialiasing = renderingMode.antialiasing; + immediateDrawing = renderingMode.immediateDrawing; + } + + } + + /** EventHandler properties names */ + public enum EventHandlerProperty { + EVENTHANDLER, EVENTHANDLERENABLE + }; + + /** Figure dimensions */ + private FigureDimensions dimensions; + + /** Canvas property */ + private Canvas canvas; + + /** Figure name */ + private FigureName figureName; + + /** Info message */ + private String infoMessage; + + /** + * Default ColorMap: (3 x N) matrix, where N is the number of colors and 3 + * the number of color channels + */ + private ColorMap colorMap; + + /** Rendering mode */ + private RenderingMode renderingMode; + + /** Background color */ + private int background; + + /** Event handler */ + private EventHandler eventHandler; + + /** ResizeFcn */ + private String resizeFcn; + + /** CloseRequestFcn */ + private String closeRequestFcn; + + /** Rotation type */ + private RotationType rotation; + + /** resize */ + private Boolean resize; + + /** toolbar */ + private BarType toolbar; + private Boolean toolbarVisible; + + /** menubar */ + private BarType menubar; + private Boolean menubarVisible; + + /** infobar */ + private Boolean infobarVisible; + + /** dockable */ + private Boolean dockable; + + /** layout */ + private LayoutType layout; + + /** layout options */ + private Integer[] gridOptGrid = new Integer[] { 0, 0 }; + private Integer[] gridOptPadding = new Integer[] { 0, 0 }; + private Integer[] borderOptPadding = new Integer[] { 0, 0 }; + + /** default axes management */ + private Boolean defaultAxes; + + private String icon = ""; + + /** Constructor */ + public Figure() { + super(); + dimensions = new FigureDimensions(); + canvas = new Canvas(); + figureName = new FigureName(); + infoMessage = ""; + colorMap = new ColorMap(); + + renderingMode = new RenderingMode(); + background = 0; + eventHandler = new EventHandler(); + resizeFcn = ""; + closeRequestFcn = ""; + rotation = RotationType.UNARY; + resize = true; + toolbarVisible = true; + toolbar = BarType.FIGURE; + menubarVisible = true; + menubar = BarType.FIGURE; + infobarVisible = true; + dockable = true; + layout = LayoutType.NONE; + defaultAxes = true; + } + + @Override + public Figure clone() { + Figure copy = null; + copy = (Figure) super.clone(); + + copy.dimensions = new FigureDimensions(this.dimensions); + copy.canvas = new Canvas(this.canvas); + copy.figureName = new FigureName(this.figureName); + copy.colorMap = new ColorMap(this.colorMap); + copy.renderingMode = new RenderingMode(this.renderingMode); + copy.eventHandler = new EventHandler(this.eventHandler); + + copy.gridOptGrid = new Integer[] { 0, 0 }; + copy.gridOptPadding = new Integer[] { 0, 0 }; + copy.borderOptPadding = new Integer[] { 0, 0 }; + copy.setValid(true); + + return copy; + } + + @Override + public void accept(Visitor visitor) { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_POSITION__: + return FigureDimensionsProperty.POSITION; + case __GO_SIZE__: + return FigureDimensionsProperty.SIZE; + case __GO_AUTORESIZE__: + return CanvasProperty.AUTORESIZE; + case __GO_VIEWPORT__: + return CanvasProperty.VIEWPORT; + case __GO_AXES_SIZE__: + return CanvasProperty.AXESSIZE; + case __GO_NAME__: + return FigureNameProperty.NAME; + case __GO_ID__: + return FigureNameProperty.ID; + case __GO_INFO_MESSAGE__: + return FigureProperty.INFOMESSAGE; + case __GO_COLORMAP__: + return FigureProperty.COLORMAP; + case __GO_COLORMAP_SIZE__: + return FigureProperty.COLORMAPSIZE; + case __GO_PIXEL_DRAWING_MODE__: + return RenderingModeProperty.PIXELDRAWINGMODE; + case __GO_ANTIALIASING__: + return RenderingModeProperty.ANTIALIASING; + case __GO_IMMEDIATE_DRAWING__: + return RenderingModeProperty.IMMEDIATEDRAWING; + case __GO_BACKGROUND__: + return FigureProperty.BACKGROUND; + case __GO_EVENTHANDLER_NAME__: + return EventHandlerProperty.EVENTHANDLER; + case __GO_EVENTHANDLER_ENABLE__: + return EventHandlerProperty.EVENTHANDLERENABLE; + case __GO_ROTATION_TYPE__: + return FigureProperty.ROTATIONTYPE; + case __GO_RESIZEFCN__: + return FigureProperty.RESIZEFCN; + case __GO_CLOSEREQUESTFCN__: + return FigureProperty.CLOSEREQUESTFCN; + case __GO_RESIZE__: + return FigureProperty.RESIZE; + case __GO_TOOLBAR__: + return FigureProperty.TOOLBAR; + case __GO_TOOLBAR_VISIBLE__: + return FigureProperty.TOOLBAR_VISIBLE; + case __GO_MENUBAR__: + return FigureProperty.MENUBAR; + case __GO_MENUBAR_VISIBLE__: + return FigureProperty.MENUBAR_VISIBLE; + case __GO_INFOBAR_VISIBLE__: + return FigureProperty.INFOBAR_VISIBLE; + case __GO_DOCKABLE__: + return FigureProperty.DOCKABLE; + case __GO_LAYOUT__: + return FigureProperty.LAYOUT; + case __GO_LAYOUT_SET__: + return FigureProperty.LAYOUT_SET; + case __GO_GRID_OPT_GRID__: + return FigureProperty.GRIDOPT_GRID; + case __GO_GRID_OPT_PADDING__: + return FigureProperty.GRIDOPT_PADDING; + case __GO_BORDER_OPT_PADDING__: + return FigureProperty.BORDEROPT_PADDING; + case __GO_DEFAULT_AXES__: + return FigureProperty.DEFAULT_AXES; + case __GO_UI_ICON__: + return FigureProperty.ICON; + default: + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == FigureDimensionsProperty.POSITION) { + return getPosition(); + } else if (property == FigureDimensionsProperty.SIZE) { + return getSize(); + } else if (property == CanvasProperty.AUTORESIZE) { + return getAutoResize(); + } else if (property == CanvasProperty.VIEWPORT) { + return getViewport(); + } else if (property == CanvasProperty.AXESSIZE) { + return getAxesSize(); + } else if (property == FigureNameProperty.NAME) { + return getName(); + } else if (property == FigureNameProperty.ID) { + return getId(); + } else if (property == FigureProperty.INFOMESSAGE) { + return getInfoMessage(); + } else if (property == FigureProperty.COLORMAP) { + return getColorMap().getData(); + } else if (property == FigureProperty.COLORMAPSIZE) { + return getColorMap().getSize(); + } else if (property == RenderingModeProperty.PIXELDRAWINGMODE) { + return getPixelDrawingMode(); + } else if (property == RenderingModeProperty.ANTIALIASING) { + return getAntialiasing(); + } else if (property == RenderingModeProperty.IMMEDIATEDRAWING) { + return getImmediateDrawing(); + } else if (property == FigureProperty.BACKGROUND) { + return getBackground(); + } else if (property == EventHandlerProperty.EVENTHANDLER) { + return getEventHandlerString(); + } else if (property == EventHandlerProperty.EVENTHANDLERENABLE) { + return getEventHandlerEnable(); + } else if (property == FigureProperty.ROTATIONTYPE) { + return getRotation(); + } else if (property == FigureProperty.RESIZEFCN) { + return getResizeFcn(); + } else if (property == FigureProperty.CLOSEREQUESTFCN) { + return getCloseRequestFcn(); + } else if (property == FigureProperty.RESIZE) { + return getResize(); + } else if (property == FigureProperty.TOOLBAR) { + return getToolbar(); + } else if (property == FigureProperty.TOOLBAR_VISIBLE) { + return getToolbarVisible(); + } else if (property == FigureProperty.MENUBAR) { + return getMenubar(); + } else if (property == FigureProperty.MENUBAR_VISIBLE) { + return getMenubarVisible(); + } else if (property == FigureProperty.INFOBAR_VISIBLE) { + return getInfobarVisible(); + } else if (property == FigureProperty.DOCKABLE) { + return getDockable(); + } else if (property == FigureProperty.LAYOUT) { + return getLayout(); + } else if (property == FigureProperty.LAYOUT_SET) { + return isLayoutSettable(); + } else if (property == FigureProperty.GRIDOPT_GRID) { + return getGridOptGrid(); + } else if (property == FigureProperty.GRIDOPT_PADDING) { + return getGridOptPadding(); + } else if (property == FigureProperty.BORDEROPT_PADDING) { + return getBorderOptPadding(); + } else if (property == FigureProperty.DEFAULT_AXES) { + return hasDefaultAxes(); + } else if (property == FigureProperty.ICON) { + return getIcon(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property instanceof FigureProperty) { + switch ((FigureProperty) property) { + case BACKGROUND: + return setBackground((Integer) value); + case CLOSEREQUESTFCN: + return setCloseRequestFcn((String) value); + case COLORMAP: + return getColorMap().setData((Double[]) value); + case COLORMAPSIZE: + return UpdateStatus.NoChange; + case INFOMESSAGE: + return setInfoMessage((String) value); + case RESIZEFCN: + return setResizeFcn((String) value); + case ROTATIONTYPE: + return setRotation((Integer) value); + case RESIZE: + return setResize((Boolean) value); + case TOOLBAR: + return setToolbar((Integer) value); + case TOOLBAR_VISIBLE: + return setToolbarVisible((Boolean) value); + case MENUBAR: + return setMenubar((Integer) value); + case MENUBAR_VISIBLE: + return setMenubarVisible((Boolean) value); + case INFOBAR_VISIBLE: + return setInfobarVisible((Boolean) value); + case DOCKABLE: + return setDockable((Boolean) value); + case LAYOUT: + return setLayout((Integer) value); + case GRIDOPT_GRID: + return setGridOptGrid((Integer[]) value); + case GRIDOPT_PADDING: + return setGridOptPadding((Integer[]) value); + case BORDEROPT_PADDING: + return setBorderOptPadding((Integer[]) value); + case DEFAULT_AXES: + return setDefaultAxes((Boolean) value); + case ICON: + return setIcon((String) value); + default: + break; + } + } else if (property instanceof CanvasProperty) { + switch ((CanvasProperty) property) { + case AUTORESIZE: + return setAutoResize((Boolean) value); + case AXESSIZE: + return setAxesSize((Integer[]) value); + case VIEWPORT: + return setViewport((Integer[]) value); + } + } else if (property instanceof FigureDimensionsProperty) { + switch ((FigureDimensionsProperty) property) { + case POSITION: + return setPosition((Integer[]) value); + case SIZE: + return setSize((Integer[]) value); + } + } else if (property instanceof FigureNameProperty) { + switch ((FigureNameProperty) property) { + case ID: + return setId((Integer) value); + case NAME: + return setName((String) value); + } + } else if (property instanceof RenderingModeProperty) { + switch ((RenderingModeProperty) property) { + case ANTIALIASING: + return setAntialiasing((Integer) value); + case IMMEDIATEDRAWING: + return setImmediateDrawing((Boolean) value); + case PIXELDRAWINGMODE: + return setPixelDrawingMode((Integer) value); + } + } else if (property instanceof EventHandlerProperty) { + switch ((EventHandlerProperty) property) { + case EVENTHANDLER: + return setEventHandlerString((String) value); + case EVENTHANDLERENABLE: + return setEventHandlerEnable((Boolean) value); + } + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the background + */ + public Integer getBackground() { + return background; + } + + /** + * @param background the background to set + */ + public UpdateStatus setBackground(Integer background) { + if (this.background == background) { + return UpdateStatus.NoChange; + } + this.background = background; + return UpdateStatus.Success; + } + + /** + * @return the canvas + */ + public Canvas getCanvas() { + return canvas; + } + + /** + * @param canvas the canvas to set + */ + public UpdateStatus setCanvas(Canvas canvas) { + this.canvas = canvas; + return UpdateStatus.Success; + } + + /** + * @return the autoresize + */ + public Boolean getAutoResize() { + return canvas.autoResize; + } + + /** + * @param autoResize the autoresize to set + */ + public UpdateStatus setAutoResize(Boolean autoResize) { + if (canvas.autoResize == autoResize) { + return UpdateStatus.NoChange; + } + canvas.autoResize = autoResize; + return UpdateStatus.Success; + } + + /** + * @return the viewport + */ + public Integer[] getViewport() { + Integer[] retViewport = new Integer[2]; + + retViewport[0] = canvas.viewport[0]; + retViewport[1] = canvas.viewport[1]; + + return retViewport; + } + + /** + * @param viewport the viewport to set + */ + public UpdateStatus setViewport(Integer[] viewport) { + if (Arrays.equals(canvas.viewport, viewport)) { + return UpdateStatus.NoChange; + } + canvas.viewport[0] = viewport[0]; + canvas.viewport[1] = viewport[1]; + return UpdateStatus.Success; + } + + /** + * @return the axes size + */ + public Integer[] getAxesSize() { + Integer[] retAxesSize = new Integer[2]; + + retAxesSize[0] = canvas.axesSize[0]; + retAxesSize[1] = canvas.axesSize[1]; + + return retAxesSize; + } + + /** + * @param axesSize the axes size to set + */ + public UpdateStatus setAxesSize(Integer[] axesSize) { + if (Arrays.equals(canvas.axesSize, axesSize)) { + //must return Success to broadcast information + return UpdateStatus.Success; + } + canvas.axesSize[0] = axesSize[0]; + canvas.axesSize[1] = axesSize[1]; + return UpdateStatus.Success; + } + + /** + * @return the colorMap + */ + public ColorMap getColorMap() { + return colorMap; + } + + /** + * @return the dimensions + */ + public FigureDimensions getDimensions() { + return dimensions; + } + + /** + * @param dimensions the dimensions to set + */ + public UpdateStatus setDimensions(FigureDimensions dimensions) { + if (this.dimensions == dimensions) { + return UpdateStatus.NoChange; + } + this.dimensions = dimensions; + return UpdateStatus.Success; + } + + /** + * @return the figure position + */ + public Integer[] getPosition() { + Integer[] retPosition = new Integer[2]; + + retPosition[0] = dimensions.position[0]; + retPosition[1] = dimensions.position[1]; + + return retPosition; + } + + /** + * @param position the position to set + */ + public UpdateStatus setPosition(Integer[] position) { + if (Arrays.equals(dimensions.position, position)) { + return UpdateStatus.NoChange; + } + + dimensions.position[0] = position[0]; + dimensions.position[1] = position[1]; + return UpdateStatus.Success; + } + + /** + * @return the figure size + */ + public Integer[] getSize() { + Integer[] retSize = new Integer[2]; + + retSize[0] = dimensions.size[0]; + retSize[1] = dimensions.size[1]; + + return retSize; + } + + /** + * @param size the size to set + */ + public UpdateStatus setSize(Integer[] size) { + if (Arrays.equals(dimensions.size, size)) { + return UpdateStatus.NoChange; + } + + dimensions.size[0] = size[0]; + dimensions.size[1] = size[1]; + return UpdateStatus.Success; + } + + /** + * @return the eventHandler + */ + public EventHandler getEventHandler() { + return eventHandler; + } + + /** + * @param eventHandler the eventHandler to set + */ + public UpdateStatus setEventHandler(EventHandler eventHandler) { + if (this.eventHandler.equals(eventHandler)) { + return UpdateStatus.NoChange; + } + this.eventHandler = eventHandler; + return UpdateStatus.Success; + } + + /** + * @return the eventHandler string + */ + public String getEventHandlerString() { + return eventHandler.getEventHandlerString(); + } + + /** + * @param eventHandlerString the eventHandler string to set + */ + public UpdateStatus setEventHandlerString(String eventHandlerString) { + if (eventHandler.getEventHandlerString().equals(eventHandlerString)) { + return UpdateStatus.NoChange; + } + eventHandler.setEventHandlerString(eventHandlerString); + return UpdateStatus.Success; + } + + /** + * @return the eventHandlerEnabled + */ + public Boolean getEventHandlerEnable() { + return eventHandler.getEventHandlerEnabled(); + } + + /** + * @param eventHandlerEnabled the eventHandlerEnabled to set + */ + public UpdateStatus setEventHandlerEnable(Boolean eventHandlerEnabled) { + if (eventHandler.getEventHandlerEnabled() == eventHandlerEnabled) { + return UpdateStatus.NoChange; + } + eventHandler.setEventHandlerEnabled(eventHandlerEnabled); + return UpdateStatus.Success; + } + + /** + * @return the infoMessage + */ + public String getInfoMessage() { + return infoMessage; + } + + /** + * @param infoMessage the infoMessage to set + */ + public UpdateStatus setInfoMessage(String infoMessage) { + if (this.infoMessage != null && this.infoMessage.equals(infoMessage)) { + return UpdateStatus.NoChange; + } + this.infoMessage = infoMessage; + return UpdateStatus.Success; + } + + /** + * @return the name + */ + public FigureName getFigureName() { + return figureName; + } + + /** + * @param figureName the figure name to set + */ + public UpdateStatus setFigureName(FigureName figureName) { + if (this.figureName.equals(figureName)) { + return UpdateStatus.NoChange; + } + this.figureName = figureName; + return UpdateStatus.Success; + } + + /** + * @return the figure name + */ + public String getName() { + return figureName.name; + } + + /** + * @param name the name to set + */ + public UpdateStatus setName(String name) { + if (figureName.name.equals(name)) { + return UpdateStatus.NoChange; + } + figureName.name = name; + return UpdateStatus.Success; + } + + /** + * @return the id + */ + public Integer getId() { + return figureName.id; + } + + /** + * @param id the id to set + */ + public UpdateStatus setId(Integer id) { + //must return Success to update Views + figureName.id = id; + return UpdateStatus.Success; + } + + /** + * @return the renderingMode + */ + public RenderingMode getRenderingMode() { + return renderingMode; + } + + /** + * @param renderingMode the renderingMode to set + */ + public UpdateStatus setRenderingMode(RenderingMode renderingMode) { + if (this.renderingMode.equals(renderingMode)) { + return UpdateStatus.NoChange; + } + this.renderingMode = renderingMode; + return UpdateStatus.Success; + } + + /** + * @return the pixel drawing mode enum + */ + public PixelDrawingMode getPixelDrawingModeAsEnum() { + return renderingMode.pixelDrawingMode; + } + + /** + * @return the pixel drawing mode + */ + public Integer getPixelDrawingMode() { + return getPixelDrawingModeAsEnum().ordinal(); + } + + /** + * @param pixelDrawingMode the pixel drawing mode to set + */ + public UpdateStatus setPixelDrawingMode(PixelDrawingMode pixelDrawingMode) { + if (renderingMode.pixelDrawingMode.equals(pixelDrawingMode)) { + return UpdateStatus.NoChange; + } + renderingMode.pixelDrawingMode = pixelDrawingMode; + return UpdateStatus.Success; + } + + /** + * @param pixelDrawingMode the pixel drawing mode to set + */ + public UpdateStatus setPixelDrawingMode(Integer pixelDrawingMode) { + PixelDrawingMode mode = PixelDrawingMode.intToEnum(pixelDrawingMode); + if (renderingMode.pixelDrawingMode == mode) { + return UpdateStatus.NoChange; + } + + renderingMode.pixelDrawingMode = mode; + return UpdateStatus.Success; + } + + /** + * @return the antialiasing + */ + public Integer getAntialiasing() { + return renderingMode.antialiasing; + } + + /** + * @param antialiasing the antialiasing to set + */ + public UpdateStatus setAntialiasing(Integer antialiasing) { + if (renderingMode.antialiasing == antialiasing) { + return UpdateStatus.NoChange; + } + renderingMode.antialiasing = antialiasing; + return UpdateStatus.Success; + } + + /** + * @return the immediateDrawing + */ + public Boolean getImmediateDrawing() { + return renderingMode.immediateDrawing; + } + + /** + * @param immediateDrawing the immediateDrawing to set + */ + public UpdateStatus setImmediateDrawing(Boolean immediateDrawing) { + if (renderingMode.immediateDrawing == immediateDrawing) { + return UpdateStatus.NoChange; + } + + renderingMode.immediateDrawing = immediateDrawing; + return UpdateStatus.Success; + } + + /** + * @return the rotation + */ + public RotationType getRotationAsEnum() { + return rotation; + } + + /** + * @return the rotation + */ + public Integer getRotation() { + return getRotationAsEnum().ordinal(); + } + + /** + * @param rotation the rotation to set + */ + public UpdateStatus setRotation(RotationType rotation) { + if (this.rotation.equals(rotation)) { + return UpdateStatus.NoChange; + } + this.rotation = rotation; + return UpdateStatus.Success; + } + + /** + * @param rotation the rotation to set + */ + public UpdateStatus setRotation(Integer rotation) { + RotationType rotationType = RotationType.intToEnum(rotation); + if (rotationType == null || this.rotation == rotationType) { + return UpdateStatus.NoChange; + } + + this.rotation = rotationType; + return UpdateStatus.Success; + } + + /** + * @return the resize function + */ + public String getResizeFcn() { + return resizeFcn; + } + + /** + * @param resizeFcn the resize function to set + */ + public UpdateStatus setResizeFcn(String resizeFcn) { + if (this.resizeFcn.equals(resizeFcn)) { + return UpdateStatus.NoChange; + } + this.resizeFcn = resizeFcn; + return UpdateStatus.Success; + } + + /** + * @return the close request function + */ + public String getCloseRequestFcn() { + return closeRequestFcn; + } + + /** + * @param closeRequestFcn the close request function to set + */ + public UpdateStatus setCloseRequestFcn(String closeRequestFcn) { + if (this.closeRequestFcn.equals(closeRequestFcn)) { + return UpdateStatus.NoChange; + } + this.closeRequestFcn = closeRequestFcn; + return UpdateStatus.Success; + } + + public Boolean getResize() { + return resize; + } + + public UpdateStatus setResize(Boolean status) { + if (status.equals(resize)) { + return UpdateStatus.NoChange; + } + + resize = status; + return UpdateStatus.Success; + } + + public Boolean getToolbarVisible() { + return toolbarVisible; + } + + public UpdateStatus setToolbarVisible(Boolean status) { + if (status.equals(toolbarVisible)) { + return UpdateStatus.NoChange; + } + + toolbarVisible = status; + return UpdateStatus.Success; + } + + public Integer getToolbar() { + return toolbar.ordinal(); + } + + public BarType getToolbarAsEnum() { + return toolbar; + } + + public UpdateStatus setToolbar(Integer toolbar) { + return setToolbar(BarType.intToEnum(toolbar)); + } + + public UpdateStatus setToolbar(BarType toolbar) { + if (toolbar == this.toolbar) { + return UpdateStatus.NoChange; + } + + this.toolbar = toolbar; + return UpdateStatus.Success; + } + + public Boolean getMenubarVisible() { + return menubarVisible; + } + + public UpdateStatus setMenubarVisible(Boolean status) { + if (status.equals(menubarVisible)) { + return UpdateStatus.NoChange; + } + + menubarVisible = status; + return UpdateStatus.Success; + } + + public Integer getMenubar() { + return menubar.ordinal(); + } + + public BarType getMenubarAsEnum() { + return menubar; + } + + public UpdateStatus setMenubar(Integer menubar) { + return setMenubar(BarType.intToEnum(menubar)); + } + + public UpdateStatus setMenubar(BarType menubar) { + if (menubar == this.menubar) { + return UpdateStatus.NoChange; + } + + this.menubar = menubar; + return UpdateStatus.Success; + } + + public Boolean getInfobarVisible() { + return infobarVisible; + } + + public UpdateStatus setInfobarVisible(Boolean status) { + if (status.equals(infobarVisible)) { + return UpdateStatus.NoChange; + } + + infobarVisible = status; + return UpdateStatus.Success; + } + + public Boolean getDockable() { + return dockable; + } + + public UpdateStatus setDockable(Boolean status) { + if (status.equals(dockable)) { + return UpdateStatus.NoChange; + } + + dockable = status; + return UpdateStatus.Success; + } + + public Integer getLayout() { + return layout.ordinal(); + } + + public LayoutType getLayoutAsEnum() { + return layout; + } + + public boolean isLayoutSettable() { + return (this.layout == LayoutType.NONE); + } + + public UpdateStatus setLayout(Integer value) { + return setLayout(LayoutType.intToEnum(value)); + } + + public UpdateStatus setLayout(LayoutType layout) { + //avoid to set layout twice + if (this.layout == LayoutType.NONE) { + if (layout == LayoutType.NONE) { + return UpdateStatus.NoChange; + } + + this.layout = layout; + return UpdateStatus.Success; + } + + return UpdateStatus.Fail; + } + + public Integer[] getBorderOptPadding() { + return borderOptPadding; + } + + public UpdateStatus setBorderOptPadding(Integer[] value) { + UpdateStatus status = UpdateStatus.NoChange; + if (borderOptPadding.length != value.length) { + return UpdateStatus.Fail; + } + + for (int i = 0; i < value.length; i++) { + if (borderOptPadding[i] != value[i]) { + borderOptPadding[i] = value[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + public Integer[] getGridOptPadding() { + return gridOptPadding; + } + + public UpdateStatus setGridOptPadding(Integer[] value) { + UpdateStatus status = UpdateStatus.NoChange; + if (gridOptPadding.length != value.length) { + return UpdateStatus.Fail; + } + + for (int i = 0; i < value.length; i++) { + if (gridOptPadding[i] != value[i]) { + gridOptPadding[i] = value[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + public Integer[] getGridOptGrid() { + return gridOptGrid; + } + + public UpdateStatus setGridOptGrid(Integer[] value) { + UpdateStatus status = UpdateStatus.NoChange; + if (gridOptGrid.length != value.length) { + return UpdateStatus.Fail; + } + + for (int i = 0; i < value.length; i++) { + if (gridOptGrid[i] != value[i]) { + gridOptGrid[i] = value[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + public Boolean hasDefaultAxes() { + return defaultAxes; + } + + public UpdateStatus setDefaultAxes(Boolean status) { + if (status.equals(defaultAxes)) { + return UpdateStatus.NoChange; + } + + defaultAxes = status; + return UpdateStatus.Success; + } + + public String getIcon() { + return icon; + } + + public UpdateStatus setIcon(String icon) { + if (this.icon.equals(icon)) { + return UpdateStatus.NoChange; + } + + this.icon = icon; + return UpdateStatus.Success; + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_FIGURE__; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicController/GraphicController.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicController/GraphicController.java new file mode 100755 index 000000000..d94a88b2d --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicController/GraphicController.java @@ -0,0 +1,417 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.graphicController; + +import java.awt.GraphicsEnvironment; +import java.util.Collections; +import java.util.ConcurrentModificationException; +import java.util.HashSet; +import java.util.Set; +import java.util.Vector; + +import org.scilab.modules.graphic_objects.graphicModel.GraphicModel; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.Type; +import org.scilab.modules.graphic_objects.graphicView.FlattenTreeView; +import org.scilab.modules.graphic_objects.graphicView.GedTreeView; +import org.scilab.modules.graphic_objects.graphicView.GraphicView; +import org.scilab.modules.graphic_objects.graphicView.GuiLogView; +import org.scilab.modules.graphic_objects.graphicView.LogView; + +/** + * GraphicController class + * @author Bruno JOFRET + */ +public class GraphicController { + + private static boolean MVCViewEnable = false; + private static boolean debugEnable = false; + private static boolean infoEnable = false; + private static Integer lastId = 0; + + private static void INFO(String message) { + if (infoEnable == true) { + System.err.println("[CONTROLLER - INFO] : " + message); + } + } + + private static void DEBUG(String message) { + if (debugEnable == true) { + System.err.println("[CONTROLLER - DEBUG] : " + message); + } + } + + /** + * Set of all views attached to this controller. + */ + private volatile static Set<GraphicView> allViews = Collections.synchronizedSet(new HashSet<GraphicView>()); + + /** + * Graphic controller singleton. + */ + private static GraphicController me = null; + + /** + * Default constructor + */ + private GraphicController() { + if (!GraphicsEnvironment.isHeadless() && MVCViewEnable) { + register(GuiLogView.createGuiLogView()); + register(GedTreeView.create()); + } + } + + /** + * Returns the controller + * @return the controller + */ + public static GraphicController getController() { + if (me == null) { + me = new GraphicController(); + } + + return me; + } + + /** + * Register a view that will receive notification + * of any model changes. + * @param view The view to register. + */ + public void register(GraphicView view) { + INFO("Register view : " + view.toString()); + allViews.add(view); + } + + /** + * Unregister a view. + * @param view The view to unregister. + */ + public void unregister(GraphicView view) { + INFO("Unregister view : " + view.toString()); + allViews.remove(view); + } + + /** + * Creates a UID + * @return the created UID + */ + public Integer createUID() { + return ++lastId; + } + + /** + * Returns the object associated to an id + * @param id the object id + * @return the object + */ + public GraphicObject getObjectFromId(Integer id) { + return GraphicModel.getModel().getObjectFromId(id); + } + + /** + * Fast property set method + * @param id the object id + * @param prop the property name + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public boolean setProperty(Integer id, int prop, Object value) { + try { + switch (GraphicModel.getModel().setProperty(id, prop, value)) { + case Success : // BroadCast Message + return true + objectUpdate(id, prop); + return true; + case NoChange : // Do not broadcast message + return true; + case Fail : + return false; + } + return false; + } catch (Exception e) { + DEBUG("====== Exception caught ======"); + DEBUG("setProperty : " + id + " " + prop); + e.printStackTrace(); + DEBUG("====== Exception caught ======"); + return false; + } + } + + /** + * Fast property get method + * @param id the object id + * @param prop the property name + * @return the property value + */ + public Object getProperty(Integer id, int prop) { + try { + return GraphicModel.getModel().getProperty(id, prop); + } catch (Exception e) { + DEBUG("====== Exception caught ======"); + DEBUG("getProperty : [" + id + "] " + prop); + e.printStackTrace(); + DEBUG("====== Exception caught ======"); + return null; + } + } + + /** + * Returns a null property + * @param id the object id + * @param prop the property name + * @return the null property + */ + public Object getNullProperty(Integer id, String prop) { + return GraphicModel.getModel().getNullProperty(id, prop); + } + + /** + * Asks the model to create a new object + * @param type the object type + * @return the created object's id + */ + public Integer askObject(Type type, boolean broadcastMessage) { + + try { + Integer id = createUID(); + GraphicModel.getModel().createObject(id, type); + if (broadcastMessage) { + objectCreated(id); + } + + return id; + } catch (Exception e) { + DEBUG("====== Exception caught ======"); + DEBUG(" askObject type = " + type.name()); + e.printStackTrace(); + DEBUG("====== Exception caught ======"); + return 0; + } + + } + + public Integer cloneObject(Integer id, boolean broadcastMessage) { + try { + Integer newId = createUID(); + GraphicModel.getModel().cloneObject(id, newId); + if (broadcastMessage) { + objectCreated(newId); + } + + return newId; + } catch (Exception e) { + DEBUG("====== Exception caught ======"); + DEBUG("cloneObject id = " + id); + e.printStackTrace(); + DEBUG("====== Exception caught ======"); + return 0; + } + } + + /** + * Ask the model to clone an object + * @param id : the ID of the object to clone. + * @return the id of the clone. + */ + public Integer cloneObject(Integer id) { + return cloneObject(id, true); + } + + public Integer askObject(Type type) { + return askObject(type, true); + } + + /** + * Deletes an object + * @param id the deleted object's id + */ + public void deleteObject(Integer id) { + try { + objectDeleted(id); + GraphicModel.getModel().deleteObject(id); + } catch (Exception e) { + DEBUG("====== Exception caught ======"); + DEBUG("deleteObject id = " + id); + e.printStackTrace(); + DEBUG("====== Exception caught ======"); + } + } + + /** + * Notifies the existing views that an object has been created + * @param id the created object's id + */ + public void objectCreated(final Integer id) { + //INFO("### Create object : "+id); + //INFO("### type is : " + getProperty(id, GraphicObjectProperties.__GO_TYPE__)); + Vector<Runnable> broadCastVector = new Vector<Runnable>(); + + try { + for (final GraphicView view : allViews) { + broadCastVector.add(new Runnable() { + public void run() { + view.createObject(id); + } + }); + } + for (final Runnable runMe : broadCastVector) { + runMe.run(); + } + } catch (ConcurrentModificationException e) { + e.printStackTrace(); + } + } + + /** + * Notified the existing views that an object has been updated + * @param id the updated object's id + * @param prop the property that has been updated + */ + public void objectUpdate(final Integer id, final int prop) { + //INFO("### Update object : "+id); + //INFO("### type is : " + getProperty(id, GraphicObjectProperties.__GO_TYPE__)); + //INFO("### prop is : " + prop); + + Vector<Runnable> broadCastVector = new Vector<Runnable>(); + try { + for (final GraphicView view : allViews) { + broadCastVector.add(new Runnable() { + public void run() { + view.updateObject(id, prop); + } + }); + } + for (final Runnable runMe : broadCastVector) { + runMe.run(); + } + } catch (ConcurrentModificationException e) { + e.printStackTrace(); + } + } + + /** + * Notified the existing views that an object has been deleted + * @param id the deleted object's id + */ + public void objectDeleted(final Integer id) { + //INFO("### Delete object : "+id); + //INFO("### type is : " + getProperty(id, GraphicObjectProperties.__GO_TYPE__)); + Vector<Runnable> broadCastVector = new Vector<Runnable>(); + + try { + for (final GraphicView view : allViews) { + broadCastVector.add(new Runnable() { + public void run() { + view.deleteObject(id); + } + }); + } + for (final Runnable runMe : broadCastVector) { + runMe.run(); + } + } catch (ConcurrentModificationException e) { + e.printStackTrace(); + } + } + + /** + * Set relationship between two object and remove old relationship. + * @param parentId id of the parent object. + * @param childId id of the child object. + */ + public void setGraphicObjectRelationship(Integer parentId, Integer childId) { + /* + * All the parent and children get/set calls must be performed first, + * and only then the corresponding object updates. + */ + Object oldParent = getProperty(childId, GraphicObjectProperties.__GO_PARENT__); + + if (oldParent != null && oldParent instanceof Integer) { + Integer oldParentId = (Integer) oldParent; + + if (oldParentId == parentId) { + return; + } + + if (oldParentId != 0) { + getObjectFromId(oldParentId).removeChild(childId); + } + } + + /* Insertion occurs at the head of the children list. */ + if (parentId != null && parentId != 0) { + GraphicObject go = getObjectFromId(parentId); + if (go != null) { + go.addChild(childId); + } + } + + setProperty(childId, GraphicObjectProperties.__GO_PARENT__, parentId); + + /* Object updates can now be performed. */ + if (oldParent != null && oldParent instanceof Integer && ((Integer)oldParent) != 0) { + objectUpdate((Integer)oldParent, GraphicObjectProperties.__GO_CHILDREN__); + } + + if (parentId != null && parentId != 0) { + objectUpdate(parentId, GraphicObjectProperties.__GO_CHILDREN__); + } + + // Useless (already done in setProperty(childId, GraphicObjectProperties.__GO_PARENT__, parentId);) + //objectUpdate(childId, GraphicObjectProperties.__GO_PARENT__); + } + + /** + * Remove relationship between given object and is parent. + * Then delete it. + * TODO : Manage children of deleted object. + * @param id deleted object identifier. + */ + public void removeRelationShipAndDelete(Integer id) { + final GraphicObject killMe = getObjectFromId(id); + // assert that the object has not been deleted yet + if (killMe == null) { + return; + } + + Integer parentUID = killMe.getParent(); + + + /* Remove object from Parent's Children list */ + if (parentUID != null && parentUID != 0) { + getObjectFromId(parentUID).removeChild(id); + //setProperty(id, GraphicObjectProperties.__GO_PARENT__, ""); + + objectUpdate(parentUID, GraphicObjectProperties.__GO_CHILDREN__); + objectUpdate(parentUID, GraphicObjectProperties.__GO_DATATIPS__); + //objectUpdate(id, GraphicObjectProperties.__GO_PARENT__); + } + + killMe.setValid(false); + recursiveDeleteChildren(killMe); + + deleteObject(id); + } + + private void recursiveDeleteChildren(GraphicObject killMe) { + Integer children[] = killMe.getChildren(); + + for (int i = 0 ; i < children.length ; ++i) { + GraphicObject killMeThisChild = getObjectFromId(children[i]); + killMeThisChild.setValid(false); + recursiveDeleteChildren(killMeThisChild); + deleteObject(children[i]); + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicModel/GraphicModel.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicModel/GraphicModel.java new file mode 100755 index 000000000..02086f89e --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicModel/GraphicModel.java @@ -0,0 +1,356 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.graphicModel; + +import java.util.HashMap; +import java.util.Map; + +import org.scilab.modules.graphic_objects.arc.Arc; +import org.scilab.modules.graphic_objects.axes.Axes; +import org.scilab.modules.graphic_objects.axis.Axis; +import org.scilab.modules.graphic_objects.compound.Compound; +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.datatip.Datatip; +import org.scilab.modules.graphic_objects.fec.Fec; +import org.scilab.modules.graphic_objects.figure.Figure; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.Type; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; +import org.scilab.modules.graphic_objects.imageplot.Grayplot; +import org.scilab.modules.graphic_objects.imageplot.Matplot; +import org.scilab.modules.graphic_objects.label.Label; +import org.scilab.modules.graphic_objects.legend.Legend; +import org.scilab.modules.graphic_objects.lighting.Light; +import org.scilab.modules.graphic_objects.polyline.Polyline; +import org.scilab.modules.graphic_objects.rectangle.Rectangle; +import org.scilab.modules.graphic_objects.surface.Fac3d; +import org.scilab.modules.graphic_objects.surface.Plot3d; +import org.scilab.modules.graphic_objects.textObject.Text; +import org.scilab.modules.graphic_objects.uibar.progressionbar.Progressionbar; +import org.scilab.modules.graphic_objects.uibar.waitbar.Waitbar; +import org.scilab.modules.graphic_objects.uicontextmenu.Uicontextmenu; +import org.scilab.modules.graphic_objects.uicontrol.checkbox.CheckBox; +import org.scilab.modules.graphic_objects.uicontrol.edit.Edit; +import org.scilab.modules.graphic_objects.uicontrol.edit.Spinner; +import org.scilab.modules.graphic_objects.uicontrol.frame.Frame; +import org.scilab.modules.graphic_objects.uicontrol.frame.border.FrameBorder; +import org.scilab.modules.graphic_objects.uicontrol.layer.Layer; +import org.scilab.modules.graphic_objects.uicontrol.listbox.ListBox; +import org.scilab.modules.graphic_objects.uicontrol.popupmenu.PopupMenu; +import org.scilab.modules.graphic_objects.uicontrol.pushbutton.PushButton; +import org.scilab.modules.graphic_objects.uicontrol.radiobutton.RadioButton; +import org.scilab.modules.graphic_objects.uicontrol.slider.Slider; +import org.scilab.modules.graphic_objects.uicontrol.tab.Tab; +import org.scilab.modules.graphic_objects.uicontrol.table.Table; +import org.scilab.modules.graphic_objects.uicontrol.uiimage.UiImage; +import org.scilab.modules.graphic_objects.uicontrol.uitext.UiText; +import org.scilab.modules.graphic_objects.uimenu.Uimenu; +import org.scilab.modules.graphic_objects.vectfield.Champ; +import org.scilab.modules.graphic_objects.vectfield.Segs; + +/** + * GraphicModel class + * @author Bruno JOFRET + */ +public final class GraphicModel { + + private static GraphicModel me; + private static GraphicObject figureModel; + private static GraphicObject axesModel; + + private Map<Integer, GraphicObject> allObjects = new HashMap<Integer, GraphicObject>(); + + /** + * Default constructor + */ + private GraphicModel() { } + + /** + * Returns the model + * @return the model + */ + public static GraphicModel getModel() { + if (me == null) { + me = new GraphicModel(); + } + + return me; + } + + public static Figure getFigureModel() { + return (Figure) figureModel; + } + + public static Axes getAxesModel() { + return (Axes) axesModel; + } + + /** + * @param id the id of the object to get + * @return the object + */ + public GraphicObject getObjectFromId(Integer id) { + return allObjects.get(id); + } + + /** + * Returns a null property + * @param id the id of the object + * @param property the property name + * @return the property + */ + public Object getNullProperty(Integer id, String property) { + GraphicObject object = allObjects.get(id); + return object.getNullProperty(property); + } + + /** + * Fast property get + * @param id object id + * @param property property name + * @return property value + */ + public Object getProperty(Integer id, int property) { + GraphicObject object = allObjects.get(id); + + if (object != null) { + Object propertyType = object.getPropertyFromName(property); + return object.getProperty(propertyType); + } + return null; + } + + /** + * Fast property set + * @param id object id + * @param property name + * @param value property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Integer id, int property, Object value) { + GraphicObject object = allObjects.get(id); + if (object != null) { + synchronized (object) { + Object propertyType = object.getPropertyFromName(property); + return object.setProperty(propertyType, value); + } + } + return UpdateStatus.Fail; + } + + /** + * Creates an object + * @param id object id + * @param type object type + * @return the created object's id + */ + public Integer createObject(Integer id, GraphicObject.Type type) { + GraphicObject object = createTypedObject(type); + + if (object != null) { + allObjects.put(id, object); + object.setIdentifier(id); + + return id; + } else { + return 0; + } + } + + /** + * Clone object + * @param id : id of the object to clone + * @param newId : id of the clone + * @return newId + */ + public Integer cloneObject(Integer id, Integer newId) { + GraphicObject object = allObjects.get(id); + GraphicObject objectClone = object.clone(); + objectClone.setIdentifier(newId); + + allObjects.put(newId, objectClone); + + return newId; + } + + /** + * Creates a typed object + * @param type the object type + * @return the created typed object + */ + private GraphicObject createTypedObject(Type type) { + GraphicObject createdObject = null; + switch (type) { + case ARC: + createdObject = new Arc(); + break; + case AXES: + createdObject = new Axes(); + break; + case AXESMODEL: + createdObject = new Axes(); + createdObject.setValid(false); + axesModel = createdObject; + break; + case AXIS: + createdObject = new Axis(); + break; + case CHAMP: + createdObject = new Champ(); + break; + case COMPOUND: + createdObject = new Compound(); + break; + case FAC3D: + createdObject = new Fac3d(); + break; + case FEC: + createdObject = new Fec(); + break; + case FIGURE: + createdObject = new Figure(); + break; + case FIGUREMODEL: + createdObject = new Figure(); + createdObject.setValid(false); + figureModel = createdObject; + break; + case GRAYPLOT: + createdObject = new Grayplot(); + break; + case LABEL: + createdObject = new Label(); + break; + case LEGEND: + createdObject = new Legend(); + break; + case MATPLOT: + createdObject = new Matplot(); + break; + case PLOT3D: + createdObject = new Plot3d(); + break; + case POLYLINE: + createdObject = new Polyline(); + break; + case RECTANGLE: + createdObject = new Rectangle(); + break; + case SEGS: + createdObject = new Segs(); + break; + case TEXT: + createdObject = new Text(); + break; + /* UICONTROLS */ + case CHECKBOX: + createdObject = new CheckBox(); + break; + case EDIT: + createdObject = new Edit(); + break; + case SPINNER: + createdObject = new Spinner(); + break; + case FRAME: + createdObject = new Frame(); + break; + case IMAGE: + createdObject = new UiImage(); + break; + case LISTBOX: + createdObject = new ListBox(); + break; + case POPUPMENU: + createdObject = new PopupMenu(); + break; + case PUSHBUTTON: + createdObject = new PushButton(); + break; + case RADIOBUTTON: + createdObject = new RadioButton(); + break; + case SLIDER: + createdObject = new Slider(); + break; + case TABLE: + createdObject = new Table(); + break; + case UITEXT: + createdObject = new UiText(); + break; + /* UIMENU */ + case UIMENU: + createdObject = new Uimenu(); + break; + case UIMENUMODEL: + createdObject = new Uimenu(); + createdObject.setValid(false); + break; + /* UICONTEXTMENU */ + case UICONTEXTMENU: + createdObject = new Uicontextmenu(); + break; + /* Create Scilab console object */ + case CONSOLE: + createdObject = Console.getConsole(); + ((Console) createdObject).setScilabMode(Console.ScilabMode.NW); + break; + case JAVACONSOLE: + createdObject = Console.getConsole(); + ((Console) createdObject).setScilabMode(Console.ScilabMode.STD); + break; + /* Uibar */ + case PROGRESSIONBAR: + createdObject = new Progressionbar(); + break; + case WAITBAR: + createdObject = new Waitbar(); + break; + case LIGHT: + createdObject = new Light(); + break; + case DATATIP: + createdObject = new Datatip(); + break; + case TAB: + createdObject = new Tab(); + break; + case LAYER: + createdObject = new Layer(); + break; + case BORDER: + createdObject = new FrameBorder(); + break; + case FRAME_SCROLLABLE: + createdObject = new Frame(); + ((Frame)createdObject).setScrollable(true); + break; + default: + createdObject = null; + } + return createdObject; + } + + /** + * Deletes an object + * @param id object id + */ + public void deleteObject(Integer id) { + GraphicObject object = allObjects.get(id); + synchronized (object) { + allObjects.remove(id); + } + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/CallBack.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/CallBack.java new file mode 100755 index 000000000..0c2e0825a --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/CallBack.java @@ -0,0 +1,117 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +package org.scilab.modules.graphic_objects.graphicObject; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * Abstract class to manage all callbacks. + * + * @author Bruno JOFRET + */ +public class CallBack { + + /** + * Unmanaged command type constant + */ + public static final int UNTYPED = -1; + /** + * Scilab instruction command type constant + */ + public static final int SCILAB_INSTRUCTION = 0; + public static final int SCILAB_NOT_INTERRUPTIBLE_INSTRUCTION = 10; + /** + * C or Fortran function type constant + */ + public static final int C_FORTRAN = 1; + /** + * Scilab function type constant + */ + public static final int SCILAB_FUNCTION = 2; + public static final int SCILAB_NOT_INTERRUPTIBLE_FUNCTION = 12; + /** + * Scilab function type constant (not trapped by scilab event listeners) + */ + public static final int SCILAB_OUT_OF_XCLICK_AND_XGETMOUSE = -2; + /** + * Java function type constant + */ + public static final int JAVA = 3; + /** + * Java function type constant (not trapped by scilab event listeners) + */ + public static final int JAVA_OUT_OF_XCLICK_AND_XGETMOUSE = -3; + + /** + * Scilab instruction without GCBO setting (old addmenu compatibility) + */ + public static final int SCILAB_INSTRUCTION_WITHOUT_GCBO = 4; + + /** + * The Command to Store and remember. + */ + private String command; + + /** + * The command type + */ + private int commandType; + + /** + * Constructor to be seen by specifics CallBack. + * @param command the command associated to the ccallback + */ + public CallBack(String command) { + this(command, UNTYPED); + } + + /** + * Constructor to be seen by specifics CallBack. + * @param command the command associated to the ccallback + * @param commandType the command type + */ + public CallBack(String command, int commandType) { + this.command = command; + this.commandType = commandType; + } + + /** + * @param command sets the command + */ + public UpdateStatus setCommand(String command) { + this.command = command; + return UpdateStatus.Success; + } + + /** + * @return the command if it's a Scilab instruction. + */ + public String getCommand() { + return command; + } + + /** + * @param commandType sets the command + */ + public UpdateStatus setCommandType(int commandType) { + this.commandType = commandType; + return UpdateStatus.Success; + } + + /** + * @return the command type + */ + public int getCommandType() { + return commandType; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/ClippableProperty.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/ClippableProperty.java new file mode 100755 index 000000000..b32fc218e --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/ClippableProperty.java @@ -0,0 +1,161 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.graphicObject; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * ClippableProperty class + * @author Manuel JULIACHS + */ +public class ClippableProperty { + /** ClippableProperty properties */ + public enum ClippablePropertyType { CLIPSTATE, CLIPBOX, CLIPBOXSET }; + + /** Indicates how clipping is performed */ + public static enum ClipStateType { OFF, CLIPGRF, ON; + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the clip state type enum + */ + public static ClipStateType intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return ClipStateType.OFF; + case 1: + return ClipStateType.CLIPGRF; + case 2: + return ClipStateType.ON; + default: + return null; + } + } + + } + + /** Clipping state */ + private ClipStateType clipState; + + /** Clip box (4- or 6-element array) */ + private double[] clipBox; + + /** Specifies whether the clip box has been set at least once */ + private boolean clipBoxSet; + + /** Constructor */ + public ClippableProperty() { + clipState = ClipStateType.OFF; + clipBox = new double[4]; + clipBoxSet = false; + } + + /** + * Copy constructor + * @param clippableProperty the ClippableProperty to copy + */ + public ClippableProperty(ClippableProperty clippableProperty) { + clipState = clippableProperty.clipState; + + clipBox = new double[4]; + + for (int i = 0; i < clipBox.length; i++) { + clipBox[i] = clippableProperty.clipBox[i]; + } + + clipBoxSet = clippableProperty.clipBoxSet; + } + + /** + * @return the clipBox + */ + public Double[] getClipBox() { + Double[] retClipBox = new Double[clipBox.length]; + + for (int i = 0; i < clipBox.length; i++) { + retClipBox[i] = clipBox[i]; + } + + return retClipBox; + } + + /** + * @param clipBox the clipBox to set + */ + public UpdateStatus setClipBox(Double[] clipBox) { + UpdateStatus status = UpdateStatus.NoChange; + if (clipBoxSet == false) { + clipBoxSet = true; + status = UpdateStatus.Success; + } + + if (status == UpdateStatus.Success) { + for (int i = 0; i < clipBox.length; i++) { + this.clipBox[i] = clipBox[i]; + } + } else { + for (int i = 0; i < clipBox.length; i++) { + if (this.clipBox[i] != clipBox[i]) { + this.clipBox[i] = clipBox[i]; + status = UpdateStatus.Success; + } + } + } + + return status; + } + + /** + * @return the clipState + */ + public ClipStateType getClipState() { + return clipState; + } + + /** + * @param clipState the clipState to set + */ + public UpdateStatus setClipState(ClipStateType clipState) { + if (clipState == ClipStateType.ON && clipBoxSet == false) { + clipState = ClipStateType.CLIPGRF; + } + + if (this.clipState != clipState) { + this.clipState = clipState; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the clipBoxSet + */ + public Boolean getClipBoxSet() { + return clipBoxSet; + } + + /** + * @param clipBoxSet the clipBoxSet to set + */ + public UpdateStatus setClipBoxSet(Boolean clipBoxSet) { + if (this.clipBoxSet != clipBoxSet) { + this.clipBoxSet = clipBoxSet; + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicClippableObject.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicClippableObject.java new file mode 100755 index 000000000..61c69f5c9 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicClippableObject.java @@ -0,0 +1,167 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.graphicObject; + +import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty.ClipStateType; +import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty.ClippablePropertyType; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * GraphicClippableObject class + * @author Manuel JULIACHS + */ +public abstract class GraphicClippableObject extends GraphicObject { + /** GraphicClippableObject properties names */ + private enum GraphicClippableObjectProperty { CLIPPROPERTY }; + + /** Stores the actual clipping state */ + private ClippableProperty clipProperty; + + /** Default constructor */ + public GraphicClippableObject() { + super(); + clipProperty = new ClippableProperty(); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_CLIP_PROPERTY__ : + return GraphicClippableObjectProperty.CLIPPROPERTY; + case __GO_CLIP_STATE__ : + return ClippablePropertyType.CLIPSTATE; + case __GO_CLIP_BOX__ : + return ClippablePropertyType.CLIPBOX; + case __GO_CLIP_BOX_SET__ : + return ClippablePropertyType.CLIPBOXSET; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == GraphicClippableObjectProperty.CLIPPROPERTY) { + return getClipProperty(); + } else if (property == ClippablePropertyType.CLIPSTATE) { + return getClipState(); + } else if (property == ClippablePropertyType.CLIPBOX) { + return getClipBox(); + } else if (property == ClippablePropertyType.CLIPBOXSET) { + return getClipBoxSet(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == GraphicClippableObjectProperty.CLIPPROPERTY) { + setClipProperty((ClippableProperty) value); + } else if (property == ClippablePropertyType.CLIPSTATE) { + setClipState((Integer) value); + } else if (property == ClippablePropertyType.CLIPBOX) { + setClipBox((Double[]) value); + } else if (property == ClippablePropertyType.CLIPBOXSET) { + setClipBoxSet((Boolean) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the clipProperty + */ + public ClippableProperty getClipProperty() { + return clipProperty; + } + + /** + * @param clipProperty the clipProperty to set + */ + public void setClipProperty(ClippableProperty clipProperty) { + this.clipProperty = clipProperty; + } + + /** + * @return the clipBox + */ + public Double[] getClipBox() { + return clipProperty.getClipBox(); + } + + /** + * @param clipBox the clipBox to set + */ + public void setClipBox(Double[] clipBox) { + clipProperty.setClipBox(clipBox); + } + + /** + * @return the clipState + */ + public Integer getClipState() { + return getClipStateAsEnum().ordinal(); + } + + /** + * @return the clipState + */ + public ClipStateType getClipStateAsEnum() { + return clipProperty.getClipState(); + } + + /** + * @param clipState the clipState to set + */ + public void setClipState(Integer clipState) { + setClipStateAsEnum(ClipStateType.intToEnum(clipState)); + } + + /** + * @param clipState the clipState to set + */ + public void setClipStateAsEnum(ClipStateType clipState) { + clipProperty.setClipState(clipState); + } + + /** + * @return the clipBoxSet + */ + public Boolean getClipBoxSet() { + return clipProperty.getClipBoxSet(); + } + + /** + * @param clipBoxSet the clipBoxSet to set + */ + public void setClipBoxSet(Boolean clipBoxSet) { + clipProperty.setClipBoxSet(clipBoxSet); + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObject.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObject.java new file mode 100755 index 000000000..ba25b84d5 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObject.java @@ -0,0 +1,793 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Manuel JULIACHS + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.graphicObject; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ARC__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AXESMODEL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AXES__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AXIS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CALLBACKTYPE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CALLBACK__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CHAMP__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CHILDREN_COUNT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CHILDREN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_COMPOUND__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIP__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATA_MODEL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FAC3D__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FEC__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FIGUREMODEL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FIGURE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_GRAYPLOT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_HAS_LEGEND_CHILD__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_HIDDEN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LABEL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LEGEND_CHILD__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LEGEND__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LIGHT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MATPLOT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_PARENT_AXES__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_PARENT_FIGURE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_PARENT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_PLOT3D__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_POLYLINE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_PROGRESSIONBAR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_RECTANGLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_REFERENCED__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SEGS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SELECTED_CHILD__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TAG__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TEXT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TYPE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICONTEXTMENU__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UIMENU__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_CHECKBOX__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_EDIT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_SCROLLABLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_IMAGE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LAYER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LISTBOX__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_POPUPMENU__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_PUSHBUTTON__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_RADIOBUTTON__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SLIDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SPINNER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TABLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TAB__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TEXT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VALID__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VISIBLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_WAITBAR__; + +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; + +import org.scilab.modules.graphic_objects.ObjectRemovedException; +import org.scilab.modules.graphic_objects.axes.Axes; +import org.scilab.modules.graphic_objects.figure.Figure; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.legend.Legend; +import org.scilab.modules.graphic_objects.uicontrol.frame.Frame; + +/** + * GraphicObject class + * @author Manuel JULIACHS + * @author Vincent COUVERT + */ +public abstract class GraphicObject implements Cloneable { + + public enum UpdateStatus { + Success, // Property updated with new values + NoChange, // Property leave unchanged + Fail // Update Fail + }; + + /** User data array default size */ + public static final int USER_DATA_DEFAULT_SIZE = 0; + + /** Graphic objects types */ + public enum Type { ARC, AXES, AXESMODEL, AXIS, CHAMP, COMPOUND, FAC3D, FEC, FIGURE, FIGUREMODEL, GRAYPLOT, + LABEL, LEGEND, MATPLOT, PLOT3D, POLYLINE, RECTANGLE, SEGS, TEXT, CHECKBOX, EDIT, SPINNER, FRAME, + IMAGE, LISTBOX, POPUPMENU, PUSHBUTTON, RADIOBUTTON, CONSOLE, JAVACONSOLE, SLIDER, TABLE, UITEXT, UIMENU, UIMENUMODEL, + PROGRESSIONBAR, WAITBAR, UICONTEXTMENU, DATATIP, LIGHT, TABGROUP, TAB, LAYER, BORDER, FRAME_SCROLLABLE, UNKNOWNOBJECT + }; + + /** GraphicObject properties */ + public enum GraphicObjectPropertyType { PARENT, CHILDREN, CHILDREN_COUNT, HIDDEN, VISIBLE, TYPE, REFERENCED, VALID, DATA, + PARENT_FIGURE, PARENT_AXES, HASLEGENDCHILD, LEGENDCHILD, SELECTEDCHILD, TAG, CALLBACK, CALLBACKTYPE, UNKNOWNPROPERTY + }; + + /** Identifier */ + private Integer identifier; + + /** Parent object is known by its UID */ + private Integer parent; + + /** Child objects list. Known by their UID */ + private List <Integer> children; + + /** Specifies whether the object is visible or not */ + private boolean visible; + + /** Specifies if the "handle" is referenced in scilab */ + private boolean referenced; + + /** Specifies if the "handle" is valid, i.e included in a rendered object */ + private boolean valid; + + /** Specifies if the "handle" is hidden, i.e not listed as children in Scilab view */ + private boolean hidden; + + /** Tag */ + private String tag; + + /** Callback */ + private CallBack callback; + + /** + * Identifier of the selected child + * This was previously implemented as a list, but is used in practice + * to store only the identifier of the currently selected child. + * To do: use a list if required + */ + private Integer selectedChild; + + /** Constructor */ + public GraphicObject() { + identifier = 0; + parent = 0; + children = new LinkedList<Integer>(); + visible = true; + valid = true; + referenced = false; + selectedChild = 0; + tag = ""; + callback = new CallBack(""); + } + + /** + * Clone + * @return clone + * @see java.lang.Object#clone() + */ + public GraphicObject clone() { + GraphicObject copy = null; + + try { + copy = (GraphicObject) super.clone(); + } catch (CloneNotSupportedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + /* + * Creating an empty list is done to avoid + * still referencing the original object's own list, + * which occurs when the Figure model is cloned. + */ + copy.setChildren(new LinkedList<Integer>()); + + /* + * Avoids keeping the Figure model as a parent + * when the Axes model is cloned. + */ + copy.setParent(0); + + /* + * Sets no object as the selected child. + */ + copy.setSelectedChild(0); + + return copy; + } + + abstract public void accept(Visitor visitor) throws ObjectRemovedException; + + /** + * Returns the enum associated to a type name + * @param typeName the property name + * @return the type enum + */ + public static Type getTypeFromName(int typeName) { + switch (typeName) { + case __GO_ARC__ : + return Type.ARC; + case __GO_AXES__ : + return Type.AXES; + case __GO_AXESMODEL__ : + return Type.AXESMODEL; + case __GO_AXIS__ : + return Type.AXIS; + case __GO_CHAMP__ : + return Type.CHAMP; + case __GO_COMPOUND__ : + return Type.COMPOUND; + case __GO_FAC3D__ : + return Type.FAC3D; + case __GO_FEC__ : + return Type.FEC; + case __GO_FIGURE__ : + return Type.FIGURE; + case __GO_FIGUREMODEL__ : + return Type.FIGUREMODEL; + case __GO_GRAYPLOT__ : + return Type.GRAYPLOT; + case __GO_LABEL__ : + return Type.LABEL; + case __GO_LEGEND__ : + return Type.LEGEND; + case __GO_MATPLOT__ : + return Type.MATPLOT; + case __GO_PLOT3D__ : + return Type.PLOT3D; + case __GO_POLYLINE__ : + return Type.POLYLINE; + case __GO_RECTANGLE__ : + return Type.RECTANGLE; + case __GO_SEGS__ : + return Type.SEGS; + case __GO_TEXT__ : + return Type.TEXT; + case __GO_UI_CHECKBOX__ : + return Type.CHECKBOX; + case __GO_UI_EDIT__ : + return Type.EDIT; + case __GO_UI_SPINNER__ : + return Type.SPINNER; + case __GO_UI_FRAME__ : + return Type.FRAME; + case __GO_UI_IMAGE__ : + return Type.IMAGE; + case __GO_UI_LISTBOX__ : + return Type.LISTBOX; + case __GO_UI_POPUPMENU__ : + return Type.POPUPMENU; + case __GO_UI_PUSHBUTTON__ : + return Type.PUSHBUTTON; + case __GO_UI_RADIOBUTTON__ : + return Type.RADIOBUTTON; + case __GO_UI_SLIDER__ : + return Type.SLIDER; + case __GO_UI_TABLE__ : + return Type.TABLE; + case __GO_UI_TEXT__ : + return Type.UITEXT; + case __GO_UIMENU__ : + return Type.UIMENU; + case __GO_UICONTEXTMENU__ : + return Type.UICONTEXTMENU; + case __GO_PROGRESSIONBAR__ : + return Type.PROGRESSIONBAR; + case __GO_WAITBAR__ : + return Type.WAITBAR; + case __GO_DATATIP__: + return Type.DATATIP; + case __GO_LIGHT__ : + return Type.LIGHT; + case __GO_UI_TAB__ : + return Type.TAB; + case __GO_UI_LAYER__ : + return Type.LAYER; + case __GO_UI_FRAME_BORDER__ : + return Type.BORDER; + case __GO_UI_FRAME_SCROLLABLE__ : + return Type.FRAME_SCROLLABLE; + default : + return Type.UNKNOWNOBJECT; + } + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_PARENT__ : + return GraphicObjectPropertyType.PARENT; + case __GO_CHILDREN__ : + return GraphicObjectPropertyType.CHILDREN; + case __GO_CHILDREN_COUNT__ : + return GraphicObjectPropertyType.CHILDREN_COUNT; + case __GO_HIDDEN__ : + return GraphicObjectPropertyType.HIDDEN; + case __GO_VISIBLE__ : + return GraphicObjectPropertyType.VISIBLE; + case __GO_REFERENCED__ : + return GraphicObjectPropertyType.REFERENCED; + case __GO_VALID__ : + return GraphicObjectPropertyType.VALID; + case __GO_PARENT_FIGURE__ : + return GraphicObjectPropertyType.PARENT_FIGURE; + case __GO_PARENT_AXES__ : + return GraphicObjectPropertyType.PARENT_AXES; + case __GO_HAS_LEGEND_CHILD__ : + return GraphicObjectPropertyType.HASLEGENDCHILD; + case __GO_LEGEND_CHILD__ : + return GraphicObjectPropertyType.LEGENDCHILD; + case __GO_SELECTED_CHILD__ : + return GraphicObjectPropertyType.SELECTEDCHILD; + case __GO_TYPE__ : + return GraphicObjectPropertyType.TYPE; + case __GO_DATA_MODEL__ : + return GraphicObjectPropertyType.DATA; + case __GO_TAG__ : + return GraphicObjectPropertyType.TAG; + case __GO_CALLBACK__ : + return GraphicObjectPropertyType.CALLBACK; + case __GO_CALLBACKTYPE__ : + return GraphicObjectPropertyType.CALLBACKTYPE; + default: + //System.err.println("[ERROR] Unknown Property : "+propertyName+" !!!!!!!!!!"); + return GraphicObjectPropertyType.UNKNOWNPROPERTY; + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (!(property instanceof GraphicObjectPropertyType)) { + return null; + } + + GraphicObjectPropertyType p = (GraphicObjectPropertyType) property; + switch (p) { + case PARENT: + return getParent(); + case CHILDREN: + return getChildren(); + case CHILDREN_COUNT: + return children.size(); + case VALID: + return isValid(); + case HIDDEN: + return isHidden(); + case VISIBLE: + return getVisible(); + case PARENT_FIGURE: + return getParentFigure(); + case PARENT_AXES: + return getParentAxes(); + case HASLEGENDCHILD: + return getHasLegendChild(); + case LEGENDCHILD: + return getLegendChild(); + case SELECTEDCHILD: + return getSelectedChild(); + case TYPE: + return getType(); + case DATA: + return getIdentifier(); + case TAG: + return getTag(); + case CALLBACK: + return getCallbackString(); + case CALLBACKTYPE: + return getCallbackType(); + case UNKNOWNPROPERTY: + return null; + default: + return null; + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (!(property instanceof GraphicObjectPropertyType)) { + return UpdateStatus.Success; + } + + GraphicObjectPropertyType p = (GraphicObjectPropertyType) property; + switch (p) { + case PARENT: + setParent((Integer) value); + break; + case CHILDREN: + setChildren((Integer[]) value); + break; + case VALID: + setValid((Boolean) value); + break; + case HIDDEN: + setHidden((Boolean) value); + break; + case VISIBLE: + setVisible((Boolean) value); + break; + case SELECTEDCHILD: + setSelectedChild((Integer) value); + break; + case DATA: + return UpdateStatus.Success; + case TAG: + setTag((String) value); + break; + case CALLBACK: + setCallbackString((String) value); + break; + case CALLBACKTYPE: + setCallbackType((Integer) value); + break; + case UNKNOWNPROPERTY: + return UpdateStatus.Fail; + default: + return UpdateStatus.Success; + } + + return UpdateStatus.Success; + } + + /** + * Returns a null property + * @param property property name + * @return null property + */ + public Object getNullProperty(String property) { + return null; + } + + /** + * Void property get method + * @param property the property name + */ + public Object getPropertyVoid(String property) { + // TODO + return null; + } + + /* TODO */ + /** + * Void property set method + * @param property the property name + * @param value the property value + */ + public void setPropertyVoid(String property, Object value) { + // TODO + } + + /** + * @return the children + */ + public Integer[] getChildren() { + return children.toArray(new Integer[children.size()]); + } + + /** + * Adds a child. + * @param child the identifier of the added child. + */ + public void addChild(Integer child) { + children.add(0, child); + } + + /** + * Removes a child. + * @param child the identifier of the removed child. + */ + public void removeChild(Integer child) { + children.remove(child); + } + + /** + * @param children the children to set + */ + private UpdateStatus setChildren(List<Integer> children) { + this.children = children; + return UpdateStatus.Success; + } + + /** + * @param children the children to set + */ + public UpdateStatus setChildren(Integer[] children) { + this.children = new LinkedList<Integer>(Arrays.asList(children)); + return UpdateStatus.Success; + } + + /** + * @return the identifier + */ + public Integer getIdentifier() { + return identifier; + } + + /** + * @param identifier the identifier to set + */ + public UpdateStatus setIdentifier(Integer identifier) { + this.identifier = identifier; + return UpdateStatus.Success; + } + + /** + * @return the parent + */ + public Integer getParent() { + return parent; + } + + /** + * @param parent the parent to set + * @return TODO + */ + public UpdateStatus setParent(Integer parent) { + this.parent = parent; + return UpdateStatus.Success; + } + + /** + * @return the tag + */ + public String getTag() { + return tag; + } + + /** + * @param tag the tag to set + * @return TODO + */ + public UpdateStatus setTag(String tag) { + if (this.tag.equals(tag)) { + return UpdateStatus.NoChange; + } + + this.tag = tag; + return UpdateStatus.Success; + } + + /** + * @return the callback + */ + public String getCallbackString() { + return callback.getCommand(); + } + + /** + * @param callback the callback to set + * @return TODO + */ + public UpdateStatus setCallbackString(String callback) { + return this.callback.setCommand(callback); + } + + /** + * @return the callbackType + */ + public Integer getCallbackType() { + return callback.getCommandType(); + } + + /** + * @param callbackType the callbackType to set + * @return TODO + */ + public UpdateStatus setCallbackType(Integer callbackType) { + this.callback.setCommandType(callbackType); + return UpdateStatus.Success; + } + + /** + * Get parent Figure method + * Returns the identifier of the object's parent Figure + * If the object is a Figure, then returns its own identifier. + * To be done: use a member variable storing the up-to-date current parent Figure, + * returned instead of recursively ascending the hierarchy at each call. + * @return the parent Figure identifier + */ + public Integer getParentFigure() { + if (this instanceof Figure) { + return getIdentifier(); + } + + if (getParent() != 0 && GraphicController.getController().getObjectFromId(getParent()) != null) { + return GraphicController.getController().getObjectFromId(getParent()).getParentFigure(); + } + + /* No parent Figure found */ + return 0; + } + + /** + * Get parent Figure method + * Returns the identifier of the object's parent Figure + * If the object is a Figure, then returns its own identifier. + * To be done: use a member variable storing the up-to-date current parent Figure, + * returned instead of recursively ascending the hierarchy at each call. + * @return the parent Figure identifier + */ + public Integer getParentFrameOrFigure() { + if (this instanceof Figure || this instanceof Frame) { + return getIdentifier(); + } + + if (getParent() != 0 && GraphicController.getController().getObjectFromId(getParent()) != null) { + return GraphicController.getController().getObjectFromId(getParent()).getParentFrameOrFigure(); + } + + /* No parent Figure nor Frame found */ + return 0; + } + + /** + * Get parent Axes method + * Returns the identifier of the object's parent Axes + * If the object is an Axes, then returns its own identifier. + * To be done: use a member variable storing the up-to-date current parent Axes, + * returned instead of recursively ascending the hierarchy at each call. + * @return the parent Axes identifier + */ + public Integer getParentAxes() { + if (this instanceof Axes) { + return getIdentifier(); + } else { + if (getParent() != 0 && GraphicController.getController().getObjectFromId(getParent()) != null) { + return GraphicController.getController().getObjectFromId(getParent()).getParentAxes(); + } else { + /* No parent Axes found */ + return 0; + } + } + } + + /** + * Get has legend child method + * Returns a boolean indicating whether one of the object's direct children + * is a Legend object. Only one Legend is supposed to be present in the list. + * To be done: storing the property and updating it only when a Legend object + * is inserted or deleted instead of searching the children list when the + * property is queried. + * @return a Boolean indicating whether the object has a child Legend object or not + */ + public Boolean getHasLegendChild() { + for (int i = 0; i < children.size(); i++) { + GraphicObject currentObject = GraphicController.getController().getObjectFromId(children.get(i)); + + if (currentObject instanceof Legend) { + return true; + } + } + + return false; + } + + /** + * Returns the identifier of the object's direct child that is a Legend object. + * It returns an empty string if the object has no Legend in its children list + * (one Legend is supposed to be present at most). + * @return the object's child Legend object identifier, or an empty string if no child Legend found. + */ + public Integer getLegendChild() { + for (int i = 0; i < children.size(); i++) { + GraphicObject currentObject = GraphicController.getController().getObjectFromId(children.get(i)); + + if (currentObject instanceof Legend) { + return currentObject.getIdentifier(); + } + } + + /* No child legend found */ + return 0; + } + + /** + * Get selected child method + * @return the selected child + */ + public Integer getSelectedChild() { + return selectedChild; + } + + /** + * Set selected child method + * @param selectedChild the selected child to set + */ + public UpdateStatus setSelectedChild(Integer selectedChild) { + this.selectedChild = selectedChild; + return UpdateStatus.Success; + } + + /** + * Get visible method + * @return the visible + */ + public Boolean getVisible() { + return visible; + } + + /** + * Set visible method + * @param visible the visible to set + * @return TODO + */ + public UpdateStatus setVisible(Boolean visible) { + if (this.visible == visible) { + return UpdateStatus.NoChange; + } + + this.visible = visible; + return UpdateStatus.Success; + } + + /** + * Each type should name itself + * @return Type as String + */ + public abstract Integer getType(); + + /** + * isValid method + * @return valid + */ + public Boolean isValid() { + return valid; + } + + /** + * Set hidden method + * @param hidden the value to set + * @return TODO + */ + public UpdateStatus setHidden(Boolean hidden) { + this.hidden = hidden; + return UpdateStatus.Success; + } + + /** + * isHidden method + * @return hidden + */ + public Boolean isHidden() { + return hidden; + } + + /** + * Set valid method + * @param valid the validity to set + * @return TODO + */ + public UpdateStatus setValid(Boolean valid) { + this.valid = valid; + return UpdateStatus.Success; + } + + /** + * isReferenced method + * @return referenced + */ + public Boolean isReferenced() { + return referenced; + } + + /** + * Set referenced method + * @param referenced the reference status to set + * @return TODO + */ + public UpdateStatus setReferenced(Boolean referenced) { + this.referenced = referenced; + return UpdateStatus.Success; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java new file mode 100755 index 000000000..f5b430558 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java @@ -0,0 +1,419 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2012 - DIGITEO - Bruno JOFRET + * Copyright (C) 2012-2014 - Scilab-Enterprises - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/* + * -=- This is a generated file, please do not edit by hand -=- + * -=- Please see properties definitions in -=- + * -=- SCI/modules/graphic_objects/src/scripts/propertiesMap.properties -=- + */ + +package org.scilab.modules.graphic_objects.graphicObject; + +public class GraphicObjectProperties { + + public static final int __GO_ARC__ = 0; + public static final int __GO_AXES__ = 1; + public static final int __GO_AXESMODEL__ = 2; + public static final int __GO_AXIS__ = 3; + public static final int __GO_CHAMP__ = 4; + public static final int __GO_COMPOUND__ = 5; + public static final int __GO_FAC3D__ = 6; + public static final int __GO_FEC__ = 7; + public static final int __GO_FIGURE__ = 8; + public static final int __GO_FIGUREMODEL__ = 9; + public static final int __GO_GRAYPLOT__ = 10; + public static final int __GO_LABEL__ = 11; + public static final int __GO_LEGEND__ = 12; + public static final int __GO_MATPLOT__ = 13; + public static final int __GO_PLOT3D__ = 14; + public static final int __GO_POLYLINE__ = 15; + public static final int __GO_RECTANGLE__ = 16; + public static final int __GO_SEGS__ = 17; + public static final int __GO_TEXT__ = 18; + public static final int __GO_UICONTROL__ = 19; + public static final int __GO_UIMENU__ = 20; + public static final int __GO_UICONTEXTMENU__ = 21; + public static final int __GO_CHILDREN__ = 22; + public static final int __GO_CHILDREN_COUNT__ = 23; + public static final int __GO_PARENT__ = 24; + public static final int __GO_USER_DATA__ = 25; + public static final int __GO_USER_DATA_SIZE__ = 26; + public static final int __GO_VISIBLE__ = 27; + public static final int __GO_HIDDEN__ = 28; + public static final int __GO_TYPE__ = 29; + public static final int __GO_DATA_MODEL__ = 30; + public static final int __GO_PARENT_FIGURE__ = 31; + public static final int __GO_PARENT_AXES__ = 32; + public static final int __GO_HAS_LEGEND_CHILD__ = 33; + public static final int __GO_LEGEND_CHILD__ = 34; + public static final int __GO_SELECTED_CHILD__ = 35; + public static final int __GO_CALLBACK__ = 36; + public static final int __GO_CALLBACKTYPE__ = 37; + public static final int __GO_DATA_MODEL_COORDINATES__ = 38; + public static final int __GO_DATA_MODEL_X__ = 39; + public static final int __GO_DATA_MODEL_Y__ = 40; + public static final int __GO_DATA_MODEL_Z__ = 41; + public static final int __GO_DATA_MODEL_X_COORDINATES_SHIFT__ = 42; + public static final int __GO_DATA_MODEL_Y_COORDINATES_SHIFT__ = 43; + public static final int __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ = 44; + public static final int __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ = 45; + public static final int __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ = 46; + public static final int __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ = 47; + public static final int __GO_DATA_MODEL_NUM_ELEMENTS__ = 48; + public static final int __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ = 49; + public static final int __GO_DATA_MODEL_NUM_VERTICES_PER_GON__ = 50; + public static final int __GO_DATA_MODEL_NUM_GONS__ = 51; + public static final int __GO_DATA_MODEL_Z_COORDINATES_SET__ = 52; + public static final int __GO_DATA_MODEL_COLORS__ = 53; + public static final int __GO_DATA_MODEL_NUM_COLORS__ = 54; + public static final int __GO_DATA_MODEL_NUM_VERTICES__ = 55; + public static final int __GO_DATA_MODEL_NUM_INDICES__ = 56; + public static final int __GO_DATA_MODEL_INDICES__ = 57; + public static final int __GO_DATA_MODEL_VALUES__ = 58; + public static final int __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__ = 59; + public static final int __GO_DATA_MODEL_FEC_ELEMENTS__ = 60; + public static final int __GO_DATA_MODEL_NUM_X__ = 61; + public static final int __GO_DATA_MODEL_NUM_Y__ = 62; + public static final int __GO_DATA_MODEL_NUM_Z__ = 63; + public static final int __GO_DATA_MODEL_GRID_SIZE__ = 64; + public static final int __GO_DATA_MODEL_X_DIMENSIONS__ = 65; + public static final int __GO_DATA_MODEL_Y_DIMENSIONS__ = 66; + public static final int __GO_MATPLOT_TRANSLATE__ = 67; + public static final int __GO_MATPLOT_SCALE__ = 68; + public static final int __GO_DATA_MODEL_MATPLOT_BOUNDS__ = 69; + public static final int __GO_DATA_MODEL_MATPLOT_TYPE__ = 70; + public static final int __GO_DATA_MODEL_MATPLOT_GL_TYPE__ = 71; + public static final int __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ = 72; + public static final int __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ = 73; + public static final int __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ = 74; + public static final int __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ = 75; + public static final int __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ = 76; + public static final int __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__ = 77; + public static final int __GO_REFERENCED__ = 78; + public static final int __GO_VALID__ = 79; + public static final int __GO_POSITION__ = 80; + public static final int __GO_SIZE__ = 81; + public static final int __GO_CANVAS__ = 82; + public static final int __GO_AUTORESIZE__ = 83; + public static final int __GO_VIEWPORT__ = 84; + public static final int __GO_AXES_SIZE__ = 85; + public static final int __GO_FIGURE_NAME__ = 86; + public static final int __GO_NAME__ = 87; + public static final int __GO_ID__ = 88; + public static final int __GO_INFO_MESSAGE__ = 89; + public static final int __GO_COLORMAP__ = 90; + public static final int __GO_COLORMAP_SIZE__ = 91; + public static final int __GO_RENDERING_MODE__ = 92; + public static final int __GO_PIXEL_DRAWING_MODE__ = 93; + public static final int __GO_ANTIALIASING__ = 94; + public static final int __GO_IMMEDIATE_DRAWING__ = 95; + public static final int __GO_BACKGROUND__ = 96; + public static final int __GO_EVENTHANDLER__ = 97; + public static final int __GO_EVENTHANDLER_NAME__ = 98; + public static final int __GO_EVENTHANDLER_ENABLE__ = 99; + public static final int __GO_TAG__ = 100; + public static final int __GO_ROTATION_TYPE__ = 101; + public static final int __GO_RESIZEFCN__ = 102; + public static final int __GO_CLOSEREQUESTFCN__ = 103; + public static final int __GO_DEFAULT_AXES__ = 104; + public static final int __GO_UPPER_LEFT_POINT__ = 105; + public static final int __GO_WIDTH__ = 106; + public static final int __GO_HEIGHT__ = 107; + public static final int __GO_START_ANGLE__ = 108; + public static final int __GO_END_ANGLE__ = 109; + public static final int __GO_ARC_DRAWING_METHOD__ = 110; + public static final int __GO_X_AXIS_VISIBLE__ = 111; + public static final int __GO_X_AXIS_REVERSE__ = 112; + public static final int __GO_X_AXIS_GRID_COLOR__ = 113; + public static final int __GO_X_AXIS_GRID_THICKNESS__ = 114; + public static final int __GO_X_AXIS_GRID_STYLE__ = 115; + public static final int __GO_X_AXIS_LABEL__ = 116; + public static final int __GO_X_AXIS_LOCATION__ = 117; + public static final int __GO_X_AXIS_LOG_FLAG__ = 118; + public static final int __GO_X_AXIS_TICKS__ = 119; + public static final int __GO_X_AXIS_FORMAT__ = 120; + public static final int __GO_X_AXIS_ST_FACTORS__ = 121; + public static final int __GO_X_AXIS_AUTO_TICKS__ = 122; + public static final int __GO_X_AXIS_NUMBER_TICKS__ = 123; + public static final int __GO_X_AXIS_TICKS_LOCATIONS__ = 124; + public static final int __GO_X_AXIS_TICKS_LABELS__ = 125; + public static final int __GO_X_AXIS_SUBTICKS__ = 126; + public static final int __GO_Y_AXIS_VISIBLE__ = 127; + public static final int __GO_Y_AXIS_REVERSE__ = 128; + public static final int __GO_Y_AXIS_GRID_COLOR__ = 129; + public static final int __GO_Y_AXIS_GRID_THICKNESS__ = 130; + public static final int __GO_Y_AXIS_GRID_STYLE__ = 131; + public static final int __GO_Y_AXIS_LABEL__ = 132; + public static final int __GO_Y_AXIS_LOCATION__ = 133; + public static final int __GO_Y_AXIS_LOG_FLAG__ = 134; + public static final int __GO_Y_AXIS_TICKS__ = 135; + public static final int __GO_Y_AXIS_FORMAT__ = 136; + public static final int __GO_Y_AXIS_ST_FACTORS__ = 137; + public static final int __GO_Y_AXIS_AUTO_TICKS__ = 138; + public static final int __GO_Y_AXIS_NUMBER_TICKS__ = 139; + public static final int __GO_Y_AXIS_TICKS_LOCATIONS__ = 140; + public static final int __GO_Y_AXIS_TICKS_LABELS__ = 141; + public static final int __GO_Y_AXIS_SUBTICKS__ = 142; + public static final int __GO_Z_AXIS_VISIBLE__ = 143; + public static final int __GO_Z_AXIS_REVERSE__ = 144; + public static final int __GO_Z_AXIS_GRID_COLOR__ = 145; + public static final int __GO_Z_AXIS_GRID_THICKNESS__ = 146; + public static final int __GO_Z_AXIS_GRID_STYLE__ = 147; + public static final int __GO_Z_AXIS_LABEL__ = 148; + public static final int __GO_Z_AXIS_LOCATION__ = 149; + public static final int __GO_Z_AXIS_LOG_FLAG__ = 150; + public static final int __GO_Z_AXIS_TICKS__ = 151; + public static final int __GO_Z_AXIS_FORMAT__ = 152; + public static final int __GO_Z_AXIS_ST_FACTORS__ = 153; + public static final int __GO_Z_AXIS_AUTO_TICKS__ = 154; + public static final int __GO_Z_AXIS_NUMBER_TICKS__ = 155; + public static final int __GO_Z_AXIS_TICKS_LOCATIONS__ = 156; + public static final int __GO_Z_AXIS_TICKS_LABELS__ = 157; + public static final int __GO_Z_AXIS_SUBTICKS__ = 158; + public static final int __GO_AUTO_SUBTICKS__ = 159; + public static final int __GO_GRID_POSITION__ = 160; + public static final int __GO_TITLE__ = 161; + public static final int __GO_AUTO_CLEAR__ = 162; + public static final int __GO_FILLED__ = 163; + public static final int __GO_CAMERA__ = 164; + public static final int __GO_VIEW__ = 165; + public static final int __GO_ISOVIEW__ = 166; + public static final int __GO_CUBE_SCALING__ = 167; + public static final int __GO_ROTATION_ANGLES__ = 168; + public static final int __GO_ROTATION_ANGLES_3D__ = 169; + public static final int __GO_BOX_TYPE__ = 170; + public static final int __GO_HIDDEN_AXIS_COLOR__ = 171; + public static final int __GO_X_TIGHT_LIMITS__ = 172; + public static final int __GO_Y_TIGHT_LIMITS__ = 173; + public static final int __GO_Z_TIGHT_LIMITS__ = 174; + public static final int __GO_DATA_BOUNDS__ = 175; + public static final int __GO_REAL_DATA_BOUNDS__ = 176; + public static final int __GO_ZOOM_ENABLED__ = 177; + public static final int __GO_ZOOM_BOX__ = 178; + public static final int __GO_AUTO_SCALE__ = 179; + public static final int __GO_FIRST_PLOT__ = 180; + public static final int __GO_MARGINS__ = 181; + public static final int __GO_AUTO_MARGINS__ = 182; + public static final int __GO_AXES_BOUNDS__ = 183; + public static final int __GO_CLIP_PROPERTY__ = 184; + public static final int __GO_CLIP_STATE__ = 185; + public static final int __GO_CLIP_BOX__ = 186; + public static final int __GO_CLIP_BOX_SET__ = 187; + public static final int __GO_LINE__ = 188; + public static final int __GO_LINE_MODE__ = 189; + public static final int __GO_LINE_STYLE__ = 190; + public static final int __GO_LINE_THICKNESS__ = 191; + public static final int __GO_LINE_COLOR__ = 192; + public static final int __GO_FILL_MODE__ = 193; + public static final int __GO_MARK__ = 194; + public static final int __GO_MARK_MODE__ = 195; + public static final int __GO_MARK_STYLE__ = 196; + public static final int __GO_MARK_SIZE_UNIT__ = 197; + public static final int __GO_MARK_SIZE__ = 198; + public static final int __GO_MARK_FOREGROUND__ = 199; + public static final int __GO_MARK_BACKGROUND__ = 200; + public static final int __GO_MARK_OFFSET__ = 201; + public static final int __GO_MARK_STRIDE__ = 202; + public static final int __GO_SELECTED__ = 203; + public static final int __GO_TICKS_DIRECTION__ = 204; + public static final int __GO_X_NUMBER_TICKS__ = 205; + public static final int __GO_Y_NUMBER_TICKS__ = 206; + public static final int __GO_X_TICKS_COORDS__ = 207; + public static final int __GO_Y_TICKS_COORDS__ = 208; + public static final int __GO_TICKS_COLOR__ = 209; + public static final int __GO_TICKS_SEGMENT__ = 210; + public static final int __GO_TICKS_STYLE__ = 211; + public static final int __GO_SUBTICKS__ = 212; + public static final int __GO_NUMBER_TICKS_LABELS__ = 213; + public static final int __GO_TICKS_LABELS__ = 214; + public static final int __GO_FORMATN__ = 215; + public static final int __GO_FONT__ = 216; + public static final int __GO_FONT_STYLE__ = 217; + public static final int __GO_FONT_SIZE__ = 218; + public static final int __GO_FONT_COLOR__ = 219; + public static final int __GO_FONT_FRACTIONAL__ = 220; + public static final int __GO_Z_BOUNDS__ = 221; + public static final int __GO_OUTSIDE_COLOR__ = 222; + public static final int __GO_COLOR_RANGE__ = 223; + public static final int __GO_DATA_MAPPING__ = 224; + public static final int __GO_FONT_ANGLE__ = 225; + public static final int __GO_AUTO_POSITION__ = 226; + public static final int __GO_CORNERS__ = 227; + public static final int __GO_AUTO_ROTATION__ = 228; + public static final int __GO_LINKS__ = 229; + public static final int __GO_LINKS_COUNT__ = 230; + public static final int __GO_LEGEND_LOCATION__ = 231; + public static final int __GO_MARKS_COUNT__ = 232; + public static final int __GO_LINE_WIDTH__ = 233; + public static final int __GO_CLOSED__ = 234; + public static final int __GO_ARROW_SIZE_FACTOR__ = 235; + public static final int __GO_POLYLINE_STYLE__ = 236; + public static final int __GO_INTERP_COLOR_VECTOR__ = 237; + public static final int __GO_INTERP_COLOR_VECTOR_SET__ = 238; + public static final int __GO_INTERP_COLOR_MODE__ = 239; + public static final int __GO_X_SHIFT__ = 240; + public static final int __GO_Y_SHIFT__ = 241; + public static final int __GO_Z_SHIFT__ = 242; + public static final int __GO_BAR_WIDTH__ = 243; + public static final int __GO_SURFACE_MODE__ = 244; + public static final int __GO_COLOR_MODE__ = 245; + public static final int __GO_COLOR_FLAG__ = 246; + public static final int __GO_ALIGNMENT__ = 247; + public static final int __GO_BOX__ = 248; + public static final int __GO_TEXT_BOX__ = 249; + public static final int __GO_TEXT_BOX_MODE__ = 250; + public static final int __GO_AUTO_DIMENSIONING__ = 251; + public static final int __GO_FORMATTED_TEXT__ = 252; + public static final int __GO_TEXT_ARRAY_DIMENSIONS__ = 253; + public static final int __GO_TEXT_STRINGS__ = 254; + public static final int __GO_BASE__ = 255; + public static final int __GO_BASE_X__ = 256; + public static final int __GO_BASE_Y__ = 257; + public static final int __GO_BASE_Z__ = 258; + public static final int __GO_DIRECTION__ = 259; + public static final int __GO_DIRECTION_X__ = 260; + public static final int __GO_DIRECTION_Y__ = 261; + public static final int __GO_DIRECTION_Z__ = 262; + public static final int __GO_ARROW_SIZE__ = 263; + public static final int __GO_SEGS_COLORS__ = 264; + public static final int __GO_COLORED__ = 265; + public static final int __GO_ARROWS__ = 266; + public static final int __GO_NUMBER_ARROWS__ = 267; + public static final int __GO_CHAMP_DIMENSIONS__ = 268; + public static final int __GO_BOUNDING_BOX__ = 269; + public static final int __GO_MAX_LENGTH__ = 270; + public static final int __GO_MAX_USABLE_LENGTH__ = 271; + public static final int __GO_HIDDEN_COLOR__ = 272; + public static final int __GO_STYLE__ = 273; + public static final int __GO_UI_CHECKBOX__ = 274; + public static final int __GO_UI_EDIT__ = 275; + public static final int __GO_UI_SPINNER__ = 276; + public static final int __GO_UI_FRAME__ = 277; + public static final int __GO_UI_FRAME_SCROLLABLE__ = 278; + public static final int __GO_UI_IMAGE__ = 279; + public static final int __GO_UI_LISTBOX__ = 280; + public static final int __GO_UI_POPUPMENU__ = 281; + public static final int __GO_UI_PUSHBUTTON__ = 282; + public static final int __GO_UI_RADIOBUTTON__ = 283; + public static final int __GO_UI_SLIDER__ = 284; + public static final int __GO_UI_TABLE__ = 285; + public static final int __GO_UI_TEXT__ = 286; + public static final int __GO_UI_LAYER__ = 287; + public static final int __GO_UI_BACKGROUNDCOLOR__ = 288; + public static final int __GO_UI_ENABLE__ = 289; + public static final int __GO_UI_FONTANGLE__ = 290; + public static final int __GO_UI_FONTNAME__ = 291; + public static final int __GO_UI_FONTSIZE__ = 292; + public static final int __GO_UI_FONTUNITS__ = 293; + public static final int __GO_UI_FONTWEIGHT__ = 294; + public static final int __GO_UI_FOREGROUNDCOLOR__ = 295; + public static final int __GO_UI_HORIZONTALALIGNMENT__ = 296; + public static final int __GO_UI_LISTBOXTOP__ = 297; + public static final int __GO_UI_LISTBOXTOP_SIZE__ = 298; + public static final int __GO_UI_MAX__ = 299; + public static final int __GO_UI_MIN__ = 300; + public static final int __GO_UI_RELIEF__ = 301; + public static final int __GO_UI_STRING__ = 302; + public static final int __GO_UI_TAB_STRING__ = 303; + public static final int __GO_UI_STRING_SIZE__ = 304; + public static final int __GO_UI_STRING_COLNB__ = 305; + public static final int __GO_UI_TOOLTIPSTRING__ = 306; + public static final int __GO_UI_TOOLTIPSTRING_SIZE__ = 307; + public static final int __GO_UI_SLIDERSTEP__ = 308; + public static final int __GO_UI_UNITS__ = 309; + public static final int __GO_UI_VALUE__ = 310; + public static final int __GO_UI_TAB_VALUE__ = 311; + public static final int __GO_UI_VALUE_SIZE__ = 312; + public static final int __GO_UI_VERTICALALIGNMENT__ = 313; + public static final int __GO_UIPARENTMENU__ = 314; + public static final int __GO_UICHILDMENU__ = 315; + public static final int __GO_UICHECKEDMENU__ = 316; + public static final int __GO_UI_CHECKED__ = 317; + public static final int __GO_UI_LABEL__ = 318; + public static final int __GO_UI_MNEMONIC__ = 319; + public static final int __GO_UI_ACCELERATOR__ = 320; + public static final int __GO_UI_SEPARATOR__ = 321; + public static final int __GO_UI_ICON__ = 322; + public static final int __GO_CONSOLE__ = 323; + public static final int __GO_SHOWHIDDENHANDLES__ = 324; + public static final int __GO_SHOWHIDDENPROPERTIES__ = 325; + public static final int __GO_USEDEPRECATEDLF__ = 326; + public static final int __GO_WAITBAR__ = 327; + public static final int __GO_PROGRESSIONBAR__ = 328; + public static final int __GO_UI_MESSAGE__ = 329; + public static final int __GO_UI_MESSAGE_SIZE__ = 330; + public static final int __GO_DATATIP__ = 331; + public static final int __GO_DATATIP_DATA__ = 332; + public static final int __GO_DATATIP_ORIENTATION__ = 333; + public static final int __GO_DATATIP_3COMPONENT__ = 334; + public static final int __GO_DATATIP_AUTOORIENTATION__ = 335; + public static final int __GO_DATATIP_INTERP_MODE__ = 336; + public static final int __GO_DATATIP_DISPLAY_FNC__ = 337; + public static final int __GO_DATATIP_BOX_MODE__ = 338; + public static final int __GO_DATATIP_LABEL_MODE__ = 339; + public static final int __GO_DATATIP_MARK__ = 340; + public static final int __GO_AMBIENTCOLOR__ = 341; + public static final int __GO_DIFFUSECOLOR__ = 342; + public static final int __GO_SPECULARCOLOR__ = 343; + public static final int __GO_COLOR_MATERIAL__ = 344; + public static final int __GO_MATERIAL_SHININESS__ = 345; + public static final int __GO_LIGHT__ = 346; + public static final int __GO_LIGHT_TYPE__ = 347; + public static final int __GO_DATATIPS__ = 348; + public static final int __GO_DATATIPS_COUNT__ = 349; + public static final int __GO_DATATIP_INDEXES__ = 350; + public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION__ = 351; + public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ = 352; + public static final int __GO_RESIZE__ = 353; + public static final int __GO_TOOLBAR__ = 354; + public static final int __GO_TOOLBAR_VISIBLE__ = 355; + public static final int __GO_MENUBAR__ = 356; + public static final int __GO_MENUBAR_VISIBLE__ = 357; + public static final int __GO_INFOBAR_VISIBLE__ = 358; + public static final int __GO_DOCKABLE__ = 359; + public static final int __GO_LAYOUT__ = 360; + public static final int __GO_LAYOUT_SET__ = 361; + public static final int __GO_UI_TAB__ = 362; + public static final int __GO_UI_GRIDBAG_GRID__ = 363; + public static final int __GO_UI_GRIDBAG_WEIGHT__ = 364; + public static final int __GO_UI_GRIDBAG_FILL__ = 365; + public static final int __GO_UI_GRIDBAG_ANCHOR__ = 366; + public static final int __GO_UI_GRIDBAG_PADDING__ = 367; + public static final int __GO_UI_GRIDBAG_PREFERREDSIZE__ = 368; + public static final int __GO_UI_GRID_GRID__ = 369; + public static final int __GO_UI_GRID_PADDING__ = 370; + public static final int __GO_UI_BORDER_POSITION__ = 371; + public static final int __GO_UI_BORDER_PREFERREDSIZE__ = 372; + public static final int __GO_GRID_OPT_GRID__ = 373; + public static final int __GO_GRID_OPT_PADDING__ = 374; + public static final int __GO_BORDER_OPT_PADDING__ = 375; + public static final int __GO_UI_FRAME_BORDER__ = 376; + public static final int __GO_UI_FRAME_BORDER_COLOR__ = 377; + public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ = 378; + public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ = 379; + public static final int __GO_UI_FRAME_BORDER_IN_BORDER__ = 380; + public static final int __GO_UI_FRAME_BORDER_JUSTIFICATION__ = 381; + public static final int __GO_UI_FRAME_BORDER_OUT_BORDER__ = 382; + public static final int __GO_UI_FRAME_BORDER_ROUNDED__ = 383; + public static final int __GO_UI_FRAME_BORDER_SHADOW_IN__ = 384; + public static final int __GO_UI_FRAME_BORDER_SHADOW_OUT__ = 385; + public static final int __GO_UI_FRAME_BORDER_TITLE__ = 386; + public static final int __GO_UI_FRAME_BORDER_POSITION__ = 387; + public static final int __GO_UI_FRAME_BORDER_STYLE__ = 388; + public static final int __GO_UI_GROUP_NAME__ = 389; + public static final int __GO_UI_TITLE_POSITION__ = 390; + public static final int __GO_UI_TITLE_SCROLL__ = 391; + public static final int __GO_UI_FRAME_BORDER_TYPE__ = 392; + public static final int __GO_UI_SCROLLABLE__ = 393; + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/Visitor.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/Visitor.java new file mode 100755 index 000000000..ad202da41 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/Visitor.java @@ -0,0 +1,80 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2010 - DIGITEO - Pierre LANDO + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +package org.scilab.modules.graphic_objects.graphicObject; + +import org.scilab.modules.graphic_objects.ObjectRemovedException; +import org.scilab.modules.graphic_objects.arc.Arc; +import org.scilab.modules.graphic_objects.axes.Axes; +import org.scilab.modules.graphic_objects.axis.Axis; +import org.scilab.modules.graphic_objects.compound.Compound; +import org.scilab.modules.graphic_objects.datatip.Datatip; +import org.scilab.modules.graphic_objects.fec.Fec; +import org.scilab.modules.graphic_objects.figure.Figure; +import org.scilab.modules.graphic_objects.imageplot.Grayplot; +import org.scilab.modules.graphic_objects.imageplot.Matplot; +import org.scilab.modules.graphic_objects.label.Label; +import org.scilab.modules.graphic_objects.legend.Legend; +import org.scilab.modules.graphic_objects.polyline.Polyline; +import org.scilab.modules.graphic_objects.rectangle.Rectangle; +import org.scilab.modules.graphic_objects.surface.Fac3d; +import org.scilab.modules.graphic_objects.surface.Plot3d; +import org.scilab.modules.graphic_objects.textObject.Text; +import org.scilab.modules.graphic_objects.uicontrol.frame.Frame; +import org.scilab.modules.graphic_objects.vectfield.Arrow; +import org.scilab.modules.graphic_objects.vectfield.Champ; +import org.scilab.modules.graphic_objects.vectfield.Segs; + +/** + * @author Pierre Lando + */ +public interface Visitor { + + void visit(Axes axes); + + void visit(Arc arc); + + void visit(Axis axis); + + void visit(Compound compound); + + void visit(Fec fec) throws ObjectRemovedException; + + void visit(Figure figure); + + void visit(Frame frame); + + void visit(Grayplot grayplot) throws ObjectRemovedException; + + void visit(Matplot matplot) throws ObjectRemovedException; + + void visit(Label label); + + void visit(Legend legend); + + void visit(Polyline polyline) throws ObjectRemovedException; + + void visit(Rectangle rectangle); + + void visit(Fac3d fac3d) throws ObjectRemovedException; + + void visit(Plot3d plot3d) throws ObjectRemovedException; + + void visit(Text text); + + void visit(Datatip datatip); + + void visit(Arrow arrow); + + void visit(Champ champ) throws ObjectRemovedException; + + void visit(Segs segs) throws ObjectRemovedException; +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/FlattenTreeView.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/FlattenTreeView.java new file mode 100755 index 000000000..5e6196c8e --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/FlattenTreeView.java @@ -0,0 +1,74 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - Scilab Enterprises - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +package org.scilab.modules.graphic_objects.graphicView; + +import javax.swing.tree.DefaultMutableTreeNode; + +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; + +public class FlattenTreeView extends TreeView { + private static FlattenTreeView me; + + private FlattenTreeView() { + super(); + } + + public static void createView() { + if (me == null) { + me = new FlattenTreeView(); + GraphicController.getController().register(me); + me.show(); + } + } + + public static void deleteView() { + if (me != null) { + me.hide(); + GraphicController.getController().unregister(me); + me = null; + } + } + + public void createObject(Integer id) { + try { + GraphicObject graphiObject = GraphicController.getController().getObjectFromId(id); + //if (!(graphiObject instanceof Uimenu)) { + DefaultMutableTreeNode node = new DefaultMutableTreeNode(new GraphicObjectNode(graphiObject)); + + allObjects.put(id, node); + top.add(node); + topModel.nodeStructureChanged(top); + //} + } catch (Exception e) { + //e.printStackTrace(); + } + } + + public void deleteObject(Integer id) { + try { + DefaultMutableTreeNode objectNode = allObjects.get(id); + if (objectNode != null) { + DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) objectNode.getParent(); + objectNode.removeFromParent(); + allObjects.remove(id); + topModel.nodeStructureChanged(parentNode); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void updateObject(Integer id, int property) { + + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/GedTreeView.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/GedTreeView.java new file mode 100755 index 000000000..4360f82c9 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/GedTreeView.java @@ -0,0 +1,91 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - Scilab Enterprises - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +package org.scilab.modules.graphic_objects.graphicView; + +import javax.swing.tree.DefaultMutableTreeNode; + +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; + +public class GedTreeView extends TreeView { + + private static GedTreeView me; + + private GedTreeView() { + super(); + } + + public static GedTreeView create() { + if (me == null) { + me = new GedTreeView(); + } + return me; + } + + public void createObject(Integer id) { + try { + GraphicObject graphiObject = GraphicController.getController().getObjectFromId(id); + DefaultMutableTreeNode node = new DefaultMutableTreeNode(new GraphicObjectNode(graphiObject)); + + allObjects.put(id, node); + top.add(node); + topModel.nodeStructureChanged(top); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void deleteObject(Integer id) { + try { + DefaultMutableTreeNode objectNode = allObjects.get(id); + if (objectNode != null) { + DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) objectNode.getParent(); + objectNode.removeFromParent(); + allObjects.remove(id); + topModel.nodeStructureChanged(parentNode); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + public void updateObject(Integer id, int property) { + + DefaultMutableTreeNode objectNode = allObjects.get(id); + /* + * Update parent property + */ + if (objectNode != null && property == GraphicObjectProperties.__GO_PARENT__) { + DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) objectNode.getParent(); + + if (parentNode != null) { + // Remove from old parent + objectNode.removeFromParent(); + topModel.nodeStructureChanged(parentNode); + + Integer parentUID = (Integer) GraphicController.getController().getProperty(id, GraphicObjectProperties.__GO_PARENT__); + // Retrieve new Parent + DefaultMutableTreeNode newParentNode = allObjects.get(parentUID); + + // If there is no more parent, leave object at top level + if (newParentNode == null) { + newParentNode = top; + } + + newParentNode.add(objectNode); + topModel.nodeStructureChanged(newParentNode); + } + } + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/GraphicView.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/GraphicView.java new file mode 100755 index 000000000..b820c9889 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/GraphicView.java @@ -0,0 +1,39 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.graphicView; + +import java.util.EventListener; + +public interface GraphicView extends EventListener { + + /** + * Notify an object with ID : id + * has been updated. + * @param id + */ + void updateObject(Integer id, int property); + + /** + * Notify an object with ID : id + * has been created. + * @param id + */ + void createObject(Integer id); + + /** + * Notify an object with ID : id + * has been deleted. + * @param id + */ + void deleteObject(Integer id); +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/GuiLogView.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/GuiLogView.java new file mode 100755 index 000000000..237b8d8f2 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/GuiLogView.java @@ -0,0 +1,80 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +package org.scilab.modules.graphic_objects.graphicView; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TYPE__; + +import javax.swing.JEditorPane; +import javax.swing.JFrame; +import javax.swing.JScrollPane; +import javax.swing.text.Document; + +import org.scilab.modules.graphic_objects.graphicController.GraphicController; + +public class GuiLogView implements GraphicView { + private static GuiLogView me; + private JEditorPane htmlLogPane; + private JFrame frame; + + public static GuiLogView createGuiLogView() { + if (me == null) { + me = new GuiLogView(); + } + return me; + } + + private GuiLogView() { + frame = new JFrame("GuiLogView"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + htmlLogPane = new JEditorPane(); + htmlLogPane.setEditable(false); + JScrollPane logView = new JScrollPane(htmlLogPane); + frame.setContentPane(logView); + frame.setVisible(false); + frame.setSize(800, 600); + } + + public void show() { + frame.setVisible(true); + } + + public void createObject(Integer id) { + try { + int objectType = (Integer) GraphicController.getController().getProperty(id, __GO_TYPE__); + Document doc = htmlLogPane.getDocument(); + doc.insertString(doc.getLength(), "+++" + id + " Object Created type is " + objectType + ".\n", null); + htmlLogPane.setCaretPosition(doc.getLength()); + } catch (Exception e) { + e.printStackTrace(); + } + } + public void deleteObject(Integer id) { + try { + Document doc = htmlLogPane.getDocument(); + doc.insertString(doc.getLength(), "---" + id + " Object Deleted.\n", null); + htmlLogPane.setCaretPosition(doc.getLength()); + } catch (Exception e) { + e.printStackTrace(); + } + } + public void updateObject(Integer id, int property) { + try { + Document doc = htmlLogPane.getDocument(); + doc.insertString(doc.getLength(), "===" + id + " Object Property " + property + " Updated.\n", null); + htmlLogPane.setCaretPosition(doc.getLength()); + } catch (Exception e) { + e.printStackTrace(); + } + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/LogView.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/LogView.java new file mode 100755 index 000000000..c9cc0b7c7 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/LogView.java @@ -0,0 +1,70 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.graphicView; + +import java.lang.reflect.Field; +import java.util.HashMap; + +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TYPE__; + +public class LogView implements GraphicView { + + private static LogView me = null; + + private LogView() {} + + public static void createLogView() { + if (me == null) { + me = new LogView(); + GraphicController.getController().register(me); + } + } + + public static void deleteLogView() { + if (me != null) { + GraphicController.getController().unregister(me); + me = null; + } + } + + public static HashMap<Integer, String> pierreDeRosette = new HashMap<Integer, String>(); + + static { + Field[] fields = GraphicObjectProperties.class.getFields(); + for(int i = 0 ; i < fields.length ; ++i) { + try { + pierreDeRosette.put(fields[i].getInt(null), fields[i].getName()); + } catch (Exception e){ + e.printStackTrace(); + } + } + } + + public void createObject(Integer id) { + int objectType = (Integer) GraphicController.getController().getProperty(id, __GO_TYPE__); + System.out.println("+++ " + id + " Object Created type is " + pierreDeRosette.get(objectType) + "."); + } + + public void deleteObject(Integer id) { + System.out.println("--- " + id + " Object Deleted."); + + } + + public void updateObject(Integer id, int property) { + System.out.println("=== " + id + " Object Property " + pierreDeRosette.get(property) + " Updated."); + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/ScilabView.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/ScilabView.java new file mode 100755 index 000000000..ea8dc53ff --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/ScilabView.java @@ -0,0 +1,57 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +package org.scilab.modules.graphic_objects.graphicView; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ID__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CHILDREN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TAG__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_PARENT__; + +import org.scilab.modules.graphic_objects.ScilabNativeView; + +public class ScilabView extends ScilabNativeView implements GraphicView { + + private static ScilabView me; + + public ScilabView() { + } + + public static ScilabView getScilabView() { + if (me == null) { + me = new ScilabView(); + } + return me; + } + + public void createObject(Integer id) { + ScilabNativeView__createObject(id); + } + + public void deleteObject(Integer id) { + ScilabNativeView__deleteObject(id); + } + + public void updateObject(Integer id, int property) { + switch (property) { + case __GO_ID__ : + case __GO_CHILDREN__ : + case __GO_PARENT__ : + case __GO_TAG__ : { + ScilabNativeView__updateObject(id, property); + break; + } + default : { + break; + } + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/TreeView.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/TreeView.java new file mode 100755 index 000000000..c27087a56 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicView/TreeView.java @@ -0,0 +1,218 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +package org.scilab.modules.graphic_objects.graphicView; + +import java.awt.Dimension; +import java.awt.GridLayout; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +import javax.swing.JEditorPane; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JSplitPane; +import javax.swing.JTree; +import javax.swing.event.TreeSelectionEvent; +import javax.swing.event.TreeSelectionListener; +import javax.swing.tree.DefaultMutableTreeNode; +import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreeSelectionModel; + +import org.scilab.modules.graphic_objects.contouredObject.ContouredObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; +import org.scilab.modules.graphic_objects.uicontrol.frame.border.FrameBorder; + +public abstract class TreeView implements GraphicView, TreeSelectionListener { + + protected Map<Integer, DefaultMutableTreeNode> allObjects = new ConcurrentHashMap<Integer, DefaultMutableTreeNode>(); + protected DefaultTreeModel topModel = null; + protected DefaultMutableTreeNode top = new DefaultMutableTreeNode("Graphic Objects"); + private JTree tree; + private JEditorPane htmlDetailPane; + private JFrame frame; + + public void show() { + frame.setVisible(true); + } + + public void hide() { + frame.setVisible(false); + } + + protected TreeView() { + frame = new JFrame("TreeView"); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + + JPanel panel = new JPanel(new GridLayout(1, 0)); + + topModel = new DefaultTreeModel(top); + tree = new JTree(topModel); + tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); + tree.addTreeSelectionListener(this); + tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); + + + //Listen for when the selection changes. + tree.addTreeSelectionListener(this); + + + Dimension minDims = new Dimension(400, 300); + //Create the scroll pane and add the tree to it. + JScrollPane treeView = new JScrollPane(tree); + treeView.setMinimumSize(minDims); + + //Create the HTML detail viewing pane. + htmlDetailPane = new JEditorPane(); + htmlDetailPane.setEditable(false); + htmlDetailPane.setContentType("text/html"); + JScrollPane htmlView = new JScrollPane(htmlDetailPane); + + //Add the scroll panes to a split pane. + JSplitPane treeDetailPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT); + //treeDetailPane.setLeftComponent(fTreeView); + treeDetailPane.setLeftComponent(treeView); + treeDetailPane.setRightComponent(htmlView); + + treeDetailPane.setDividerLocation(100); + treeDetailPane.setPreferredSize(new Dimension(1200, 600)); + + //Add the split pane to this panel. + panel.add(treeDetailPane); + frame.add(panel); + frame.setVisible(false); + frame.setSize(1200, 600); + } + + public abstract void createObject(Integer id); + public abstract void deleteObject(Integer id) ; + public abstract void updateObject(Integer id, int property); + + /* + * Inner class to wrap GraphicObject in a Node. + */ + protected class GraphicObjectNode { + private GraphicObject graphicObject; + + public GraphicObjectNode(GraphicObject object) { + this.graphicObject = object; + } + + public String toString() { + return typeToString(graphicObject.getType()) + " : @" + graphicObject.getIdentifier().toString(); + } + + public String toHTML() { + StringBuffer strBuff = new StringBuffer(); + strBuff.append("<html><body>"); + strBuff.append("<h1>Graphic Object of type: " + typeToString(graphicObject.getType()) + "</h1>"); + strBuff.append("<h2> Id : " + graphicObject.getIdentifier() + "</h2>"); + strBuff.append("<table border=\"1\">"); + strBuff.append("<tr><th>Property Name</th><th>Value</th></tr>"); + // Graphic Object + for (GraphicObject.GraphicObjectPropertyType goProperty : GraphicObject.GraphicObjectPropertyType.values()) { + strBuff.append("<tr><td>"); + strBuff.append(goProperty); + strBuff.append("</td><td>"); + Object values = graphicObject.getProperty(goProperty); + if (values instanceof String[]) { + String[] strings = (String []) values; + strBuff.append("{"); + for (int i = 0; i < strings.length ; ++i) { + strBuff.append(strings[i] + ","); + } + strBuff.append("}"); + } else if (values instanceof Integer[]) { + Integer[] ints = (Integer []) values; + strBuff.append("{"); + for (int i = 0; i < ints.length ; ++i) { + strBuff.append(ints[i] + ","); + } + strBuff.append("}"); + } else if (values instanceof Double[]) { + Double[] vals = (Double []) values; + strBuff.append("{"); + for (int i = 0; i < vals.length ; ++i) { + strBuff.append(vals[i] + ","); + } + strBuff.append("}"); + } else { + if (values != null) { + if (values.getClass().getPackage().getName().contains("scilab")) { + strBuff.append(values.getClass().getCanonicalName()); + } else { + strBuff.append(values.toString()); + } + } else { + strBuff.append("??? NULL ???"); + } + } + strBuff.append("</td></tr>"); + } + + // ContouredObject + if (graphicObject instanceof ContouredObject) { + for (ContouredObject.ContouredObjectPropertyType goProperty : ContouredObject.ContouredObjectPropertyType.values()) { + strBuff.append("<tr><td>"); + strBuff.append(goProperty); + strBuff.append("</td><td>"); + strBuff.append(graphicObject.getProperty(goProperty)); + strBuff.append("</td></tr>"); + } + } + + // UiControl + if (graphicObject instanceof Uicontrol) { + Uicontrol uiControl = (Uicontrol) graphicObject; + strBuff.append("<tr><td>STYLE</td><td>" + typeToString(uiControl.getStyle()) + "</td>"); + strBuff.append("<tr><td>LAYOUT</td><td>" + uiControl.getLayoutAsEnum() + "</td>"); + strBuff.append("<tr><td>GROUP NAME</td><td>" + uiControl.getGroupName() + "</td>"); + strBuff.append("<tr><td>FRAME_BORDER</td><td>" + uiControl.getFrameBorder() + "</td>"); + } + + if (graphicObject instanceof FrameBorder) { + FrameBorder frameBorder = (FrameBorder) graphicObject; + strBuff.append("<tr><td>STYLE</td><td>" + frameBorder.getStyleAsEnum().toString() + "</td>"); + } + + strBuff.append("</table>"); + strBuff.append("</body></html>"); + return strBuff.toString(); + } + + private String typeToString(Integer key) { + return LogView.pierreDeRosette.get(key); + } + } + + + + /** Required by TreeSelectionListener interface. */ + public void valueChanged(TreeSelectionEvent e) { + Object node = tree.getLastSelectedPathComponent(); + + if (node == null || !(node instanceof DefaultMutableTreeNode)) { + htmlDetailPane.setText(""); + return; + } + + Object nodeInfo = ((DefaultMutableTreeNode) node).getUserObject(); + if (nodeInfo == null || !(nodeInfo instanceof GraphicObjectNode)) { + htmlDetailPane.setText(""); + return; + } + GraphicObjectNode graphicObject = (GraphicObjectNode) nodeInfo; + htmlDetailPane.setText(graphicObject.toHTML()); + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/imageplot/Grayplot.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/imageplot/Grayplot.java new file mode 100755 index 000000000..754c7e773 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/imageplot/Grayplot.java @@ -0,0 +1,144 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.imageplot; + +import org.scilab.modules.graphic_objects.ObjectRemovedException; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Grayplot class + * @author Manuel JULIACHS + */ +public class Grayplot extends Imageplot { + /* TBD: properties relative to the data model */ + /** Grayplot properties names */ + private enum GrayplotProperty { DATAMAPPING }; + + /** Data mapping */ + private enum DataMapping { SCALED, DIRECT; + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the data mapping enum + */ + public static DataMapping intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return DataMapping.SCALED; + case 1: + return DataMapping.DIRECT; + default: + return null; + } + } + } + + /** Specifies how colors are mapped to values */ + private DataMapping dataMapping; + + /** Constructor */ + public Grayplot() { + super(); + dataMapping = DataMapping.DIRECT; + } + + @Override + public void accept(Visitor visitor) throws ObjectRemovedException { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + if (propertyName == __GO_DATA_MAPPING__) { + return GrayplotProperty.DATAMAPPING; + } else { + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == GrayplotProperty.DATAMAPPING) { + return getDataMapping(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == GrayplotProperty.DATAMAPPING) { + setDataMapping((Integer) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the dataMapping + */ + public Integer getDataMapping() { + return getDataMappingAsEnum().ordinal(); + } + + /** + * @return the dataMapping + */ + public DataMapping getDataMappingAsEnum() { + return dataMapping; + } + + /** + * @param dataMapping the dataMapping to set + */ + public UpdateStatus setDataMapping(Integer dataMapping) { + setDataMappingAsEnum(DataMapping.intToEnum(dataMapping)); + return UpdateStatus.Success; + } + + /** + * @param dataMapping the dataMapping to set + */ + public UpdateStatus setDataMappingAsEnum(DataMapping dataMapping) { + this.dataMapping = dataMapping; + return UpdateStatus.Success; + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_GRAYPLOT__; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/imageplot/Imageplot.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/imageplot/Imageplot.java new file mode 100755 index 000000000..fd921f2d5 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/imageplot/Imageplot.java @@ -0,0 +1,106 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.imageplot; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MATPLOT_SCALE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MATPLOT_TRANSLATE__; + +import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * ImagePlot class + * @author Manuel JULIACHS + */ +public abstract class Imageplot extends ClippableContouredObject { + // TBD + // Data -> Data Model + /** Grayplot properties names */ + private enum ImageplotProperty { SCALE, TRANSLATE }; + // Methods: to be done + + private Double[] scale = {1.0, 1.0}; + private Double[] translate = {0.5, 0.5}; + + /** Constructor */ + public Imageplot() { + super(); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_MATPLOT_SCALE__ : + return ImageplotProperty.SCALE; + case __GO_MATPLOT_TRANSLATE__ : + return ImageplotProperty.TRANSLATE; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == ImageplotProperty.TRANSLATE) { + return getTranslate(); + } else if (property == ImageplotProperty.SCALE) { + return getScale(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == ImageplotProperty.TRANSLATE) { + setTranslate((Double[]) value); + } else if (property == ImageplotProperty.SCALE) { + setScale((Double[]) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + public Double[] getScale() { + return new Double[] {scale[0], scale[1]}; + } + + public UpdateStatus setScale(Double[] scale) { + this.scale = scale; + return UpdateStatus.Success; + } + + public Double[] getTranslate() { + return new Double[] {translate[0], translate[1]}; + } + + public UpdateStatus setTranslate(Double[] translate) { + this.translate = translate; + return UpdateStatus.Success; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/imageplot/Matplot.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/imageplot/Matplot.java new file mode 100755 index 000000000..1b5eee104 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/imageplot/Matplot.java @@ -0,0 +1,43 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.imageplot; + +import org.scilab.modules.graphic_objects.ObjectRemovedException; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; + +/** + * Matplot class + * @author Manuel JULIACHS + */ +public class Matplot extends Imageplot { + // Methods: to be done + + /** Constructor */ + public Matplot() { + super(); + } + + @Override + public void accept(Visitor visitor) throws ObjectRemovedException { + visitor.visit(this); + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_MATPLOT__; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/label/Label.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/label/Label.java new file mode 100755 index 000000000..4389bd5f8 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/label/Label.java @@ -0,0 +1,281 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2012 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.label; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; +import org.scilab.modules.graphic_objects.textObject.TextObject; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Label class + * @author Manuel JULIACHS + */ +public class Label extends TextObject { + /** Label properties names */ + public enum LabelProperty { FONTANGLE, AUTOPOSITION, POSITION, CORNERS, AUTOROTATION }; + + /** Text orientation */ + private double fontAngle; + + /** Specifies whether the label position is automatically computed or not */ + private boolean autoPosition; + + /** 3-element array: (x, y, z) position */ + private double[] position; + + /** + * The 3D coordinates of the Label's four corners. + * They are stored in clockwise order, starting from the lower-left corner. + */ + private double[][] corners; + + /** Specifies whether the label orientation is automatically computed or not */ + private boolean autoRotation; + + /** Constructor */ + public Label() { + super(); + fontAngle = 0.0; + autoPosition = false; + position = new double[3]; + corners = new double[4][3]; + autoRotation = false; + + Integer[] textDimensions = {1, 1}; + String[] textStrings = {""}; + + setTextArrayDimensions(textDimensions); + setTextStrings(textStrings); + } + + /** + * Clone method + */ + public Label clone() { + Label copy = (Label) super.clone(); + + copy.position = new double[3]; + for (int i = 0; i < position.length; i++) { + copy.position[i] = position[i]; + } + + return copy; + } + + @Override + public void accept(Visitor visitor) { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_FONT_ANGLE__ : + return LabelProperty.FONTANGLE; + case __GO_AUTO_POSITION__ : + return LabelProperty.AUTOPOSITION; + case __GO_POSITION__ : + return LabelProperty.POSITION; + case __GO_CORNERS__ : + return LabelProperty.CORNERS; + case __GO_AUTO_ROTATION__ : + return LabelProperty.AUTOROTATION; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == LabelProperty.FONTANGLE) { + return getFontAngle(); + } else if (property == LabelProperty.AUTOPOSITION) { + return getAutoPosition(); + } else if (property == LabelProperty.POSITION) { + return getPosition(); + } else if (property == LabelProperty.CORNERS) { + return getCorners(); + } else if (property == LabelProperty.AUTOROTATION) { + return getAutoRotation(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == LabelProperty.FONTANGLE) { + setFontAngle((Double) value); + } else if (property == LabelProperty.AUTOPOSITION) { + setAutoPosition((Boolean) value); + } else if (property == LabelProperty.POSITION) { + setPosition((Double[]) value); + } else if (property == LabelProperty.CORNERS) { + setCorners((Double[]) value); + } else if (property == LabelProperty.AUTOROTATION) { + setAutoRotation((Boolean) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the autoPosition + */ + public Boolean getAutoPosition() { + return autoPosition; + } + + /** + * @param autoPosition the autoPosition to set + */ + public UpdateStatus setAutoPosition(Boolean autoPosition) { + this.autoPosition = autoPosition; + return UpdateStatus.Success; + } + + /** + * @return the autoRotation + */ + public Boolean getAutoRotation() { + return autoRotation; + } + + /** + * @param autoRotation the autoRotation to set + */ + public UpdateStatus setAutoRotation(Boolean autoRotation) { + this.autoRotation = autoRotation; + return UpdateStatus.Success; + } + + /** + * @return the fontAngle + */ + public Double getFontAngle() { + return fontAngle; + } + + /** + * @param fontAngle the fontAngle to set + */ + public UpdateStatus setFontAngle(Double fontAngle) { + if (autoRotation == true) { + autoRotation = false; + } + + this.fontAngle = fontAngle; + return UpdateStatus.Success; + } + + /** + * @return the position + */ + public Double[] getPosition() { + Double[] retPosition = new Double[3]; + + retPosition[0] = position[0]; + retPosition[1] = position[1]; + retPosition[2] = position[2]; + + return retPosition; + } + + /** + * @param position the position to set + */ + public UpdateStatus setPosition(Double[] position) { + if (autoPosition == true) { + autoPosition = false; + } + + this.position[0] = position[0]; + this.position[1] = position[1]; + this.position[2] = position[2]; + return UpdateStatus.Success; + } + + /** + * Returns the coordinates of the Label's corners + * Coordinates are returned as consecutive (x,y,z) triplets, each triplet + * corresponding to one corner, starting from the lower-left one and + * going in clockwise order. + * @return the corners' coordinates (12-element array) + */ + public Double[] getCorners() { + Double[] retCorners = new Double[12]; + + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 3; j++) { + retCorners[3 * i + j] = corners[i][j]; + } + } + + return retCorners; + } + + /** + * Sets the coordinates of the Label's corners + * The coordinates to set are given as consecutive (x,y,z) triplets, each triplet + * corresponding to one corner, starting from the lower-left one and going in + * clockwise order. + * @param coordinates the corners' coordinates (12-element array) + */ + public UpdateStatus setCorners(Double [] coordinates) { + if (coordinates.length != 12) { + return UpdateStatus.NoChange; + } + + corners[0][0] = coordinates[0]; + corners[0][1] = coordinates[1]; + corners[0][2] = coordinates[2]; + + corners[1][0] = coordinates[3]; + corners[1][1] = coordinates[4]; + corners[1][2] = coordinates[5]; + + corners[2][0] = coordinates[6]; + corners[2][1] = coordinates[7]; + corners[2][2] = coordinates[8]; + + corners[3][0] = coordinates[9]; + corners[3][1] = coordinates[10]; + corners[3][2] = coordinates[11]; + return UpdateStatus.Success; + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_LABEL__; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/legend/Legend.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/legend/Legend.java new file mode 100755 index 000000000..239bfc3f2 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/legend/Legend.java @@ -0,0 +1,409 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2012 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.legend; + +import java.util.ArrayList; + +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; +import org.scilab.modules.graphic_objects.textObject.ClippableTextObject; +import org.scilab.modules.graphic_objects.textObject.FormattedText; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Legend class + * @author Manuel JULIACHS + */ +public class Legend extends ClippableTextObject { + /** Legend properties names */ + private enum LegendProperty { LINKS, LINKSCOUNT, LEGENDLOCATION, POSITION , SIZE, MARKSCOUNT, LINEWIDTH}; + + /** Legend location */ + public enum LegendLocation { IN_UPPER_RIGHT, IN_UPPER_LEFT, IN_LOWER_RIGHT, IN_LOWER_LEFT, + OUT_UPPER_RIGHT, OUT_UPPER_LEFT, OUT_LOWER_RIGHT, OUT_LOWER_LEFT, + UPPER_CAPTION, LOWER_CAPTION, BY_COORDINATES; + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the legend location enum + */ + public static LegendLocation intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return LegendLocation.IN_UPPER_RIGHT; + case 1: + return LegendLocation.IN_UPPER_LEFT; + case 2: + return LegendLocation.IN_LOWER_RIGHT; + case 3: + return LegendLocation.IN_LOWER_LEFT; + case 4: + return LegendLocation.OUT_UPPER_RIGHT; + case 5: + return LegendLocation.OUT_UPPER_LEFT; + case 6: + return LegendLocation.OUT_LOWER_RIGHT; + case 7: + return LegendLocation.OUT_LOWER_LEFT; + case 8: + return LegendLocation.UPPER_CAPTION; + case 9: + return LegendLocation.LOWER_CAPTION; + case 10: + return LegendLocation.BY_COORDINATES; + default: + return null; + } + } + }; + + /** List of the polylines referred to */ + private ArrayList <Integer> links; + + /** Legend location */ + private LegendLocation legendLocation; + + /** 2D position relative to the parent axes bounds */ + private double[] position; + + /** 2D size relative to the parent axes bounds */ + private double[] size; + + /** Number of marks to draw */ + private Integer marksCount; + + /** Line width in axes coordinates (percentage) */ + private Double lineWidth; + + /** Constructor */ + public Legend() { + super(); + this.links = new ArrayList<Integer>(0); + this.legendLocation = LegendLocation.LOWER_CAPTION; + position = new double[2]; + size = new double[2]; + marksCount = 3; + lineWidth = 0.1; + } + + @Override + public void accept(Visitor visitor) { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_LINKS__ : + return LegendProperty.LINKS; + case __GO_LINKS_COUNT__ : + return LegendProperty.LINKSCOUNT; + case __GO_LEGEND_LOCATION__ : + return LegendProperty.LEGENDLOCATION; + case __GO_POSITION__ : + return LegendProperty.POSITION; + case __GO_SIZE__ : + return LegendProperty.SIZE; + case __GO_MARKS_COUNT__ : + return LegendProperty.MARKSCOUNT; + case __GO_LINE_WIDTH__ : + return LegendProperty.LINEWIDTH; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == LegendProperty.LINKS) { + return getValidLinks(); + } else if (property == LegendProperty.LINKSCOUNT) { + return getValidLinksCount(); + } else if (property == LegendProperty.LEGENDLOCATION) { + return getLegendLocation(); + } else if (property == LegendProperty.POSITION) { + return getPosition(); + } else if (property == TextObjectProperty.TEXT_ARRAY_DIMENSIONS) { + return getValidTextArrayDimensions(); + } else if (property == FormattedText.FormattedTextProperty.TEXT) { + return getValidTextStrings(); + } else if (property == LegendProperty.SIZE) { + return getSize(); + } else if (property == LegendProperty.MARKSCOUNT) { + return getMarksCount(); + } else if (property == LegendProperty.LINEWIDTH) { + return getLineWidth(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == LegendProperty.LINKS) { + setLinks((Integer[]) value); + } else if (property == LegendProperty.LEGENDLOCATION) { + setLegendLocation((Integer) value); + } else if (property == LegendProperty.POSITION) { + setPosition((Double[]) value); + } else if (property == LegendProperty.MARKSCOUNT) { + setMarksCount((Integer) value); + } else if (property == LegendProperty.LINEWIDTH) { + setLineWidth((Double) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the legendLocation + */ + public Integer getLegendLocation() { + return getLegendLocationAsEnum().ordinal(); + } + + /** + * @return the legendLocation + */ + public LegendLocation getLegendLocationAsEnum() { + return legendLocation; + } + + /** + * @param legendLocation the legendLocation to set + */ + public UpdateStatus setLegendLocation(Integer legendLocation) { + setLegendLocationAsEnum(LegendLocation.intToEnum(legendLocation)); + return UpdateStatus.Success; + } + + /** + * @param legendLocation the legendLocation to set + */ + public UpdateStatus setLegendLocationAsEnum(LegendLocation legendLocation) { + this.legendLocation = legendLocation; + return UpdateStatus.Success; + } + + /** + * @return the valid links + */ + public Integer[] getValidLinks() { + ArrayList <Integer> validLinks = new ArrayList<Integer>(0); + + for (int i = 0; i < links.size(); i++) { + GraphicObject object = GraphicController.getController().getObjectFromId(links.get(i)); + + if (object != null) { + validLinks.add(links.get(i)); + } + } + + return validLinks.toArray(new Integer[validLinks.size()]); + } + + /** + * @return the valid links count + */ + public Integer getValidLinksCount() { + int numValidLinks = 0; + + for (int i = 0; i < links.size(); i++) { + GraphicObject object = GraphicController.getController().getObjectFromId(links.get(i)); + + if (object != null) { + numValidLinks++; + } + } + + return numValidLinks; + } + + /** + * @return the links + */ + public Integer[] getLinks() { + Integer[] retLinks = new Integer[links.size()]; + + for (int i = 0; i < links.size(); i++) { + retLinks[i] = links.get(i); + } + + return retLinks; + } + + /** + * @return the links count + */ + public Integer getLinksCount() { + return links.size(); + } + + /** + * @param links the links to set + */ + public UpdateStatus setLinks(Integer[] links) { + if (!this.links.isEmpty()) { + this.links.clear(); + } + + for (int i = 0; i < links.length; i++) { + this.links.add(links[i]); + } + return UpdateStatus.Success; + } + + /** + * @return the marks count + */ + public Integer getMarksCount() { + return marksCount; + } + + /** + * @param marksCount the marks count + */ + public UpdateStatus setMarksCount(Integer marksCount) { + if (!this.marksCount.equals(marksCount)) { + this.marksCount = marksCount; + + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * @return the line width + */ + public Double getLineWidth() { + return lineWidth; + } + + /** + * @param lineWidth the line width + */ + public UpdateStatus setLineWidth(Double lineWidth) { + if (!this.lineWidth.equals(lineWidth)) { + this.lineWidth = lineWidth; + + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } + + /** + * Returns the dimensions of the text array, taking into account only valid links. + * @return the dimensions of the text array + */ + public Integer[] getValidTextArrayDimensions() { + return new Integer[] {getValidLinksCount(), 1}; + } + + /** + * Returns the array of valid text strings. + * A string if considered valid if its corresponding link is also valid, otherwise it is ignored. + * This is used when getting the Legend's TEXT_STRINGS property in order to return only the strings + * corresponding to valid links (see also getValidLinks). + * @return the valid text strings + */ + public String[] getValidTextStrings() { + ArrayList <String> validStrings = new ArrayList<String>(0); + + /* Text strings are stored in reverse order relative to links. */ + for (int i = 0; i < links.size(); i++) { + GraphicObject object = GraphicController.getController().getObjectFromId(links.get(links.size() - i - 1)); + + if (object != null) { + validStrings.add(text[i].getText()); + } + } + + return validStrings.toArray(new String[validStrings.size()]); + } + + /** + * @param links the links to set + */ + public UpdateStatus setLinks(ArrayList<Integer> links) { + this.links = links; + return UpdateStatus.Success; + } + + /** + * @return the position + */ + public Double[] getPosition() { + Double[] retPosition = new Double[2]; + retPosition[0] = position[0]; + retPosition[1] = position[1]; + + return retPosition; + } + + /** + * @param position the position to set + */ + public UpdateStatus setPosition(Double[] position) { + this.position[0] = position[0]; + this.position[1] = position[1]; + return UpdateStatus.Success; + } + + /** + * @return the size + */ + public Double[] getSize() { + Double[] retSize = new Double[2]; + retSize[0] = size[0]; + retSize[1] = size[1]; + + return retSize; + } + + /** + * @param size the size to set + */ + public UpdateStatus setSize(Double[] size) { + this.size[0] = size[0]; + this.size[1] = size[1]; + return UpdateStatus.Success; + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_LEGEND__; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/lighting/ColorTriplet.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/lighting/ColorTriplet.java new file mode 100755 index 000000000..2214b4125 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/lighting/ColorTriplet.java @@ -0,0 +1,121 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2013 - Pedro SOUZA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.lighting; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * Color triplet used for lighting. + * @author Pedro SOUZA + */ + +public class ColorTriplet { + + /** color triplet properties */ + public enum ColorTripletProperty {AMBIENTCOLOR, DIFFUSECOLOR, SPECULARCOLOR}; + /** ambient color */ + protected Double[] ambient; + /** diffuse color */ + protected Double[] diffuse; + /** specular color */ + protected Double[] specular; + + public ColorTriplet() { + ambient = new Double[] {0.0, 0.0, 0.0}; + diffuse = new Double[] {0.0, 0.0, 0.0}; + specular = new Double[] {0.0, 0.0, 0.0}; + } + + /** copy constructor */ + public ColorTriplet(ColorTriplet other) { + ambient = new Double[3]; + diffuse = new Double[3]; + specular = new Double[3]; + setAmbientColor(other.ambient); + setDiffuseColor(other.diffuse); + setSpecularColor(other.specular); + } + + + /** returns the ambient color */ + public Double[] getAmbientColor() { + Double[] ret = new Double[] {ambient[0], ambient[1], ambient[2]}; + return ret; + } + + /** Sets the ambient color */ + public UpdateStatus setAmbientColor(Double[] color) { + if (color.length != 3 || !isColorValid(color)) { + return UpdateStatus.Fail; + } + + if (ambient[0] != color[0] || ambient[1] != color[1] || ambient[2] != color[2]) { + ambient[0] = color[0]; + ambient[1] = color[1]; + ambient[2] = color[2]; + return UpdateStatus.Success; + } + return UpdateStatus.NoChange; + } + + /** returns the dffuse color */ + public Double[] getDiffuseColor() { + Double[] ret = new Double[] {diffuse[0], diffuse[1], diffuse[2]}; + return ret; + } + + /** Sets the diffuse color */ + public UpdateStatus setDiffuseColor(Double[] color) { + if (color.length != 3 || !isColorValid(color)) { + return UpdateStatus.Fail; + } + + if (diffuse[0] != color[0] || diffuse[1] != color[1] || diffuse[2] != color[2]) { + diffuse[0] = color[0]; + diffuse[1] = color[1]; + diffuse[2] = color[2]; + return UpdateStatus.Success; + } + return UpdateStatus.NoChange; + } + + /** returns the specular color */ + public Double[] getSpecularColor() { + Double[] ret = new Double[] {specular[0], specular[1], specular[2]}; + return ret; + } + + /** Sets the specular color */ + public UpdateStatus setSpecularColor(Double[] color) { + if (color.length != 3 || !isColorValid(color)) { + return UpdateStatus.Fail; + } + + if (specular[0] != color[0] || specular[1] != specular[1] || specular[2] != color[2]) { + specular[0] = color[0]; + specular[1] = color[1]; + specular[2] = color[2]; + return UpdateStatus.Success; + } + return UpdateStatus.NoChange; + } + + private boolean isColorValid(Double[] color) { + for (Double d : color) { + if (d < 0.0 || d > 1.0) { + return false; + } + } + return true; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/lighting/Light.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/lighting/Light.java new file mode 100755 index 000000000..a0042ba8c --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/lighting/Light.java @@ -0,0 +1,278 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2013 - Pedro SOUZA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.lighting; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.legend.Legend.LegendLocation; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Light class + * @author Pedro SOUZA + */ +public class Light extends GraphicObject { + + public enum LightProperty {POSITION, DIRECTION, TYPE}; + + public enum LightType {DIRECTIONAL, POINT; + + public static LightType intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return DIRECTIONAL; + case 1: + return POINT; + default: + return null; + } + } + }; + + + /** light position */ + Double[] position; + + /** light direction */ + Double[] direction; + + /** light type */ + LightType type; + + /** the light color */ + ColorTriplet lightColor; + + public Light() { + super(); + lightColor = new ColorTriplet(); + + position = new Double[] {0.0, 0.0, 1.0}; + direction = new Double[] {0.0, 0.0, 1.0}; + type = LightType.POINT; + + Double[] dark_gray = new Double[] {0.1, 0.1, 0.1}; + Double[] white = new Double[] {1.0, 1.0, 1.0}; + setAmbientColor(dark_gray); + setDiffuseColor(white); + setSpecularColor(white); + } + + /** copy contructor */ + public Light(Light other) { + super(); + position = new Double[3]; + direction = new Double[3]; + type = other.type; + lightColor = new ColorTriplet(other.lightColor); + setPosition(other.position); + setDirection(other.direction); + } + + @Override + public void accept(Visitor visitor) { + } + + /** returns the light's position */ + public Double[] getPosition() { + Double[] ret = new Double[] {position[0], position[1], position[2]}; + return ret; + } + + /** Sets the light's position */ + public UpdateStatus setPosition(Double[] pos) { + if (pos.length != 3) { + return UpdateStatus.Fail; + } + + if (position[0] != pos[0] || position[1] != pos[1] || position[2] != pos[2]) { + position[0] = pos[0]; + position[1] = pos[1]; + position[2] = pos[2]; + return UpdateStatus.Success; + } + return UpdateStatus.NoChange; + } + + /** returns the light's direction */ + public Double[] getDirection() { + Double[] ret = new Double[] {direction[0], direction[1], direction[2]}; + return ret; + } + + /** Sets the light's direction */ + public UpdateStatus setDirection(Double[] dir) { + if (dir.length != 3) { + return UpdateStatus.Fail; + } + + if (direction[0] != dir[0] || direction[1] != dir[1] || direction[2] != dir[2]) { + direction[0] = dir[0]; + direction[1] = dir[1]; + direction[2] = dir[2]; + return UpdateStatus.Success; + } + return UpdateStatus.NoChange; + } + + /** Sets the light's type from an integer */ + public UpdateStatus setLightTypeAsInteger(Integer i) { + if (i >= 0 && i < LightType.values().length) { + if (this.type != LightType.values()[i]) { + this.type = LightType.values()[i]; + return UpdateStatus.Success; + } + return UpdateStatus.NoChange; + } + return UpdateStatus.Fail; + } + + /** Get the light's type as integer */ + public Integer getLightTypeAsInteger() { + return type.ordinal(); + } + + /** Sets the light's type */ + public UpdateStatus setLightType(LightType type) { + if (this.type != type) { + this.type = type; + return UpdateStatus.Success; + } + return UpdateStatus.NoChange; + } + + /** Get the light's type */ + public LightType getLightType() { + return type; + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_AMBIENTCOLOR__ : + return ColorTriplet.ColorTripletProperty.AMBIENTCOLOR; + case __GO_DIFFUSECOLOR__ : + return ColorTriplet.ColorTripletProperty.DIFFUSECOLOR; + case __GO_SPECULARCOLOR__ : + return ColorTriplet.ColorTripletProperty.SPECULARCOLOR; + case __GO_LIGHT_TYPE__ : + return LightProperty.TYPE; + case __GO_POSITION__ : + return LightProperty.POSITION; + case __GO_DIRECTION__ : + return LightProperty.DIRECTION; + default : + return super.getPropertyFromName(propertyName); + } + } + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property instanceof ColorTriplet.ColorTripletProperty) { + ColorTriplet.ColorTripletProperty cp = (ColorTriplet.ColorTripletProperty)property; + switch (cp) { + case AMBIENTCOLOR: + return getAmbientColor(); + case DIFFUSECOLOR: + return getDiffuseColor(); + case SPECULARCOLOR: + return getSpecularColor(); + } + } else if (property instanceof LightProperty) { + LightProperty lp = (LightProperty)property; + switch (lp) { + case TYPE: + return getLightTypeAsInteger(); + case POSITION: + return getPosition(); + case DIRECTION: + return getDirection(); + } + } + + return super.getProperty(property); + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property instanceof ColorTriplet.ColorTripletProperty) { + ColorTriplet.ColorTripletProperty cp = (ColorTriplet.ColorTripletProperty)property; + switch (cp) { + case AMBIENTCOLOR: + return setAmbientColor((Double[])value); + case DIFFUSECOLOR: + return setDiffuseColor((Double[])value); + case SPECULARCOLOR: + return setSpecularColor((Double[])value); + } + } else if (property instanceof LightProperty) { + LightProperty lp = (LightProperty)property; + switch (lp) { + case TYPE: + return setLightTypeAsInteger((Integer)value); + case POSITION: + return setPosition((Double[])value); + case DIRECTION: + return setDirection((Double[])value); + } + } + + return super.setProperty(property, value); + } + + /** returns the ambient color of the light*/ + public Double[] getAmbientColor() { + return lightColor.getAmbientColor(); + } + + /** Sets the ambient color */ + public UpdateStatus setAmbientColor(Double[] color) { + return lightColor.setAmbientColor(color); + } + + /** returns the dffuse color of the light*/ + public Double[] getDiffuseColor() { + return lightColor.getDiffuseColor(); + } + + /** Sets the diffuse color of the light*/ + public UpdateStatus setDiffuseColor(Double[] color) { + return lightColor.setDiffuseColor(color); + } + + /** returns the specular color of the light*/ + public Double[] getSpecularColor() { + return lightColor.getSpecularColor(); + } + + /** Sets the specular color of the light*/ + public UpdateStatus setSpecularColor(Double[] color) { + return lightColor.setSpecularColor(color); + } + + public Integer getType() { + return __GO_LIGHT__; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/lighting/Material.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/lighting/Material.java new file mode 100755 index 000000000..034282951 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/lighting/Material.java @@ -0,0 +1,74 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2013 - Pedro SOUZA + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.lighting; + +import org.scilab.modules.graphic_objects.lighting.ColorTriplet; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * Material class + * @author Pedro SOUZA + */ + +public class Material extends ColorTriplet { + + /** material properties */ + public enum MaterialProperty {COLOR_MATERIAL, SHININESS}; + /** Specifies if the sufarce color will be used as diffuse color */ + private Boolean useColorMaterial; + + /** Specular shininess parameter*/ + private Double shininess; + + + public Material() { + super(); + useColorMaterial = true; + ambient[0] = ambient[1] = ambient[2] = 0.0; + diffuse[0] = diffuse[1] = diffuse[2] = 1.0; + specular[0] = specular[1] = specular[2] = 1.0; + shininess = 2.0; + } + + /** + * Sets color-material mode, if true + * the surface color is used as diffuse color. + */ + public UpdateStatus setColorMaterialMode(Boolean status) { + if (useColorMaterial != status) { + useColorMaterial = status; + return UpdateStatus.Success; + } + return UpdateStatus.NoChange; + } + + /** returns the color-material status*/ + public Boolean getColorMaterialMode() { + return useColorMaterial; + } + + /** Sets shininess level*/ + public UpdateStatus setShininess(Double s) { + if (shininess != s) { + shininess = s; + return UpdateStatus.Success; + } + return UpdateStatus.NoChange; + } + + /** Gets shininess level*/ + public Double getShininess() { + return shininess; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/polyline/Polyline.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/polyline/Polyline.java new file mode 100755 index 000000000..0c3892f3a --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/polyline/Polyline.java @@ -0,0 +1,478 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.polyline; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ARROW_SIZE_FACTOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BAR_WIDTH__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CLOSED__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIPS_COUNT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIPS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIP_DISPLAY_FNC__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIP_MARK__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_INTERP_COLOR_MODE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_INTERP_COLOR_VECTOR_SET__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_INTERP_COLOR_VECTOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_POLYLINE_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_X_SHIFT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Y_SHIFT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_Z_SHIFT__; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; + +import org.scilab.modules.graphic_objects.ObjectRemovedException; +import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject; +import org.scilab.modules.graphic_objects.datatip.Datatip; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; + +/** + * Polyline class + * @author Manuel JULIACHS + */ +public class Polyline extends ClippableContouredObject { + /** TBD: data */ + // Data data -> Data Model + /* TODO: properties relative to the data model */ + /** Polyline properties names */ + private enum PolylineProperty { CLOSED, ARROWSIZEFACTOR, POLYLINESTYLE, + INTERPCOLORVECTOR, INTERPCOLORVECTORSET, INTERPCOLORMODE, + XSHIFT, YSHIFT, ZSHIFT, BARWIDTH, DATATIPS, DATATIPSCOUNT, TIP_DISPLAY_FNC, TIP_MARK + }; + + /** Specifies whether the polyline is closed */ + private boolean closed; + + /** Determines the arrow size */ + private double arrowSizeFactor; + + /** Polyline drawing style (normal, staircase, , etc.) */ + private int polylineStyle; + + /** Interpolation color vector (3- or 4-element array) */ + private int[] interpColorVector; + + /** Specifies whether the interpolation color vector has been set */ + private boolean interpColorVectorSet; + + /** Specifies whether interpolated shading is used */ + private boolean interpColorMode; + + /** Shift applied to the line points along the x-axis */ + private double[] xShift; + + /** Shift applied to the line points along the y-axis */ + private double[] yShift; + + /** Shift applied to the line points along the z-axis */ + private double[] zShift; + + /** Bar width */ + private double barWidth; + + /** Datatips objects list */ + private List<Integer> datatips; + + /** Display function*/ + private String displayFnc; + + private Integer tipMark; + + /** Constructor */ + public Polyline() { + super(); + closed = false; + arrowSizeFactor = 1.0; + polylineStyle = 1; + interpColorVector = new int[4]; + interpColorVectorSet = false; + interpColorMode = false; + xShift = null; + yShift = null; + zShift = null; + barWidth = 0.0; + datatips = new ArrayList<Integer>(); + displayFnc = ""; + tipMark = 11; + } + + @Override + public void accept(Visitor visitor) throws ObjectRemovedException { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_CLOSED__ : + return PolylineProperty.CLOSED; + case __GO_ARROW_SIZE_FACTOR__ : + return PolylineProperty.ARROWSIZEFACTOR; + case __GO_POLYLINE_STYLE__ : + return PolylineProperty.POLYLINESTYLE; + case __GO_INTERP_COLOR_VECTOR__ : + return PolylineProperty.INTERPCOLORVECTOR; + case __GO_INTERP_COLOR_VECTOR_SET__ : + return PolylineProperty.INTERPCOLORVECTORSET; + case __GO_INTERP_COLOR_MODE__ : + return PolylineProperty.INTERPCOLORMODE; + case __GO_X_SHIFT__ : + return PolylineProperty.XSHIFT; + case __GO_Y_SHIFT__ : + return PolylineProperty.YSHIFT; + case __GO_Z_SHIFT__ : + return PolylineProperty.ZSHIFT; + case __GO_BAR_WIDTH__ : + return PolylineProperty.BARWIDTH; + case __GO_DATATIPS__ : + return PolylineProperty.DATATIPS; + case __GO_DATATIPS_COUNT__ : + return PolylineProperty.DATATIPSCOUNT; + case __GO_DATATIP_DISPLAY_FNC__ : + return PolylineProperty.TIP_DISPLAY_FNC; + case __GO_DATATIP_MARK__ : + return PolylineProperty.TIP_MARK; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property instanceof PolylineProperty) { + switch ((PolylineProperty) property) { + case CLOSED: + return getClosed(); + case ARROWSIZEFACTOR: + return getArrowSizeFactor(); + case POLYLINESTYLE: + return getPolylineStyle(); + case INTERPCOLORVECTOR: + return getInterpColorVector(); + case INTERPCOLORVECTORSET: + return getInterpColorVectorSet(); + case INTERPCOLORMODE: + return getInterpColorMode(); + case XSHIFT: + return getXShift(); + case YSHIFT: + return getYShift(); + case ZSHIFT: + return getZShift(); + case BARWIDTH: + return getBarWidth(); + case DATATIPS: + return getDatatips(); + case DATATIPSCOUNT: + return datatips.size(); + case TIP_DISPLAY_FNC: + return getDisplayFunction(); + case TIP_MARK: + return getTipMark(); + } + } + return super.getProperty(property); + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + synchronized (this) { + if (property instanceof PolylineProperty) { + switch ((PolylineProperty) property) { + case CLOSED: + setClosed((Boolean) value); + break; + case ARROWSIZEFACTOR: + return setArrowSizeFactor((Double) value); + case POLYLINESTYLE: + return setPolylineStyle((Integer) value); + case INTERPCOLORVECTOR: + setInterpColorVector((Integer[]) value); + break; + case INTERPCOLORVECTORSET: + setInterpColorVectorSet((Boolean) value); + break; + case INTERPCOLORMODE: + return setInterpColorMode((Boolean) value); + case XSHIFT: + setXShift((double[]) value); + break; + case YSHIFT: + setYShift((double[]) value); + break; + case ZSHIFT: + setZShift((double[]) value); + break; + case BARWIDTH: + setBarWidth((Double) value); + break; + case DATATIPS: + setDatatips((Integer[]) value); + break; + case TIP_DISPLAY_FNC: + setDisplayFunction((String) value); + break; + case TIP_MARK: + setTipMark((Integer) value); + break; + } + } + return super.setProperty(property, value); + } + } + + /** + * @return the arrowSizeFactor + */ + public Double getArrowSizeFactor() { + return arrowSizeFactor; + } + + /** + * @param arrowSizeFactor the arrowSizeFactor to set + */ + public UpdateStatus setArrowSizeFactor(Double arrowSizeFactor) { + if (this.arrowSizeFactor == arrowSizeFactor) { + return UpdateStatus.NoChange; + } + this.arrowSizeFactor = arrowSizeFactor; + return UpdateStatus.Success; + } + + /** + * @return the barWidth + */ + public Double getBarWidth() { + return barWidth; + } + + /** + * @param barWidth the barWidth to set + */ + public UpdateStatus setBarWidth(Double barWidth) { + this.barWidth = barWidth; + return UpdateStatus.Success; + } + + /** + * @return the closed + */ + public Boolean getClosed() { + return closed; + } + + /** + * @param closed the closed to set + */ + public UpdateStatus setClosed(Boolean closed) { + this.closed = closed; + return UpdateStatus.Success; + } + + /** + * @return the interpColorMode + */ + public Boolean getInterpColorMode() { + return interpColorMode; + } + + /** + * @param interpColorMode the interpColorMode to set + */ + public UpdateStatus setInterpColorMode(Boolean interpColorMode) { + if (this.interpColorMode == interpColorMode) { + return UpdateStatus.NoChange; + } + this.interpColorMode = interpColorMode; + return UpdateStatus.Success; + } + + /** + * @return the interpColorVector + */ + public Integer[] getInterpColorVector() { + Integer[] retVector = new Integer[interpColorVector.length]; + for (int i = 0; i < interpColorVector.length; i++) { + retVector[i] = interpColorVector[i]; + } + + return retVector; + } + + /** + * @param interpColorVector the interpColorVector to set + */ + public UpdateStatus setInterpColorVector(Integer[] interpColorVector) { + if (interpColorVectorSet == false) { + interpColorVectorSet = true; + } + + for (int i = 0; i < interpColorVector.length; i++) { + this.interpColorVector[i] = interpColorVector[i]; + } + return UpdateStatus.Success; + } + + /** + * @return the interpColorVectorSet + */ + public Boolean getInterpColorVectorSet() { + return interpColorVectorSet; + } + + /** + * @param interpColorVectorSet the interpColorVectorSet to set + */ + public UpdateStatus setInterpColorVectorSet(Boolean interpColorVectorSet) { + this.interpColorVectorSet = interpColorVectorSet; + return UpdateStatus.Success; + } + + /** + * @return the polylineStyle + */ + public Integer getPolylineStyle() { + return polylineStyle; + } + + /** + * @param polylineStyle the polylineStyle to set + */ + public UpdateStatus setPolylineStyle(Integer polylineStyle) { + if (this.polylineStyle == polylineStyle) { + return UpdateStatus.NoChange; + } + this.polylineStyle = polylineStyle; + return UpdateStatus.Success; + } + + /** + * @return the xShift + */ + public double[] getXShift() { + return xShift; + } + + /** + * @param shift the xShift to set + */ + public UpdateStatus setXShift(double[] shift) { + xShift = shift; + return UpdateStatus.Success; + } + + /** + * @return the yShift + */ + public double[] getYShift() { + return yShift; + } + + /** + * @param shift the yShift to set + */ + public UpdateStatus setYShift(double[] shift) { + yShift = shift; + return UpdateStatus.Success; + } + + /** + * @return the zShift + */ + public double[] getZShift() { + return zShift; + } + + /** + * @param shift the zShift to set + */ + public UpdateStatus setZShift(double[] shift) { + zShift = shift; + return UpdateStatus.Success; + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_POLYLINE__; + } + + /** + * @return datatips + */ + public Integer[] getDatatips() { + return datatips.toArray(new Integer[datatips.size()]); + } + + /** + * @param datatips the datatips to set + */ + private UpdateStatus setDatatips(List<Integer> datatips) { + this.datatips = datatips; + return UpdateStatus.Success; + } + + /** + * @param datatips the datatips to set + */ + public UpdateStatus setDatatips(Integer[] datatips) { + this.datatips = new LinkedList<Integer>(Arrays.asList(datatips)); + return UpdateStatus.Success; + } + + public String getDisplayFunction() { + return displayFnc; + } + + public UpdateStatus setDisplayFunction(String fnc) { + GraphicController controller = GraphicController.getController(); + displayFnc = fnc; + //update datatips + for (int i = 0 ; i < datatips.size() ; i++) { + Datatip tip = (Datatip) controller.getObjectFromId(datatips.get(i)); + tip.updateText(); + } + return UpdateStatus.Success; + } + + public Integer getTipMark() { + return tipMark; + } + + public UpdateStatus setTipMark(Integer tipMark) { + if (!this.tipMark.equals(tipMark)) { + this.tipMark = tipMark; + + return UpdateStatus.Success; + } + + return UpdateStatus.NoChange; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/rectangle/Rectangle.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/rectangle/Rectangle.java new file mode 100755 index 000000000..57e83c08f --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/rectangle/Rectangle.java @@ -0,0 +1,167 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.rectangle; + +import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Class Rectangle + * @author Manuel JULIACHS + */ +public class Rectangle extends ClippableContouredObject { + /** Rectangle properties names */ + private enum RectangleProperty { UPPERLEFTPOINT, WIDTH, HEIGHT }; + + /** Upper-left corner (x,y,z) coordinates */ + private double[] upperLeftPoint; + + /** Width */ + private double width; + + /** Height */ + private double height; + + /** Constructor */ + public Rectangle() { + super(); + upperLeftPoint = new double[3]; + width = 0.0; + height = 0.0; + } + + @Override + public void accept(Visitor visitor) { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_UPPER_LEFT_POINT__ : + return RectangleProperty.UPPERLEFTPOINT; + case __GO_WIDTH__ : + return RectangleProperty.WIDTH; + case __GO_HEIGHT__ : + return RectangleProperty.HEIGHT; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == RectangleProperty.UPPERLEFTPOINT) { + return getUpperLeftPoint(); + } else if (property == RectangleProperty.WIDTH) { + return getWidth(); + } else if (property == RectangleProperty.HEIGHT) { + return getHeight(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == RectangleProperty.UPPERLEFTPOINT) { + setUpperLeftPoint((Double[]) value); + } else if (property == RectangleProperty.WIDTH) { + setWidth((Double) value); + } else if (property == RectangleProperty.HEIGHT) { + setHeight((Double) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the height + */ + public Double getHeight() { + return height; + } + + /** + * @param height the height to set + */ + public UpdateStatus setHeight(Double height) { + this.height = height; + return UpdateStatus.Success; + } + + /** + * @return the upperLeftPoint + */ + public Double[] getUpperLeftPoint() { + Double[] retPoint = new Double[3]; + + retPoint[0] = upperLeftPoint[0]; + retPoint[1] = upperLeftPoint[1]; + retPoint[2] = upperLeftPoint[2]; + + return retPoint; + } + + /** + * @param upperLeftPoint the upperLeftPoint to set + */ + public UpdateStatus setUpperLeftPoint(Double[] upperLeftPoint) { + this.upperLeftPoint[0] = upperLeftPoint[0]; + this.upperLeftPoint[1] = upperLeftPoint[1]; + this.upperLeftPoint[2] = upperLeftPoint[2]; + return UpdateStatus.Success; + } + + /** + * @return the width + */ + public Double getWidth() { + return width; + } + + /** + * @param width the width to set + */ + public UpdateStatus setWidth(Double width) { + this.width = width; + return UpdateStatus.Success; + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_RECTANGLE__; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/rectangle/RectangleDecomposer.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/rectangle/RectangleDecomposer.java new file mode 100755 index 000000000..28e66379b --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/rectangle/RectangleDecomposer.java @@ -0,0 +1,220 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.rectangle; + +import java.nio.FloatBuffer; +import java.nio.IntBuffer; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.utils.Utils; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Class RectangleDecomposer + * A set of static methods decomposing a rectangle into two triangles. + * Vertex indices 0 to 3 respectively correspond to the lower-left, lower-right, + * upper-left and upper-right corners. + * @author Manuel JULIACHS + */ +public class RectangleDecomposer { + + /** The number of vertices of a rectangle. */ + private static final int NUMBER_VERTICES = 4; + + /** The triangle indices of a decomposed rectangle */ + private static final int [] triangleIndices = {0, 1, 3, 0, 3, 2}; + + /** The line segment indices of a decomposed rectangle */ + private static final int [] lineIndices = {0, 1, 1, 3, 3, 2, 2, 0}; + + /** + * @return the number of data elements. + */ + public static int getDataSize() { + return NUMBER_VERTICES; + } + + /** + * @return the number of triangle indices. + */ + public static int getIndicesSize() { + return triangleIndices.length; + } + + /** + * @return the number of line segment indices. + */ + public static int getWireIndicesSize() { + return lineIndices.length; + } + + /** + * Fills the input buffer with vertex data from the given object. + * @param the buffer to fill. + * @param the given object id. + * @param the number of coordinates taken by one element in the buffer. + * @param the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param the conversion scale factor to apply to data. + * @param the conversion translation value to apply to data. + * @param the bit mask specifying whether logarithmic coordinates are used. + */ + public static void fillVertices(FloatBuffer buffer, Integer id, int elementsSize, + int coordinateMask, double[] scale, double[] translation, int logMask) { + + /* The x coordinates of the lower-left and upper-right corners */ + double [] xcoords; + /* The y coordinates of the lower-left and upper-right corners */ + double [] ycoords; + /* The rectangle's z coordinate */ + double zcoord; + + xcoords = new double[2]; + ycoords = new double[2]; + + Double [] upperLeftPoint = (Double []) GraphicController.getController().getProperty(id, __GO_UPPER_LEFT_POINT__); + Double width = (Double) GraphicController.getController().getProperty(id, __GO_WIDTH__); + Double height = (Double) GraphicController.getController().getProperty(id, __GO_HEIGHT__); + + xcoords[0] = upperLeftPoint[0]; + xcoords[1] = upperLeftPoint[0] + width; + + ycoords[0] = upperLeftPoint[1] - height; + ycoords[1] = upperLeftPoint[1]; + + zcoord = upperLeftPoint[2]; + + /* Vertices are output in the following order: lower-left, lower-right, upper-left and upper-right. */ + if ((coordinateMask & 0x1) != 0) { + if ((logMask & 0x1) != 0) { + xcoords[0] = Math.log10(xcoords[0]); + xcoords[1] = Math.log10(xcoords[1]); + } + + xcoords[0] = xcoords[0] * scale[0] + translation[0]; + xcoords[1] = xcoords[1] * scale[0] + translation[0]; + + buffer.put(0, (float) xcoords[0]); + buffer.put(elementsSize, (float) xcoords[1]); + buffer.put(2 * elementsSize, (float) xcoords[0]); + buffer.put(3 * elementsSize, (float) xcoords[1]); + } + + if ((coordinateMask & 0x2) != 0) { + if ((logMask & 0x2) != 0) { + ycoords[0] = Math.log10(ycoords[0]); + ycoords[1] = Math.log10(ycoords[1]); + } + + ycoords[0] = ycoords[0] * scale[1] + translation[1]; + ycoords[1] = ycoords[1] * scale[1] + translation[1]; + + buffer.put(1, (float) ycoords[0]); + buffer.put(elementsSize + 1, (float) ycoords[0]); + buffer.put(2 * elementsSize + 1, (float) ycoords[1]); + buffer.put(3 * elementsSize + 1, (float) ycoords[1]); + } + + if ((coordinateMask & 0x4) != 0) { + if ((logMask & 0x4) != 0) { + zcoord = Math.log10(zcoord); + } + + zcoord = zcoord * scale[2] + translation[2]; + + buffer.put(2, (float) zcoord); + buffer.put(elementsSize + 2, (float) zcoord); + buffer.put(2 * elementsSize + 2, (float) zcoord); + buffer.put(3 * elementsSize + 2, (float) zcoord); + } + + if (elementsSize == 4 && (coordinateMask & 0x8) != 0) { + buffer.put(3, 1.0f); + buffer.put(elementsSize + 3, 1.0f); + buffer.put(2 * elementsSize + 3, 1.0f); + buffer.put(3 * elementsSize + 3, 1.0f); + } + } + + /** + * Fills the input buffer with triangle index data from the given object. + * @param the buffer to fill. + * @param the given object id. + * @param the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + public static int fillIndices(IntBuffer buffer, Integer id, int logMask) { + boolean valid = false; + + Double [] upperLeftPoint = (Double []) GraphicController.getController().getProperty(id, __GO_UPPER_LEFT_POINT__); + Double width = (Double) GraphicController.getController().getProperty(id, __GO_WIDTH__); + Double height = (Double) GraphicController.getController().getProperty(id, __GO_HEIGHT__); + + /* Indices are output only if all the rectangle's values are valid. */ + if (Utils.isValid(upperLeftPoint[0], upperLeftPoint[1], upperLeftPoint[2]) + && Utils.isValid(width) && Utils.isValid(height)) { + valid = true; + } + + /* + * Only the lower-left corner's log validity is tested, since width and height are supposed + * to be greater than or equal to 0 . + */ + if (logMask != 0) { + valid = valid && Utils.isLogValid(upperLeftPoint[0], upperLeftPoint[1] - height, upperLeftPoint[2], logMask); + } + + if (valid) { + buffer.put(triangleIndices); + return triangleIndices.length; + } else { + return 0; + } + } + + /** + * Fills the input buffer with segment index data from the given object. + * @param the buffer to fill. + * @param the given object id. + * @param the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + public static int fillWireIndices(IntBuffer buffer, Integer id, int logMask) { + boolean valid = false; + + Double [] upperLeftPoint = (Double []) GraphicController.getController().getProperty(id, __GO_UPPER_LEFT_POINT__); + Double width = (Double) GraphicController.getController().getProperty(id, __GO_WIDTH__); + Double height = (Double) GraphicController.getController().getProperty(id, __GO_HEIGHT__); + + /* Segment indices are output only if all the rectangle's values are valid. */ + if (Utils.isValid(upperLeftPoint[0], upperLeftPoint[1], upperLeftPoint[2]) + && Utils.isValid(width) && Utils.isValid(height)) { + valid = true; + } + + /* + * Only the lower-left corner's log validity is tested, since width and height are supposed + * to be greater than or equal to 0 . + */ + if (logMask != 0) { + valid = valid && Utils.isLogValid(upperLeftPoint[0], upperLeftPoint[1] - height, upperLeftPoint[2], logMask); + } + + if (valid) { + buffer.put(lineIndices); + return lineIndices.length; + } else { + return 0; + } + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/surface/Fac3d.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/surface/Fac3d.java new file mode 100755 index 000000000..b84a1934d --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/surface/Fac3d.java @@ -0,0 +1,143 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.surface; + +import org.scilab.modules.graphic_objects.ObjectRemovedException; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Fac3d class + * @author Manuel JULIACHS + */ +public class Fac3d extends Surface { + /** Fac3d properties names */ + private enum Fac3dProperty { DATAMAPPING }; + + /** Data mapping type */ + private enum DataMapping { SCALED, DIRECT; + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the data mapping enum + */ + public static DataMapping intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return DataMapping.SCALED; + case 1: + return DataMapping.DIRECT; + default: + return null; + } + } + } + + /** Specifies how colors are mapped to scalar values */ + private DataMapping dataMapping; + + /** Constructor */ + public Fac3d() { + super(); + dataMapping = DataMapping.DIRECT; + } + + @Override + public void accept(Visitor visitor) throws ObjectRemovedException { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + if (propertyName == __GO_DATA_MAPPING__) { + return Fac3dProperty.DATAMAPPING; + } else { + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == Fac3dProperty.DATAMAPPING) { + return getDataMapping(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == Fac3dProperty.DATAMAPPING) { + setDataMapping((Integer) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the dataMapping + */ + public Integer getDataMapping() { + return getDataMappingAsEnum().ordinal(); + } + + /** + * @return the dataMapping + */ + public DataMapping getDataMappingAsEnum() { + return dataMapping; + } + + /** + * @param dataMapping the dataMapping to set + */ + public UpdateStatus setDataMapping(Integer dataMapping) { + setDataMappingAsEnum(DataMapping.intToEnum(dataMapping)); + return UpdateStatus.Success; + } + + /** + * @param dataMapping the dataMapping to set + */ + public UpdateStatus setDataMappingAsEnum(DataMapping dataMapping) { + this.dataMapping = dataMapping; + return UpdateStatus.Success; + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_FAC3D__; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/surface/Plot3d.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/surface/Plot3d.java new file mode 100755 index 000000000..9ef226feb --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/surface/Plot3d.java @@ -0,0 +1,45 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.surface; + +import org.scilab.modules.graphic_objects.ObjectRemovedException; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; + +/** + * Plot3d class + * @author Manuel JULIACHS + */ +public class Plot3d extends Surface { + // TBD Data -> Data Model + /* TBD: properties relative to the data model */ + + /** Constructor */ + public Plot3d() { + super(); + // TODO Auto-generated constructor stub + } + + @Override + public void accept(Visitor visitor) throws ObjectRemovedException { + visitor.visit(this); + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_PLOT3D__; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/surface/Surface.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/surface/Surface.java new file mode 100755 index 000000000..3957af87d --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/surface/Surface.java @@ -0,0 +1,323 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.surface; + +import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; +import org.scilab.modules.graphic_objects.lighting.ColorTriplet; +import org.scilab.modules.graphic_objects.lighting.Material; + +/** + * Surface class + * @author Manuel JULIACHS + */ +public abstract class Surface extends ClippableContouredObject { + // TBD Data -> Data Model + /* TBD: properties relative to the data model */ + /** Surface properties names */ + private enum SurfaceProperty { SURFACEMODE, COLORMODE, COLORFLAG, HIDDENCOLOR }; + + /** Specifies whether the surface is drawn or not */ + private boolean surfaceMode; + + /** Specifies the front face color (when colorFlag == 0) */ + private int colorMode; + + /** Specifies how facet colors are computed */ + private int colorFlag; + + /** Back-facing facets color */ + private int hiddenColor; + + /** material properties used for lighting */ + private Material material; + + /** Constructor */ + public Surface() { + super(); + surfaceMode = false; + colorMode = 0; + colorFlag = 0; + hiddenColor = 0; + material = new Material(); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_SURFACE_MODE__ : + return SurfaceProperty.SURFACEMODE; + case __GO_COLOR_MODE__ : + return SurfaceProperty.COLORMODE; + case __GO_COLOR_FLAG__ : + return SurfaceProperty.COLORFLAG; + case __GO_HIDDEN_COLOR__ : + return SurfaceProperty.HIDDENCOLOR; + case __GO_AMBIENTCOLOR__ : + return ColorTriplet.ColorTripletProperty.AMBIENTCOLOR; + case __GO_DIFFUSECOLOR__ : + return ColorTriplet.ColorTripletProperty.DIFFUSECOLOR; + case __GO_SPECULARCOLOR__ : + return ColorTriplet.ColorTripletProperty.SPECULARCOLOR; + case __GO_COLOR_MATERIAL__ : + return Material.MaterialProperty.COLOR_MATERIAL; + case __GO_MATERIAL_SHININESS__ : + return Material.MaterialProperty.SHININESS; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property instanceof SurfaceProperty) { + SurfaceProperty sp = (SurfaceProperty)property; + switch (sp) { + case SURFACEMODE: + return getSurfaceMode(); + case COLORMODE: + return getColorMode(); + case COLORFLAG: + return getColorFlag(); + case HIDDENCOLOR: + return getHiddenColor(); + } + } else if (property instanceof Material.MaterialProperty) { + Material.MaterialProperty mp = (Material.MaterialProperty)property; + switch (mp) { + case COLOR_MATERIAL: + return getColorMaterialMode(); + case SHININESS: + return getMaterialShininess(); + } + } else if (property instanceof ColorTriplet.ColorTripletProperty) { + ColorTriplet.ColorTripletProperty cp = (ColorTriplet.ColorTripletProperty)property; + switch (cp) { + case AMBIENTCOLOR: + return getMaterialAmbientColor(); + case DIFFUSECOLOR: + return getMaterialDiffuseColor(); + case SPECULARCOLOR: + return getMaterialSpecularColor(); + } + } + return super.getProperty(property); + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property instanceof SurfaceProperty) { + SurfaceProperty sp = (SurfaceProperty)property; + switch (sp) { + case SURFACEMODE: + setSurfaceMode((Boolean) value); + break; + case COLORMODE: + setColorMode((Integer) value); + break; + case COLORFLAG: + setColorFlag((Integer) value); + break; + case HIDDENCOLOR: + setHiddenColor((Integer) value); + break; + } + } else if (property instanceof Material.MaterialProperty) { + Material.MaterialProperty mp = (Material.MaterialProperty)property; + switch (mp) { + case COLOR_MATERIAL: + return setColorMaterialMode((Boolean)value); + case SHININESS: + return setMaterialShininess((Double)value); + } + } else if (property instanceof ColorTriplet.ColorTripletProperty) { + ColorTriplet.ColorTripletProperty cp = (ColorTriplet.ColorTripletProperty)property; + switch (cp) { + case AMBIENTCOLOR: + return setMaterialAmbientColor((Double[])value); + case DIFFUSECOLOR: + return setMaterialDiffuseColor((Double[])value); + case SPECULARCOLOR: + return setMaterialSpecularColor((Double[])value); + } + } else { + return super.setProperty(property, value); + } + return UpdateStatus.Success; + } + + + /** + * @return the surfaceMode + */ + public Boolean getSurfaceMode() { + return surfaceMode; + } + + /** + * @param surfaceMode the surfaceMode to set + */ + public UpdateStatus setSurfaceMode(Boolean surfaceMode) { + this.surfaceMode = surfaceMode; + return UpdateStatus.Success; + } + + /** + * @return the colorMode + */ + public Integer getColorMode() { + return colorMode; + } + + /** + * @param colorMode the colorMode to set + */ + public UpdateStatus setColorMode(Integer colorMode) { + this.colorMode = colorMode; + return UpdateStatus.Success; + } + + /** + * @return the colorFlag + */ + public Integer getColorFlag() { + return colorFlag; + } + + /** + * @param colorFlag the colorFlag to set + */ + public UpdateStatus setColorFlag(Integer colorFlag) { + this.colorFlag = colorFlag; + return UpdateStatus.Success; + } + + /** + * @return the hiddenColor + */ + public Integer getHiddenColor() { + return hiddenColor; + } + + /** + * @param hiddenColor the hiddenColor to set + */ + public UpdateStatus setHiddenColor(Integer hiddenColor) { + this.hiddenColor = hiddenColor; + return UpdateStatus.Success; + } + + /** + * Sets the color-material mode, that is, + * use the surface color as diffuse color + * @param status if true enables color-material + */ + public UpdateStatus setColorMaterialMode(Boolean status) { + return material.setColorMaterialMode(status); + } + + /** + * @return if color-material is enabled. + */ + public Boolean getColorMaterialMode() { + return material.getColorMaterialMode(); + } + + /** + * @return the ambient color of the material. + */ + public Double[] getMaterialAmbientColor() { + return material.getAmbientColor(); + } + + /** + * @param the new ambient color of the material. + */ + public UpdateStatus setMaterialAmbientColor(Double[] color) { + return material.setAmbientColor(color); + } + + /** + * @return the diffuse color of the material. + */ + public Double[] getMaterialDiffuseColor() { + return material.getDiffuseColor(); + } + + /** + * @param the new diffuse color of the material. + */ + public UpdateStatus setMaterialDiffuseColor(Double[] color) { + return material.setDiffuseColor(color); + } + + /** + * @return the specular color of the material. + */ + public Double[] getMaterialSpecularColor() { + return material.getSpecularColor(); + } + + /** + * @param the new specular color of the material. + */ + public UpdateStatus setMaterialSpecularColor(Double[] color) { + return material.setSpecularColor(color); + } + + /** + * @return the shininess level of the material. + */ + public Double getMaterialShininess() { + return material.getShininess(); + } + + /** + * @param the new shininess level of the material. + */ + public UpdateStatus setMaterialShininess(Double s) { + return material.setShininess(s); + } + + /** + * @return the material. + */ + public Material getMaterial() { + return material; + } + + /** + * @param the new material. + */ + public UpdateStatus setMaterial(Material material) { + if (material != null) { + this.material = material; + } + return UpdateStatus.Success; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/ClippableTextObject.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/ClippableTextObject.java new file mode 100755 index 000000000..e264a2282 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/ClippableTextObject.java @@ -0,0 +1,170 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.textObject; + +import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty; +import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty.ClippablePropertyType; +import org.scilab.modules.graphic_objects.graphicObject.ClippableProperty.ClipStateType; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * ClippableTextObject + * @author Manuel JULIACHS + */ +public abstract class ClippableTextObject extends TextObject { + /** ClippableTextObject properties names */ + private enum ClippableTextObjectProperty { CLIPPROPERTY }; + + /** Clipping state */ + private ClippableProperty clipProperty; + + /** Constructor */ + public ClippableTextObject() { + clipProperty = new ClippableProperty(); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_CLIP_PROPERTY__ : + return ClippableTextObjectProperty.CLIPPROPERTY; + case __GO_CLIP_STATE__ : + return ClippablePropertyType.CLIPSTATE; + case __GO_CLIP_BOX__ : + return ClippablePropertyType.CLIPBOX; + case __GO_CLIP_BOX_SET__ : + return ClippablePropertyType.CLIPBOXSET; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == ClippableTextObjectProperty.CLIPPROPERTY) { + return getClipProperty(); + } else if (property == ClippablePropertyType.CLIPSTATE) { + return getClipState(); + } else if (property == ClippablePropertyType.CLIPBOX) { + return getClipBox(); + } else if (property == ClippablePropertyType.CLIPBOXSET) { + return getClipBoxSet(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == ClippableTextObjectProperty.CLIPPROPERTY) { + setClipProperty((ClippableProperty) value); + } else if (property == ClippablePropertyType.CLIPSTATE) { + setClipState((Integer) value); + } else if (property == ClippablePropertyType.CLIPBOX) { + setClipBox((Double[]) value); + } else if (property == ClippablePropertyType.CLIPBOXSET) { + setClipBoxSet((Boolean) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the clipProperty + */ + public ClippableProperty getClipProperty() { + return clipProperty; + } + + /** + * @param clipProperty the clipProperty to set + */ + public UpdateStatus setClipProperty(ClippableProperty clipProperty) { + this.clipProperty = clipProperty; + return UpdateStatus.Success; + } + + /** + * @return the clipBox + */ + public Double[] getClipBox() { + return clipProperty.getClipBox(); + } + + /** + * @param clipBox the clipBox to set + */ + public UpdateStatus setClipBox(Double[] clipBox) { + return clipProperty.setClipBox(clipBox); + } + + /** + * @return the clipState + */ + public Integer getClipState() { + return getClipStateAsEnum().ordinal(); + } + + /** + * @return the clipState + */ + public ClipStateType getClipStateAsEnum() { + return clipProperty.getClipState(); + } + + /** + * @param clipState the clipState to set + */ + public UpdateStatus setClipState(Integer clipState) { + return setClipStateAsEnum(ClipStateType.intToEnum(clipState)); + } + + /** + * @param clipState the clipState to set + */ + public UpdateStatus setClipStateAsEnum(ClipStateType clipState) { + return clipProperty.setClipState(clipState); + } + + /** + * @return the clipBoxSet + */ + public Boolean getClipBoxSet() { + return clipProperty.getClipBoxSet(); + } + + /** + * @param clipBoxSet the clipBoxSet to set + */ + public UpdateStatus setClipBoxSet(Boolean clipBoxSet) { + return clipProperty.setClipBoxSet(clipBoxSet); + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/Font.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/Font.java new file mode 100755 index 000000000..1ac76aaf6 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/Font.java @@ -0,0 +1,179 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.textObject; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_COLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_FRACTIONAL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_STYLE__; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * Font class + * @author Manuel JULIACHS + */ +public class Font { + /** Font properties names */ + public enum FontProperty { STYLE, SIZE, COLOR, FRACTIONAL, UNKNOWNPROPERTY }; + + /** Font style */ + private int style; + + /** Font size */ + private double size; + + /** Font color */ + private int color; + + /** Specifies whether fractional font sizes are used or not */ + private boolean fractional; + + /** Constructor */ + public Font() { + this.style = 6; + this.size = 1.0; + this.color = -1; + this.fractional = false; + } + + /** + * Copy constructor + * @param + */ + public Font(Font font) { + style = font.style; + size = font.size; + color = font.color; + fractional = font.fractional; + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(String propertyName) { + if (propertyName.equals(__GO_FONT_STYLE__)) { + return FontProperty.STYLE; + } else if (propertyName.equals(__GO_FONT_SIZE__)) { + return FontProperty.SIZE; + } else if (propertyName.equals(__GO_FONT_COLOR__)) { + return FontProperty.COLOR; + } else if (propertyName.equals(__GO_FONT_FRACTIONAL__)) { + return FontProperty.FRACTIONAL; + } else { + return FontProperty.UNKNOWNPROPERTY; + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == FontProperty.STYLE) { + return getStyle(); + } else if (property == FontProperty.SIZE) { + return getSize(); + } else if (property == FontProperty.COLOR) { + return getColor(); + } else if (property == FontProperty.FRACTIONAL) { + return getFractional(); + } else { + return null; + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public boolean setProperty(Object property, Object value) { + if (property == FontProperty.STYLE) { + setStyle((Integer) value); + } else if (property == FontProperty.SIZE) { + setSize((Double) value); + } else if (property == FontProperty.COLOR) { + setColor((Integer) value); + } else if (property == FontProperty.FRACTIONAL) { + setFractional((Boolean) value); + } + + return true; + } + + /** + * @return the color + */ + public Integer getColor() { + return color; + } + + /** + * @param color the color to set + */ + public UpdateStatus setColor(Integer color) { + this.color = color; + return UpdateStatus.Success; + } + + /** + * @return the fractional + */ + public Boolean getFractional() { + return fractional; + } + + /** + * @param fractional the fractional to set + */ + public UpdateStatus setFractional(Boolean fractional) { + this.fractional = fractional; + return UpdateStatus.Success; + } + + /** + * @return the size + */ + public Double getSize() { + return size; + } + + /** + * @param size the size to set + */ + public UpdateStatus setSize(Double size) { + this.size = size; + return UpdateStatus.Success; + } + + /** + * @return the style + */ + public Integer getStyle() { + return style; + } + + /** + * @param style the style to set + */ + public UpdateStatus setStyle(Integer style) { + this.style = style; + return UpdateStatus.Success; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/FormattedText.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/FormattedText.java new file mode 100755 index 000000000..fbd48e896 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/FormattedText.java @@ -0,0 +1,92 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.textObject; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * FormattedText class + * @author Manuel JULIACHS + */ +public class FormattedText { + /** FormattedText properties names */ + public enum FormattedTextProperty { TEXT, FONT }; + + /** Text */ + private String text; + + /** Font */ + private Font font; + + /** Constructor */ + public FormattedText() { + text = ""; + font = new Font(); + } + + /** Constructor */ + public FormattedText(String text, Font font) { + this.text = text == null ? "" : text; + this.font = font; + } + + /** + * Copy constructor + * @param formText the formatted text to copy + */ + public FormattedText(FormattedText formText) { + this.text = new String(formText.getText()); + this.font = new Font(formText.getFont()); + } + + @Override + public boolean equals(Object o) { + if (o instanceof FormattedText) { + FormattedText ft = (FormattedText) o; + return ft.text.equals(text) && ft.font.equals(font); + } + + return false; + } + + /** + * @return the font + */ + public Font getFont() { + return font; + } + + /** + * @param font the font to set + */ + public UpdateStatus setFont(Font font) { + this.font = font; + return UpdateStatus.Success; + } + + /** + * @return the text + */ + public String getText() { + return text; + } + + /** + * @param text the text to set + */ + public UpdateStatus setText(String text) { + this.text = text == null ? "" : text; + return UpdateStatus.Success; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/Text.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/Text.java new file mode 100755 index 000000000..65ad8a5ba --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/Text.java @@ -0,0 +1,408 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2012 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.textObject; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Text class + * @author Manuel JULIACHS + */ +public class Text extends ClippableTextObject { + /** Text properties names */ + private enum TextProperty { FONTANGLE, POSITION, CORNERS, ALIGNMENT, BOX, TEXTBOX, TEXTBOXMODE, AUTODIMENSIONING }; + + /** Alignment */ + public enum Alignment { LEFT, CENTER, RIGHT; + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the alignment enum + */ + public static Alignment intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return Alignment.LEFT; + case 1: + return Alignment.CENTER; + case 2: + return Alignment.RIGHT; + default: + return null; + } + } + + }; + + /** Text box mode */ + private enum TextBoxMode { OFF, CENTERED, FILLED; + + /** + * Converts an integer to the corresponding enum + * @param intValue the integer value + * @return the text box mode enum + */ + public static TextBoxMode intToEnum(Integer intValue) { + switch (intValue) { + case 0: + return TextBoxMode.OFF; + case 1: + return TextBoxMode.CENTERED; + case 2: + return TextBoxMode.FILLED; + default: + return null; + } + } + + }; + + /** Text angle */ + private double fontAngle; + + /** 3D coordinates position (3-element array) */ + private double[] position; + + /** + * The 3D coordinates of the Text's four corners. + * They are stored in clockwise order, starting from the lower-left corner. + */ + private double[][] corners; + + /** Text alignment */ + private Alignment alignment; + + /** Specifies whether a box is drawn */ + private boolean box; + + /** Text box dimensions (2-element array) */ + private double[] textBox; + + /** Text box mode */ + private TextBoxMode textBoxMode; + + /** Auto-dimensioning */ + private boolean autoDimensioning; + + /** Constructor */ + public Text() { + super(); + fontAngle = 0.0; + position = new double[3]; + corners = new double[4][3]; + alignment = Alignment.CENTER; + box = false; + textBox = new double[2]; + textBoxMode = TextBoxMode.OFF; + autoDimensioning = false; + } + + @Override + public void accept(Visitor visitor) { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_FONT_ANGLE__ : + return TextProperty.FONTANGLE; + case __GO_POSITION__ : + return TextProperty.POSITION; + case __GO_CORNERS__ : + return TextProperty.CORNERS; + case __GO_ALIGNMENT__ : + return TextProperty.ALIGNMENT; + case __GO_BOX__ : + return TextProperty.BOX; + case __GO_TEXT_BOX__ : + return TextProperty.TEXTBOX; + case __GO_TEXT_BOX_MODE__ : + return TextProperty.TEXTBOXMODE; + case __GO_AUTO_DIMENSIONING__ : + return TextProperty.AUTODIMENSIONING; + default : + return super.getPropertyFromName(propertyName); + } + } + + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == TextProperty.FONTANGLE) { + return getFontAngle(); + } else if (property == TextProperty.POSITION) { + return getPosition(); + } else if (property == TextProperty.CORNERS) { + return getCorners(); + } else if (property == TextProperty.ALIGNMENT) { + return getAlignment(); + } else if (property == TextProperty.BOX) { + return getBox(); + } else if (property == TextProperty.TEXTBOX) { + return getTextBox(); + } else if (property == TextProperty.TEXTBOXMODE) { + return getTextBoxMode(); + } else if (property == TextProperty.AUTODIMENSIONING) { + return getAutoDimensioning(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == TextProperty.FONTANGLE) { + setFontAngle((Double) value); + } else if (property == TextProperty.POSITION) { + setPosition((Double[]) value); + } else if (property == TextProperty.CORNERS) { + setCorners((Double[]) value); + } else if (property == TextProperty.ALIGNMENT) { + setAlignment((Integer) value); + } else if (property == TextProperty.BOX) { + setBox((Boolean) value); + } else if (property == TextProperty.TEXTBOX) { + setTextBox((Double[]) value); + } else if (property == TextProperty.TEXTBOXMODE) { + setTextBoxMode((Integer) value); + } else if (property == TextProperty.AUTODIMENSIONING) { + setAutoDimensioning((Boolean) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the alignment + */ + public Integer getAlignment() { + return getAlignmentAsEnum().ordinal(); + } + + /** + * @return the alignment + */ + public Alignment getAlignmentAsEnum() { + return alignment; + } + + /** + * @param alignment the alignment to set + */ + public UpdateStatus setAlignment(Integer alignment) { + return setAlignmentAsEnum(Alignment.intToEnum(alignment)); + } + + /** + * @param alignment the alignment to set + */ + public UpdateStatus setAlignmentAsEnum(Alignment alignment) { + this.alignment = alignment; + return UpdateStatus.Success; + } + + /** + * @return the autoDimensioning + */ + public Boolean getAutoDimensioning() { + return autoDimensioning; + } + + /** + * @param autoDimensioning the autoDimensioning to set + */ + public UpdateStatus setAutoDimensioning(Boolean autoDimensioning) { + this.autoDimensioning = autoDimensioning; + return UpdateStatus.Success; + } + + /** + * @return the box + */ + public Boolean getBox() { + return box; + } + + /** + * @param box the box to set + */ + public UpdateStatus setBox(Boolean box) { + this.box = box; + return UpdateStatus.Success; + } + + /** + * @return the fontAngle + */ + public Double getFontAngle() { + return fontAngle; + } + + /** + * @param fontAngle the fontAngle to set + */ + public UpdateStatus setFontAngle(Double fontAngle) { + this.fontAngle = fontAngle; + return UpdateStatus.Success; + } + + /** + * @return the position + */ + public Double[] getPosition() { + Double[] retPosition = new Double[3]; + retPosition[0] = position[0]; + retPosition[1] = position[1]; + retPosition[2] = position[2]; + + return retPosition; + } + + /** + * @param position the position to set + */ + public UpdateStatus setPosition(Double[] position) { + this.position[0] = position[0]; + this.position[1] = position[1]; + this.position[2] = position[2]; + return UpdateStatus.Success; + } + + /** + * Returns the coordinates of the Text's corners + * Coordinates are returned as consecutive (x,y,z) triplets, each triplet + * corresponding to one corner, starting from the lower-left one and + * going in clockwise order. + * @return the corners' coordinates (12-element array) + */ + public Double[] getCorners() { + Double[] retCorners = new Double[12]; + + for (int i = 0; i < 4; i++) { + for (int j = 0; j < 3; j++) { + retCorners[3 * i + j] = corners[i][j]; + } + } + + return retCorners; + } + + /** + * Sets the coordinates of the Text's corners + * The coordinates to set are given as consecutive (x,y,z) triplets, each triplet + * corresponding to one corner, starting from the lower-left one and going in + * clockwise order. + * @param coordinates the corners' coordinates (12-element array) + */ + public UpdateStatus setCorners(Double[] coordinates) { + if (coordinates.length != 12) { + return UpdateStatus.NoChange; + } + + corners[0][0] = coordinates[0]; + corners[0][1] = coordinates[1]; + corners[0][2] = coordinates[2]; + + corners[1][0] = coordinates[3]; + corners[1][1] = coordinates[4]; + corners[1][2] = coordinates[5]; + + corners[2][0] = coordinates[6]; + corners[2][1] = coordinates[7]; + corners[2][2] = coordinates[8]; + + corners[3][0] = coordinates[9]; + corners[3][1] = coordinates[10]; + corners[3][2] = coordinates[11]; + + return UpdateStatus.Success; + } + + /** + * @return the textBox + */ + public Double[] getTextBox() { + Double[] retTextBox = new Double[2]; + retTextBox[0] = textBox[0]; + retTextBox[1] = textBox[1]; + + return retTextBox; + } + + /** + * @param textBox the textBox to set + */ + public UpdateStatus setTextBox(Double[] textBox) { + this.textBox[0] = textBox[0]; + this.textBox[1] = textBox[1]; + return UpdateStatus.Success; + } + + /** + * @return the textBoxMode + */ + public Integer getTextBoxMode() { + return getTextBoxModeAsEnum().ordinal(); + } + + /** + * @return the textBoxMode + */ + public TextBoxMode getTextBoxModeAsEnum() { + return textBoxMode; + } + + /** + * @param textBoxMode the textBoxMode to set + */ + public UpdateStatus setTextBoxMode(Integer textBoxMode) { + return setTextBoxModeAsEnum(TextBoxMode.intToEnum(textBoxMode)); + } + + /** + * @param textBoxMode the textBoxMode to set + */ + public UpdateStatus setTextBoxModeAsEnum(TextBoxMode textBoxMode) { + this.textBoxMode = textBoxMode; + return UpdateStatus.Success; + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_TEXT__; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/TextObject.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/TextObject.java new file mode 100755 index 000000000..728872d77 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/textObject/TextObject.java @@ -0,0 +1,340 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.textObject; + +import org.scilab.modules.graphic_objects.contouredObject.ContouredObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_COLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_FRACTIONAL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FONT_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FORMATTED_TEXT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TEXT_ARRAY_DIMENSIONS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TEXT_STRINGS__; + + +/** + * TextObject class + * @author Manuel JULIACHS + */ +public abstract class TextObject extends ContouredObject { + /** TextObject properties names */ + protected enum TextObjectProperty { TEXT, TEXT_ARRAY_DIMENSIONS }; + + /** + * Formatted text objects array, row-major order. + * For now, elements are supposed to have identical font properties values, + * hence the current associated get/set methods implementation. + */ + protected FormattedText[] text; + + /** Text array dimensions (number of rows, number of columns) */ + private int[] dimensions; + + /** Constructor */ + public TextObject() { + super(); + + dimensions = new int[2]; + dimensions[0] = 1; + dimensions[1] = 1; + + text = new FormattedText[1]; + text[0] = new FormattedText(); + } + + /** + * Clone method + */ + public TextObject clone() { + TextObject copy = (TextObject) super.clone(); + + copy.dimensions = new int[2]; + copy.dimensions[0] = dimensions[0]; + copy.dimensions[1] = dimensions[1]; + copy.text = new FormattedText[dimensions[0] * dimensions[1]]; + + /* Actually copies the FormattedText objects */ + copy.setText(text); + + return copy; + } + + /** + * @return true if we have an empty label + */ + public boolean isEmpty() { + for (int i = 0; i < dimensions[0] * dimensions[1]; i++) { + String s = text[i].getText(); + if (s != null && !s.isEmpty()) { + return false; + } + } + + return true; + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_FORMATTED_TEXT__ : + return TextObjectProperty.TEXT; + case __GO_TEXT_ARRAY_DIMENSIONS__ : + return TextObjectProperty.TEXT_ARRAY_DIMENSIONS; + case __GO_TEXT_STRINGS__ : + return FormattedText.FormattedTextProperty.TEXT; + case __GO_FONT_STYLE__ : + return Font.FontProperty.STYLE; + case __GO_FONT_SIZE__ : + return Font.FontProperty.SIZE; + case __GO_FONT_COLOR__ : + return Font.FontProperty.COLOR; + case __GO_FONT_FRACTIONAL__ : + return Font.FontProperty.FRACTIONAL; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == TextObjectProperty.TEXT) { + return getText(); + } else if (property == TextObjectProperty.TEXT_ARRAY_DIMENSIONS) { + return getTextArrayDimensions(); + } else if (property == FormattedText.FormattedTextProperty.TEXT) { + return getTextStrings(); + } else if (property == Font.FontProperty.STYLE) { + return getFontStyle(); + } else if (property == Font.FontProperty.SIZE) { + return getFontSize(); + } else if (property == Font.FontProperty.COLOR) { + return getFontColor(); + } else if (property == Font.FontProperty.FRACTIONAL) { + return getFontFractional(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == TextObjectProperty.TEXT) { + setText((FormattedText[]) value); + } else if (property == TextObjectProperty.TEXT_ARRAY_DIMENSIONS) { + setTextArrayDimensions((Integer[]) value); + } else if (property == FormattedText.FormattedTextProperty.TEXT) { + setTextStrings((String[]) value); + } else if (property == Font.FontProperty.STYLE) { + setFontStyle((Integer) value); + } else if (property == Font.FontProperty.SIZE) { + setFontSize((Double) value); + } else if (property == Font.FontProperty.COLOR) { + setFontColor((Integer) value); + } else if (property == Font.FontProperty.FRACTIONAL) { + setFontFractional((Boolean) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the text array dimensions + */ + public Integer[] getTextArrayDimensions() { + Integer retDimensions[] = new Integer[2]; + retDimensions[0] = dimensions[0]; + retDimensions[1] = dimensions[1]; + + return retDimensions; + } + + /** + * Sets the text array dimensions + * Recreates an array of formatted text objects. + * If there was an existing array, the new array's objects' font properties + * are set to those of the existing array's first element, as all the array's objects + * are supposed to have the same font properties for now. + * + * @param dimensions the text array dimensions to set + */ + public UpdateStatus setTextArrayDimensions(Integer[] dimensions) { + int currentSize = this.dimensions[0] * this.dimensions[1]; + + if (dimensions[0] * dimensions[1] != currentSize) { + FormattedText[] newText = new FormattedText[dimensions[0] * dimensions[1]]; + + for (int i = 0; i < dimensions[0] * dimensions[1]; i++) { + newText[i] = new FormattedText(); + + if (currentSize >= 1) { + newText[i].setFont(new Font(text[0].getFont())); + } + } + + text = newText; + } + + this.dimensions[0] = dimensions[0]; + this.dimensions[1] = dimensions[1]; + return UpdateStatus.Success; + } + + /** + * @return the text + */ + public FormattedText[] getText() { + FormattedText[] retText = new FormattedText[dimensions[0] * dimensions[1]]; + + for (int i = 0; i < dimensions[0] * dimensions[1]; i++) { + retText[i] = new FormattedText(text[i]); + } + + return retText; + } + + /** + * @param textArray the textArray to set + */ + public UpdateStatus setText(FormattedText[] textArray) { + for (int i = 0; i < dimensions[0] * dimensions[1]; i++) { + text[i] = new FormattedText(textArray[i]); + } + return UpdateStatus.Success; + } + + /** + * @return the text strings + */ + public String[] getTextStrings() { + String[] textStrings = new String[dimensions[0] * dimensions[1]]; + + for (int i = 0; i < dimensions[0] * dimensions[1]; i++) { + textStrings[i] = new String(text[i].getText()); + } + + return textStrings; + } + + /** + * @param textStrings the text strings array to set + */ + public UpdateStatus setTextStrings(String[] textStrings) { + for (int i = 0; i < dimensions[0] * dimensions[1]; i++) { + text[i].setText(textStrings[i]); + } + return UpdateStatus.Success; + } + + /** + * @return the font + */ + public Font getFont() { + return text[0].getFont(); + } + + /** + * @param font the font to set + */ + public UpdateStatus setFont(Font font) { + for (int i = 0; i < dimensions[0] * dimensions[1]; i++) { + text[i].setFont(font); + } + return UpdateStatus.Success; + } + + /** + * @return the font style + */ + public Integer getFontStyle() { + return text[0].getFont().getStyle(); + } + + /** + * @param style the font style to set + */ + public UpdateStatus setFontStyle(Integer style) { + for (int i = 0; i < dimensions[0] * dimensions[1]; i++) { + text[i].getFont().setStyle(style); + } + return UpdateStatus.Success; + } + + /** + * @return the font color + */ + public Integer getFontColor() { + return text[0].getFont().getColor(); + } + + /** + * @param color the font color to set + */ + public UpdateStatus setFontColor(Integer color) { + for (int i = 0; i < dimensions[0] * dimensions[1]; i++) { + text[i].getFont().setColor(color); + } + return UpdateStatus.Success; + } + + /** + * @return the font size + */ + public Double getFontSize() { + return text[0].getFont().getSize(); + } + + /** + * @param size the font size to set + */ + public UpdateStatus setFontSize(Double size) { + for (int i = 0; i < dimensions[0] * dimensions[1]; i++) { + text[i].getFont().setSize(size); + } + return UpdateStatus.Success; + } + + /** + * @return the font fractional + */ + public Boolean getFontFractional() { + return text[0].getFont().getFractional(); + } + + /** + * @param fractional the font fractional to set + */ + public UpdateStatus setFontFractional(Boolean fractional) { + for (int i = 0; i < dimensions[0] * dimensions[1]; i++) { + text[i].getFont().setFractional(fractional); + } + return UpdateStatus.Success; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uibar/Uibar.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uibar/Uibar.java new file mode 100755 index 000000000..290e05dc6 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uibar/Uibar.java @@ -0,0 +1,143 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uibar; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_MESSAGE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_MESSAGE_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_VALUE__; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * @author Vincent COUVERT + */ +public abstract class Uibar extends GraphicObject { + + private String[] message = {""}; + private int value; + + /** + * All uibar properties + */ + private enum UibarProperty { + MESSAGE, + MESSAGE_SIZE, + VALUE + }; + + /** + * Constructor + */ + public Uibar() { + super(); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_UI_MESSAGE__ : + return UibarProperty.MESSAGE; + case __GO_UI_MESSAGE_SIZE__ : + return UibarProperty.MESSAGE_SIZE; + case __GO_UI_VALUE__ : + return UibarProperty.VALUE; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + Object propertyValue = null; + if (property == UibarProperty.MESSAGE) { + propertyValue = getMessage(); + } else if (property == UibarProperty.MESSAGE_SIZE) { + propertyValue = getMessage().length; + } else if (property == UibarProperty.VALUE) { + propertyValue = getValue(); + } else { + propertyValue = super.getProperty(property); + } + return propertyValue; + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == UibarProperty.MESSAGE) { + setMessage((String[]) value); + } else if (property == UibarProperty.VALUE) { + setValue((Integer) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * Get the uibar message + * @return the message + */ + public String[] getMessage() { + return this.message; + } + + /** + * Set the uibar message + * @param message the message + */ + public UpdateStatus setMessage(String[] message) { + this.message = message; + return UpdateStatus.Success; + } + + /** + * Get the uibar value + * @return the value + */ + public Integer getValue() { + return this.value; + } + + /** + * Set the uibar value + * @param value the value + */ + public UpdateStatus setValue(Integer value) { + this.value = value; + return UpdateStatus.Success; + } + + /** + * Accept method + * @param visitor the visitor + * @see org.scilab.modules.graphic_objects.graphicObject.GraphicObject#accept(org.scilab.modules.graphic_objects.graphicObject.Visitor) + */ + public void accept(Visitor visitor) { + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uibar/progressionbar/Progressionbar.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uibar/progressionbar/Progressionbar.java new file mode 100755 index 000000000..bf49e584e --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uibar/progressionbar/Progressionbar.java @@ -0,0 +1,48 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uibar.progressionbar; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_PROGRESSIONBAR__; + +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.uibar.Uibar; + +/** + * @author Vincent COUVERT + */ +public class Progressionbar extends Uibar { + + /** + * Constructor + */ + public Progressionbar() { + super(); + } + + /** + * Get this object type + * @return waitbar + * @see org.scilab.modules.graphic_objects.graphicObject.GraphicObject#getType() + */ + public Integer getType() { + return __GO_PROGRESSIONBAR__; + } + + /** + * Accept method + * @param visitor the visitor + * @see org.scilab.modules.graphic_objects.graphicObject.GraphicObject#accept(org.scilab.modules.graphic_objects.graphicObject.Visitor) + */ + public void accept(Visitor visitor) { + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uibar/waitbar/Waitbar.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uibar/waitbar/Waitbar.java new file mode 100755 index 000000000..8be7b800d --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uibar/waitbar/Waitbar.java @@ -0,0 +1,48 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uibar.waitbar; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_WAITBAR__; + +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.uibar.Uibar; + +/** + * @author Vincent COUVERT + */ +public class Waitbar extends Uibar { + + /** + * Constructor + */ + public Waitbar() { + super(); + } + + /** + * Get this object type + * @return waitbar + * @see org.scilab.modules.graphic_objects.graphicObject.GraphicObject#getType() + */ + public Integer getType() { + return __GO_WAITBAR__; + } + + /** + * Accept method + * @param visitor the visitor + * @see org.scilab.modules.graphic_objects.graphicObject.GraphicObject#accept(org.scilab.modules.graphic_objects.graphicObject.Visitor) + */ + public void accept(Visitor visitor) { + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontextmenu/Uicontextmenu.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontextmenu/Uicontextmenu.java new file mode 100755 index 000000000..0dfcbe96f --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontextmenu/Uicontextmenu.java @@ -0,0 +1,49 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontextmenu; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICONTEXTMENU__; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; + +/** + * @author Vincent COUVERT + */ +public class Uicontextmenu extends GraphicObject { + + /** + * Constructor + */ + public Uicontextmenu() { + super(); + } + + /** + * Get this object type + * @return uicontextmenu + * @see org.scilab.modules.graphic_objects.graphicObject.GraphicObject#getType() + */ + public Integer getType() { + return __GO_UICONTEXTMENU__; + } + + /** + * Accept method + * @param visitor the visitor + * @see org.scilab.modules.graphic_objects.graphicObject.GraphicObject#accept(org.scilab.modules.graphic_objects.graphicObject.Visitor) + */ + public void accept(Visitor visitor) { + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/Uicontrol.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/Uicontrol.java new file mode 100755 index 000000000..96713db17 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/Uicontrol.java @@ -0,0 +1,1777 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Bruno JOFRET + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BORDER_OPT_PADDING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_EVENTHANDLER_ENABLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_EVENTHANDLER_NAME__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_GRID_OPT_GRID__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_GRID_OPT_PADDING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LAYOUT_SET__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LAYOUT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARGINS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_POSITION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICONTROL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_BACKGROUNDCOLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_BORDER_POSITION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_BORDER_PREFERREDSIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_CHECKBOX__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_EDIT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_ENABLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTANGLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTNAME__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTSIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTUNITS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTWEIGHT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FOREGROUNDCOLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GRIDBAG_ANCHOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GRIDBAG_FILL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GRIDBAG_GRID__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GRIDBAG_PADDING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GRIDBAG_PREFERREDSIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GRIDBAG_WEIGHT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GROUP_NAME__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_HORIZONTALALIGNMENT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_ICON__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_IMAGE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LAYER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LISTBOXTOP_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LISTBOXTOP__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LISTBOX__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_MAX__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_MIN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_POPUPMENU__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_PUSHBUTTON__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_RADIOBUTTON__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_RELIEF__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SCROLLABLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SLIDERSTEP__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SLIDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SPINNER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_STRING_COLNB__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_STRING_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_STRING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TABLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TAB__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TEXT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TITLE_POSITION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TITLE_SCROLL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TOOLTIPSTRING_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TOOLTIPSTRING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_UNITS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_VALUE_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_VALUE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_VERTICALALIGNMENT__; + +import java.awt.Font; +import java.util.Arrays; +import java.util.StringTokenizer; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.event.EventHandler; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.utils.LayoutType; + +/** + * @author Bruno JOFRET + * @author Vincent COUVERT + */ +public class Uicontrol extends GraphicObject { + + public enum TitlePositionType { + TOP, LEFT, BOTTOM, RIGHT; + public static TitlePositionType intToEnum(Integer value) { + switch (value) { + default: + case 0: + return TOP; + case 1: + return LEFT; + case 2: + return BOTTOM; + case 3: + return RIGHT; + } + } + + public static TitlePositionType stringToEnum(String value) { + if (value.equals("left")) { + return LEFT; + } + + if (value.equals("bottom")) { + return BOTTOM; + } + + if (value.equals("right")) { + return RIGHT; + } + + return TOP; + } + + public static String enumToString(TitlePositionType value) { + switch (value) { + case BOTTOM: + return "bottom"; + case LEFT: + return "left"; + case RIGHT: + return "right"; + default: + case TOP: + return "top"; + } + } + } + + public enum BorderLayoutType { + BOTTOM, TOP, CENTER, LEFT, RIGHT; + public static BorderLayoutType intToEnum(Integer value) { + switch (value) { + case 0: + return BorderLayoutType.BOTTOM; + case 1: + return BorderLayoutType.TOP; + default: + case 2: + return BorderLayoutType.CENTER; + case 3: + return BorderLayoutType.LEFT; + case 4: + return BorderLayoutType.RIGHT; + } + } + + public static BorderLayoutType stringToEnum2(String value) { + if (value == null || value.equals("")) { + return CENTER; + } + + char[] chars = value.toCharArray(); + if (chars[0] == 'n' || chars[0] == 'N') { + return TOP; + } + + if (chars[0] == 'e' || chars[0] == 'E') { + return RIGHT; + } + + if (chars[0] == 's' || chars[0] == 'S') { + return BOTTOM; + } + + if (chars[0] == 'w' || chars[0] == 'W') { + return LEFT; + } + + return CENTER; + } + + public static String enumToString(BorderLayoutType value) { + switch (value) { + case BOTTOM: + return "bottom"; + default: + case CENTER: + return "center"; + case LEFT: + return "left"; + case RIGHT: + return "right"; + case TOP: + return "top"; + } + } + + public static BorderLayoutType stringToEnum(String value) { + if (value.equals("bottom")) { + return BOTTOM; + } + + if (value.equals("left")) { + return LEFT; + } + + if (value.equals("right")) { + return RIGHT; + } + + if (value.equals("top")) { + return TOP; + } + + return CENTER; + } + } + + public enum FillType { + NONE, VERTICAL, HORIZONTAL, BOTH; + public static FillType intToEnum(Integer value) { + switch (value) { + default: + case 0: + return FillType.NONE; + case 1: + return FillType.VERTICAL; + case 2: + return FillType.HORIZONTAL; + case 3: + return FillType.BOTH; + } + } + + public static FillType stringToEnum(String value) { + if (value == null || value.equals("")) { + return NONE; + } + + char[] chars = value.toCharArray(); + if (chars[0] == 'v' || chars[0] == 'V') { + return VERTICAL; + } + + if (chars[0] == 'h' || chars[0] == 'H') { + return HORIZONTAL; + } + + if (chars[0] == 'b' || chars[0] == 'B') { + return BOTH; + } + + return NONE; + } + + public static String enumToString(FillType value) { + switch (value) { + case BOTH: + return "both"; + case HORIZONTAL: + return "horizontal"; + case NONE: + default: + return "none"; + case VERTICAL: + return "vertical"; + } + } + } + + public enum AnchorType { + CENTER, UPPER, LOWER, RIGHT, LEFT, UPPER_RIGHT, UPPER_LEFT, LOWER_RIGHT, LOWER_LEFT; + //c,e,w,n,s,ne,nw,se,sw + public static AnchorType intToEnum(Integer value) { + switch (value) { + default: + case 0: + return CENTER; + case 1: + return UPPER; + case 2: + return LOWER; + case 3: + return RIGHT; + case 4: + return LEFT; + case 5: + return UPPER_RIGHT; + case 6: + return UPPER_LEFT; + case 7: + return LOWER_RIGHT; + case 8: + return LOWER_LEFT; + } + } + + public static AnchorType stringToEnum2(String value) { + if (value == null || value.equals("")) { + return CENTER; + } + + char[] chars = value.toCharArray(); + if (chars[0] == 'e' || chars[0] == 'E') { + return RIGHT; + } + + if (chars[0] == 'w' || chars[0] == 'W') { + return LEFT; + } + + if (chars[0] == 'n' || chars[0] == 'N') { + if (chars.length == 1) { + return UPPER; + } + + if (chars[1] == 'e' || chars[1] == 'E') { + return UPPER_RIGHT; + } + + if (chars[1] == 'w' || chars[1] == 'W') { + return UPPER_LEFT; + } + return UPPER; + } + + if (chars[0] == 's' || chars[0] == 'S') { + if (chars.length == 1) { + return LOWER; + } + + if (chars[1] == 'e' || chars[1] == 'E') { + return LOWER_RIGHT; + } + + if (chars[1] == 'w' || chars[1] == 'W') { + return LOWER_LEFT; + } + return LOWER; + } + + return CENTER; + } + + public static String enumToString(AnchorType value) { + switch (value) { + default: + case CENTER: + return "center"; + case LEFT: + return "left"; + case LOWER: + return "lower"; + case LOWER_LEFT: + return "lower_left"; + case LOWER_RIGHT: + return "lower_right"; + case RIGHT: + return "right"; + case UPPER: + return "upper"; + case UPPER_LEFT: + return "upper_left"; + case UPPER_RIGHT: + return "upper_right"; + } + } + + public static AnchorType stringToEnum(String value) { + if (value.equals("left")) { + return LEFT; + } + + if (value.equals("lower")) { + return LOWER; + } + + if (value.equals("lower_left")) { + return LOWER_LEFT; + } + + if (value.equals("lower_right")) { + return LOWER_RIGHT; + } + + if (value.equals("right")) { + return RIGHT; + } + + if (value.equals("upper")) { + return UPPER; + } + + if (value.equals("upper_left")) { + return UPPER_LEFT; + } + + if (value.equals("upper_right")) { + return UPPER_RIGHT; + } + + return CENTER; + } + } + + protected static final String RELIEF_DEFAULT = "default"; + protected static final String RELIEF_FLAT = "flat"; + protected static final String RELIEF_RAISED = "raised"; + protected static final String RELIEF_SUNKEN = "sunken"; + protected static final String RELIEF_GROOVE = "groove"; + protected static final String RELIEF_RIDGE = "ridge"; + protected static final String RELIEF_SOLID = "solid"; + + protected static final double DEFAULT_RED_BACKGROUND = 0.8; + protected static final double DEFAULT_GREEN_BACKGROUND = 0.8; + protected static final double DEFAULT_BLUE_BACKGROUND = 0.8; + + private static final double DEFAULT_X = 20.0; + private static final double DEFAULT_Y = 40.0; + private static final double DEFAULT_WIDTH = 40.0; + private static final double DEFAULT_HEIGHT = 20.0; + + protected static final double DEFAULT_FONTSIZE = 10; + protected static final String DEFAULT_FONTNAME = "helvetica"; + protected static final String DEFAULT_FONTWEIGHT = "normal"; + protected static final String DEFAULT_FONTANGLE = "normal"; + private static final String STRING_SEPARATOR = "|"; + + private UicontrolStyle style; + private Double[] backgroundColor = { -1.0, -1.0, -1.0}; + private Boolean enable = true; + private String fontAngle = ""; + private String fontName = ""; + private double fontSize = 0; + private String fontUnits = "points"; + private String fontWeight = ""; + private Double[] foregroundColor = { -1.0, -1.0, -1.0}; + private String horizontalAlignment = ""; + private String verticalAlignment = ""; + private Integer[] listboxTop; + private double max = 1.0; + private double min; + private Double[] position = {DEFAULT_X, DEFAULT_Y, DEFAULT_WIDTH, DEFAULT_HEIGHT}; + private String relief = RELIEF_DEFAULT; + private Double[] sliderStep = {0.01, 0.1}; + private String[] string = new String[] {}; + private int stringColNb = 1; // Used for tables + private String[] tooltipString = {""}; + private String units = "pixels"; + private Double[] value; + private Boolean scrollable = false; + private LayoutType layout = LayoutType.NONE; + private Double[] margins = new Double[] {0.0, 0.0, 0.0, 0.0}; + private Integer[] gridbagGrid = new Integer[] { -1, -1, 1, 1}; + private Double[] gridbagWeight = new Double[] {0.0, 0.0}; + private FillType gridbagFill = FillType.NONE; + private AnchorType gridbagAnchor = AnchorType.CENTER; + private Integer[] gridbagPadding = new Integer[] {0, 0}; + private Integer[] gridbagPreferredSize = new Integer[] { -1, -1}; + private BorderLayoutType borderPosition = BorderLayoutType.CENTER; + private Integer[] borderPreferredSize = new Integer[] { -1, -1}; + private String icon = ""; + + /** layout options */ + private Integer[] gridOptGrid = new Integer[] {0, 0}; + private Integer[] gridOptPadding = new Integer[] {0, 0}; + private Integer[] borderOptPadding = new Integer[] {0, 0}; + + /** border options */ + private Integer frameBorder = 0; + + /** groupname for radiobutton */ + private String groupName = ""; + + /** tab properties */ + private Boolean titleScroll = false; + private TitlePositionType titlePosition = TitlePositionType.TOP; + + private EventHandler eventHandler; + + /** + * All uicontrol properties + */ + private enum UicontrolProperty { + STYLE, + BACKGROUNDCOLOR, + ENABLE, + FONTANGLE, + FONTNAME, + FONTSIZE, + FONTUNITS, + FONTWEIGHT, + FOREGROUNDCOLOR, + HORIZONTALALIGNMENT, + LISTBOXTOP, + LISTBOXTOP_SIZE, + MAX, + MIN, + POSITION, + SCALE, + SHEAR, + SLIDERSTEP, + STRING, + STRING_SIZE, + STRING_COLNB, + RELIEF, + TOOLTIPSTRING, + TOOLTIPSTRING_SIZE, + UNITS, + VALUE, + VALUE_SIZE, + VERTICALALIGNMENT, + LAYOUT, + LAYOUT_SET, + MARGINS, + GRIDBAG_GRID, + GRIDBAG_WEIGHT, + GRIDBAG_FILL, + GRIDBAG_ANCHOR, + GRIDBAG_PADDING, + GRIDBAG_PREFERREDSIZE, + BORDER_POSITION, + BORDER_PREFERREDSIZE, + GRIDOPT_GRID, + GRIDOPT_PADDING, + BORDEROPT_PADDING, + FRAMEBORDER, + GROUPNAME, + TITLE_POSITION, + TITLE_SCROLL, + SCROLLABLE, + ICON, + EVENTHANDLER, + EVENTHANDLERENABLE + }; + + /** + * All uicontrol styles + */ + public enum UicontrolStyle { + CHECKBOX, + EDIT, + FRAME, + IMAGE, + LISTBOX, + POPUPMENU, + PUSHBUTTON, + RADIOBUTTON, + SLIDER, + TABLE, + TEXT, + TABGROUP, + TAB, + LAYER, + SPINNER + }; + + /** + * Constructor + */ + public Uicontrol() { + super(); + eventHandler = new EventHandler(); + setVisible(false); /* To avoid to see the object rendered before all its properties to be set (See bug #10346) */ + + if (Console.getConsole().getUseDeprecatedLF()) { + setBackgroundColor(new Double[] { + DEFAULT_RED_BACKGROUND, + DEFAULT_GREEN_BACKGROUND, + DEFAULT_BLUE_BACKGROUND + }); + + setHorizontalAlignment("center"); + setVerticalAlignment("middle"); + + setFontName(DEFAULT_FONTNAME); + setFontSize(DEFAULT_FONTSIZE); + setFontAngle(DEFAULT_FONTANGLE); + setFontWeight(DEFAULT_FONTWEIGHT); + } + } + + /** + * Get style as a string + * @param style the uicontrol style + * @return the uicontrol style as a string + */ + private int styleEnumToInt(UicontrolStyle style) { + switch (style) { + case CHECKBOX: + return __GO_UI_CHECKBOX__; + case EDIT: + return __GO_UI_EDIT__; + case FRAME: + return __GO_UI_FRAME__; + case IMAGE: + return __GO_UI_IMAGE__; + case LISTBOX: + return __GO_UI_LISTBOX__; + case POPUPMENU: + return __GO_UI_POPUPMENU__; + case PUSHBUTTON: + return __GO_UI_PUSHBUTTON__; + case RADIOBUTTON: + return __GO_UI_RADIOBUTTON__; + case SLIDER: + return __GO_UI_SLIDER__; + case TABLE: + return __GO_UI_TABLE__; + case TEXT: + return __GO_UI_TEXT__; + case TAB: + return __GO_UI_TAB__; + case LAYER: + return __GO_UI_LAYER__; + case SPINNER: + return __GO_UI_SPINNER__; + default : + return -1; + } + } + + /** + * Get style as an enum element + * @param style the uicontrol style + * @return the uicontrol style as an enum element + */ + private UicontrolStyle intToStyleEnum(int style) { + switch (style) { + case __GO_UI_CHECKBOX__ : + return UicontrolStyle.CHECKBOX; + case __GO_UI_EDIT__ : + return UicontrolStyle.EDIT; + case __GO_UI_FRAME__ : + return UicontrolStyle.FRAME; + case __GO_UI_IMAGE__ : + return UicontrolStyle.IMAGE; + case __GO_UI_LISTBOX__ : + return UicontrolStyle.LISTBOX; + case __GO_UI_POPUPMENU__ : + return UicontrolStyle.POPUPMENU; + case __GO_UI_PUSHBUTTON__ : + return UicontrolStyle.PUSHBUTTON; + case __GO_UI_RADIOBUTTON__ : + return UicontrolStyle.RADIOBUTTON; + case __GO_UI_SLIDER__ : + return UicontrolStyle.SLIDER; + case __GO_UI_TABLE__ : + return UicontrolStyle.TABLE; + case __GO_UI_TEXT__ : + return UicontrolStyle.TEXT; + case __GO_UI_TAB__: + return UicontrolStyle.TAB; + case __GO_UI_LAYER__: + return UicontrolStyle.LAYER; + case __GO_UI_SPINNER__: + return UicontrolStyle.SPINNER; + default : + return null; + } + } + + /** + * Get this object type + * @return uicontrol + * @see org.scilab.modules.graphic_objects.graphicObject.GraphicObject#getType() + */ + public Integer getType() { + return __GO_UICONTROL__; + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_STYLE__ : + return UicontrolProperty.STYLE; + case __GO_UI_BACKGROUNDCOLOR__ : + return UicontrolProperty.BACKGROUNDCOLOR; + case __GO_UI_ENABLE__ : + return UicontrolProperty.ENABLE; + case __GO_UI_FONTANGLE__ : + return UicontrolProperty.FONTANGLE; + case __GO_UI_FONTNAME__ : + return UicontrolProperty.FONTNAME; + case __GO_UI_FONTSIZE__ : + return UicontrolProperty.FONTSIZE; + case __GO_UI_FONTUNITS__ : + return UicontrolProperty.FONTUNITS; + case __GO_UI_FONTWEIGHT__ : + return UicontrolProperty.FONTWEIGHT; + case __GO_UI_FOREGROUNDCOLOR__ : + return UicontrolProperty.FOREGROUNDCOLOR; + case __GO_UI_HORIZONTALALIGNMENT__ : + return UicontrolProperty.HORIZONTALALIGNMENT; + case __GO_UI_LISTBOXTOP__ : + return UicontrolProperty.LISTBOXTOP; + case __GO_UI_LISTBOXTOP_SIZE__ : + return UicontrolProperty.LISTBOXTOP_SIZE; + case __GO_UI_MAX__ : + return UicontrolProperty.MAX; + case __GO_UI_MIN__ : + return UicontrolProperty.MIN; + case __GO_POSITION__ : + return UicontrolProperty.POSITION; + case __GO_UI_RELIEF__ : + return UicontrolProperty.RELIEF; + case __GO_UI_SLIDERSTEP__ : + return UicontrolProperty.SLIDERSTEP; + case __GO_UI_STRING__ : + return UicontrolProperty.STRING; + case __GO_UI_STRING_SIZE__ : + return UicontrolProperty.STRING_SIZE; + case __GO_UI_STRING_COLNB__ : + return UicontrolProperty.STRING_COLNB; + case __GO_UI_TOOLTIPSTRING__ : + return UicontrolProperty.TOOLTIPSTRING; + case __GO_UI_TOOLTIPSTRING_SIZE__ : + return UicontrolProperty.TOOLTIPSTRING_SIZE; + case __GO_UI_UNITS__ : + return UicontrolProperty.UNITS; + case __GO_UI_VALUE__ : + return UicontrolProperty.VALUE; + case __GO_UI_VALUE_SIZE__ : + return UicontrolProperty.VALUE_SIZE; + case __GO_UI_VERTICALALIGNMENT__ : + return UicontrolProperty.VERTICALALIGNMENT; + case __GO_LAYOUT__ : + return UicontrolProperty.LAYOUT; + case __GO_LAYOUT_SET__ : + return UicontrolProperty.LAYOUT_SET; + case __GO_MARGINS__: + return UicontrolProperty.MARGINS; + case __GO_UI_GRIDBAG_GRID__: + return UicontrolProperty.GRIDBAG_GRID; + case __GO_UI_GRIDBAG_WEIGHT__: + return UicontrolProperty.GRIDBAG_WEIGHT; + case __GO_UI_GRIDBAG_FILL__: + return UicontrolProperty.GRIDBAG_FILL; + case __GO_UI_GRIDBAG_ANCHOR__: + return UicontrolProperty.GRIDBAG_ANCHOR; + case __GO_UI_GRIDBAG_PADDING__: + return UicontrolProperty.GRIDBAG_PADDING; + case __GO_UI_GRIDBAG_PREFERREDSIZE__: + return UicontrolProperty.GRIDBAG_PREFERREDSIZE; + case __GO_UI_BORDER_POSITION__: + return UicontrolProperty.BORDER_POSITION; + case __GO_UI_BORDER_PREFERREDSIZE__: + return UicontrolProperty.BORDER_PREFERREDSIZE; + case __GO_GRID_OPT_GRID__: + return UicontrolProperty.GRIDOPT_GRID; + case __GO_GRID_OPT_PADDING__: + return UicontrolProperty.GRIDOPT_PADDING; + case __GO_BORDER_OPT_PADDING__: + return UicontrolProperty.BORDEROPT_PADDING; + case __GO_UI_FRAME_BORDER__: + return UicontrolProperty.FRAMEBORDER; + case __GO_UI_GROUP_NAME__: + return UicontrolProperty.GROUPNAME; + case __GO_UI_TITLE_POSITION__: + return UicontrolProperty.TITLE_POSITION; + case __GO_UI_TITLE_SCROLL__: + return UicontrolProperty.TITLE_SCROLL; + case __GO_UI_SCROLLABLE__: + return UicontrolProperty.SCROLLABLE; + case __GO_UI_ICON__: + return UicontrolProperty.ICON; + case __GO_EVENTHANDLER_NAME__: + return UicontrolProperty.EVENTHANDLER; + case __GO_EVENTHANDLER_ENABLE__: + return UicontrolProperty.EVENTHANDLERENABLE; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == UicontrolProperty.STYLE) { + return getStyle(); + } else if (property == UicontrolProperty.BACKGROUNDCOLOR) { + return getBackgroundColor(); + } else if (property == UicontrolProperty.ENABLE) { + return getEnable(); + } else if (property == UicontrolProperty.FONTANGLE) { + return getFontAngle(); + } else if (property == UicontrolProperty.FONTNAME) { + return getFontName(); + } else if (property == UicontrolProperty.FONTSIZE) { + return getFontSize(); + } else if (property == UicontrolProperty.FONTUNITS) { + return getFontUnits(); + } else if (property == UicontrolProperty.FONTWEIGHT) { + return getFontWeight(); + } else if (property == UicontrolProperty.FOREGROUNDCOLOR) { + return getForegroundColor(); + } else if (property == UicontrolProperty.HORIZONTALALIGNMENT) { + return getHorizontalAlignment(); + } else if (property == UicontrolProperty.LISTBOXTOP) { + return getListboxTop(); + } else if (property == UicontrolProperty.LISTBOXTOP_SIZE) { + return getListboxTopSize(); + } else if (property == UicontrolProperty.MAX) { + return getMax(); + } else if (property == UicontrolProperty.MIN) { + return getMin(); + } else if (property == UicontrolProperty.POSITION) { + return getUiPosition(); + } else if (property == UicontrolProperty.RELIEF) { + return getRelief(); + } else if (property == UicontrolProperty.SLIDERSTEP) { + return getSliderStep(); + } else if (property == UicontrolProperty.STRING) { + return getString(); + } else if (property == UicontrolProperty.STRING_SIZE) { + return getString().length; + } else if (property == UicontrolProperty.STRING_COLNB) { + return getStringColNb(); + } else if (property == UicontrolProperty.TOOLTIPSTRING) { + return getTooltipString(); + } else if (property == UicontrolProperty.TOOLTIPSTRING_SIZE) { + return getTooltipString().length; + } else if (property == UicontrolProperty.UNITS) { + return getUnits(); + } else if (property == UicontrolProperty.VALUE) { + return getUiValue(); + } else if (property == UicontrolProperty.VALUE_SIZE) { + return getUiValueSize(); + } else if (property == UicontrolProperty.VERTICALALIGNMENT) { + return getVerticalAlignment(); + } else if (property == UicontrolProperty.LAYOUT) { + return getLayout(); + } else if (property == UicontrolProperty.LAYOUT_SET) { + return isLayoutSettable(); + } else if (property == UicontrolProperty.MARGINS) { + return getMargins(); + } else if (property == UicontrolProperty.GRIDBAG_GRID) { + return getGridBagGrid(); + } else if (property == UicontrolProperty.GRIDBAG_WEIGHT) { + return getGridBagWeight(); + } else if (property == UicontrolProperty.GRIDBAG_FILL) { + return getGridBagFill(); + } else if (property == UicontrolProperty.GRIDBAG_ANCHOR) { + return getGridBagAnchor(); + } else if (property == UicontrolProperty.GRIDBAG_PADDING) { + return getGridBagPadding(); + } else if (property == UicontrolProperty.GRIDBAG_PREFERREDSIZE) { + return getGridBagPreferredSize(); + } else if (property == UicontrolProperty.BORDER_POSITION) { + return getBorderPosition(); + } else if (property == UicontrolProperty.BORDER_PREFERREDSIZE) { + return getBorderPreferredSize(); + } else if (property == UicontrolProperty.GRIDOPT_GRID) { + return getGridOptGrid(); + } else if (property == UicontrolProperty.GRIDOPT_PADDING) { + return getGridOptPadding(); + } else if (property == UicontrolProperty.BORDEROPT_PADDING) { + return getBorderOptPadding(); + } else if (property == UicontrolProperty.FRAMEBORDER) { + return getFrameBorder(); + } else if (property == UicontrolProperty.GROUPNAME) { + return getGroupName(); + } else if (property == UicontrolProperty.TITLE_POSITION) { + return getTitlePosition(); + } else if (property == UicontrolProperty.TITLE_SCROLL) { + return getTitleScroll(); + } else if (property == UicontrolProperty.SCROLLABLE) { + return getScrollable(); + } else if (property == UicontrolProperty.ICON) { + return getIcon(); + } else if (property == UicontrolProperty.EVENTHANDLER) { + return getEventHandler(); + } else if (property == UicontrolProperty.EVENTHANDLERENABLE) { + return getEventHandlerEnable(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (!(property instanceof UicontrolProperty)) { + return super.setProperty(property, value); + } + + UicontrolProperty p = (UicontrolProperty) property; + switch (p) { + case STYLE: + return setStyle((Integer) value); + case BACKGROUNDCOLOR: + return setBackgroundColor((Double[]) value); + case ENABLE: + return setEnable((Boolean) value); + case FONTANGLE: + return setFontAngle((String) value); + case FONTNAME: + return setFontName((String) value); + case FONTSIZE: + return setFontSize((Double) value); + case FONTUNITS: + return setFontUnits((String) value); + case FONTWEIGHT: + return setFontWeight((String) value); + case FOREGROUNDCOLOR: + return setForegroundColor((Double[]) value); + case HORIZONTALALIGNMENT: + return setHorizontalAlignment((String) value); + case LISTBOXTOP: + return setListboxTop((Integer[]) value); + case MAX: + return setMax((Double) value); + case MIN: + return setMin((Double) value); + case POSITION: + return setUiPosition((Double[]) value); + case RELIEF: + return setRelief((String) value); + case SLIDERSTEP: + return setSliderStep((Double[]) value); + case STRING: + return setString((String[]) value); + case STRING_COLNB: + return setStringColNb((Integer) value); + case TOOLTIPSTRING: + return setTooltipString((String[]) value); + case UNITS: + return setUnits((String) value); + case VALUE: + return setUiValue((Double[]) value); + case VERTICALALIGNMENT: + return setVerticalAlignment((String) value); + case LAYOUT: + return setLayout((Integer) value); + case MARGINS: + return setMargins((Double[]) value); + case GRIDBAG_GRID: + return setGridBagGrid((Integer[]) value); + case GRIDBAG_WEIGHT: + return setGridBagWeight((Double[]) value); + case GRIDBAG_FILL: + return setGridBagFill((Integer) value); + case GRIDBAG_ANCHOR: + return setGridBagAnchor((Integer) value); + case GRIDBAG_PADDING: + return setGridBagPadding((Integer[]) value); + case GRIDBAG_PREFERREDSIZE: + return setGridBagPreferredSize((Integer[]) value); + case BORDER_POSITION: + return setBorderPosition((Integer) value); + case BORDER_PREFERREDSIZE: + return setBorderPreferredSize((Integer[]) value); + case GRIDOPT_GRID: + return setGridOptGrid((Integer[]) value); + case GRIDOPT_PADDING: + return setGridOptPadding((Integer[]) value); + case BORDEROPT_PADDING: + return setBorderOptPadding((Integer[]) value); + case FRAMEBORDER: + return setFrameBorder((Integer) value); + case GROUPNAME: + return setGroupName((String) value); + case TITLE_POSITION: + return setTitlePosition((Integer) value); + case TITLE_SCROLL: + return setTitleScroll((Boolean) value); + case SCROLLABLE: + return setScrollable((Boolean) value); + case ICON: + return setIcon((String) value); + case EVENTHANDLER: + return setEventHandler((String) value); + case EVENTHANDLERENABLE: + return setEventHandlerEnable((Boolean) value); + default: + return super.setProperty(property, value); + } + } + + /** + * Get the style + * @return the style + */ + public Integer getStyle() { + return styleEnumToInt(style); + } + + public UicontrolStyle getStyleAsEnum() { + return style; + } + + /** + * Set the style + * @param style the style + */ + public UpdateStatus setStyle(int style) { + UicontrolStyle val = intToStyleEnum(style); + if (val == this.style) { + return UpdateStatus.NoChange; + } + + this.style = val; + return UpdateStatus.Success; + } + + /* Background Color */ + public Double[] getBackgroundColor() { + return this.backgroundColor; + } + + public UpdateStatus setBackgroundColor(Double[] colors) { + if (Arrays.equals(colors, this.backgroundColor)) { + return UpdateStatus.NoChange; + } + + this.backgroundColor = colors; + return UpdateStatus.Success; + } + + /* Enable */ + public Boolean getEnable() { + return enable; + } + + public UpdateStatus setEnable(Boolean status) { + if (enable.equals(status)) { + return UpdateStatus.NoChange; + } + enable = status; + return UpdateStatus.Success; + } + + /* FontAngle */ + public String getFontAngle() { + return this.fontAngle; + } + + public UpdateStatus setFontAngle(String fontAngle) { + if (this.fontAngle.equals(fontAngle)) { + return UpdateStatus.NoChange; + } + this.fontAngle = fontAngle; + return UpdateStatus.Success; + } + + /* FontName */ + public String getFontName() { + return this.fontName; + } + + public UpdateStatus setFontName(String fontName) { + if (this.fontName.equals(fontName)) { + return UpdateStatus.NoChange; + } + this.fontName = fontName; + return UpdateStatus.Success; + } + + /* FontSize */ + public double getFontSize() { + return this.fontSize; + } + + public UpdateStatus setFontSize(double fontSize) { + if (this.fontSize == fontSize) { + return UpdateStatus.NoChange; + } + this.fontSize = fontSize; + return UpdateStatus.Success; + } + + /* FontUnits */ + public String getFontUnits() { + return this.fontUnits; + } + + public UpdateStatus setFontUnits(String fontUnits) { + if (this.fontUnits.equals(fontUnits)) { + return UpdateStatus.NoChange; + } + this.fontUnits = fontUnits; + return UpdateStatus.Success; + } + + /* FontWeight */ + public String getFontWeight() { + return this.fontWeight; + } + + public UpdateStatus setFontWeight(String fontWeight) { + if (this.fontWeight.equals(fontWeight)) { + return UpdateStatus.NoChange; + } + this.fontWeight = fontWeight; + return UpdateStatus.Success; + } + + /* Foreground Color */ + public Double[] getForegroundColor() { + return this.foregroundColor; + } + + public UpdateStatus setForegroundColor(Double[] colors) { + if (Arrays.equals(this.foregroundColor, colors)) { + return UpdateStatus.NoChange; + } + this.foregroundColor = colors; + return UpdateStatus.Success; + } + + /* Horizontal Alignment */ + public String getHorizontalAlignment() { + return this.horizontalAlignment; + } + + public UpdateStatus setHorizontalAlignment(String alignment) { + if (this.horizontalAlignment.equals(alignment)) { + return UpdateStatus.NoChange; + } + this.horizontalAlignment = alignment; + return UpdateStatus.Success; + } + + /* Listbox Top */ + public Integer getListboxTopSize() { + return (listboxTop != null ? listboxTop.length : 0); + } + + public Integer[] getListboxTop() { + return this.listboxTop; + } + + public UpdateStatus setListboxTop(Integer[] listboxTop) { + if (Arrays.equals(this.listboxTop, listboxTop)) { + return UpdateStatus.NoChange; + } + this.listboxTop = listboxTop; + return UpdateStatus.Success; + } + + /* Max */ + public Double getMax() { + return this.max; + } + + public UpdateStatus setMax(double max) { + if (this.max == max) { + return UpdateStatus.NoChange; + } + this.max = max; + return UpdateStatus.Success; + } + + /* Min */ + public Double getMin() { + return this.min; + } + + public UpdateStatus setMin(double min) { + if (this.min == min) { + return UpdateStatus.NoChange; + } + this.min = min; + return UpdateStatus.Success; + } + + /* Position */ + public Double[] getUiPosition() { + return this.position; + } + + public UpdateStatus setUiPosition(Double[] position) { + if (Arrays.equals(this.position, position)) { + return UpdateStatus.NoChange; + } + this.position = position; + return UpdateStatus.Success; + } + + /* Relief */ + public String getRelief() { + return this.relief; + } + + public UpdateStatus setRelief(String relief) { + if (this.relief.equals(relief)) { + return UpdateStatus.NoChange; + } + this.relief = relief; + return UpdateStatus.Success; + } + + /** + * Get the string + * @return the string + */ + public String[] getString() { + return this.string; + } + + /** + * Set the string + * @param string the string + */ + public UpdateStatus setString(String[] string) { + //update needed ? + + //both null or same object + if (this.string == string) { + return UpdateStatus.NoChange; + } + + boolean needUpdate = false; + if (this.string.length == string.length) { + for (int i = 0 ; i < string.length ; i++) { + + if (this.string[i] == null && string[i] == null) { + continue; + } + + //only one null + if ((this.string[i] == null || string[i] == null) && + this.string[i] != string[i]) { + needUpdate = true; + break; + } + + if (this.string[i].equals(string[i]) == false) { + needUpdate = true; + break; + } + } + } else { + needUpdate = true; + } + + if (needUpdate == false) { + return UpdateStatus.NoChange; + } + + if (this.style == UicontrolStyle.LISTBOX || this.style == UicontrolStyle.POPUPMENU) { + /* String can be set using a|b|c|d */ + if (string.length == 0) { + if (this.string.length == 0) { + return UpdateStatus.NoChange; + } + + this.string = string; + return UpdateStatus.Success; + } else if (string.length == 1 && string[0].contains(STRING_SEPARATOR)) { + StringTokenizer strTok = new StringTokenizer(string[0], STRING_SEPARATOR); + String[] stringTab = new String[strTok.countTokens()]; + while (strTok.hasMoreTokens()) { + stringTab[stringTab.length - strTok.countTokens()] = strTok.nextToken(); + } + this.string = stringTab; + return UpdateStatus.Success; + } + } + + this.string = string; + return UpdateStatus.Success; + } + + /** + * Get the string column number + * @return the number of columns + */ + public int getStringColNb() { + return stringColNb; + } + + /** + * Set the string column number + * @param stringColNb the number of columns + */ + public UpdateStatus setStringColNb(Integer stringColNb) { + if (this.stringColNb == stringColNb) { + return UpdateStatus.NoChange; + } + this.stringColNb = stringColNb; + return UpdateStatus.Success; + } + + + /** + * Get the tooltip string + * @return the tooltip string + */ + public String[] getTooltipString() { + return this.tooltipString; + } + + /** + * Set the tooltip string + * @param tooltipString the tooltip string + */ + public UpdateStatus setTooltipString(String[] tooltipString) { + if (Arrays.equals(this.tooltipString, tooltipString)) { + return UpdateStatus.NoChange; + } + this.tooltipString = tooltipString; + return UpdateStatus.Success; + } + + /* Slider Step */ + public Double[] getSliderStep() { + return this.sliderStep; + } + + public UpdateStatus setSliderStep(Double[] sliderStep) { + if (Arrays.equals(this.sliderStep, sliderStep)) { + return UpdateStatus.NoChange; + } + this.sliderStep = sliderStep; + return UpdateStatus.Success; + } + + /* Units */ + public String getUnits() { + return this.units; + } + + public UpdateStatus setUnits(String units) { + if (this.units.equals(units)) { + return UpdateStatus.NoChange; + } + this.units = units; + return UpdateStatus.Success; + } + + /* Value */ + public Integer getUiValueSize() { + return (value != null ? value.length : 0); + } + + public Double[] getUiValue() { + return this.value; + } + + public UpdateStatus setUiValue(Double[] value) { + if (Arrays.equals(this.value, value)) { + return UpdateStatus.NoChange; + } + this.value = value; + return UpdateStatus.Success; + } + + /* Vertical Alignment */ + public String getVerticalAlignment() { + return this.verticalAlignment; + } + + public UpdateStatus setVerticalAlignment(String alignment) { + if (this.verticalAlignment.equals(alignment)) { + return UpdateStatus.NoChange; + } + this.verticalAlignment = alignment; + return UpdateStatus.Success; + } + + public Integer getLayout() { + return layout.ordinal(); + } + + public LayoutType getLayoutAsEnum() { + return layout; + } + + public boolean isLayoutSettable() { + return (this.layout == LayoutType.NONE); + } + + public UpdateStatus setLayout(Integer value) { + return setLayout(LayoutType.intToEnum(value)); + } + + public UpdateStatus setLayout(LayoutType layout) { + //avoid to set layout twice + if (this.layout == LayoutType.NONE) { + if (layout == LayoutType.NONE) { + return UpdateStatus.NoChange; + } + + this.layout = layout; + return UpdateStatus.Success; + } + + return UpdateStatus.Fail; + } + + public Double[] getMargins() { + return margins; + } + + public UpdateStatus setMargins(Double[] value) { + UpdateStatus status = UpdateStatus.NoChange; + if (value.length != 4) { + return UpdateStatus.Fail; + } + + for (int i = 0 ; i < 4 ; i++) { + if (margins[i].equals(value[i]) == false) { + margins[i] = value[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + public Integer getBorderPosition() { + return borderPosition.ordinal(); + } + + public BorderLayoutType getBorderPositionAsEnum() { + return borderPosition; + } + + public UpdateStatus setBorderPosition(Integer value) { + return setBorderPosition(BorderLayoutType.intToEnum(value)); + } + + public UpdateStatus setBorderPosition(BorderLayoutType value) { + if (borderPosition == value) { + return UpdateStatus.NoChange; + } + + borderPosition = value; + return UpdateStatus.Success; + } + + public Integer[] getGridBagPadding() { + return gridbagPadding; + } + + public UpdateStatus setGridBagPadding(Integer[] value) { + UpdateStatus status = UpdateStatus.NoChange; + if (gridbagPadding.length != value.length) { + return UpdateStatus.Fail; + } + + for (int i = 0 ; i < value.length ; i++) { + if (gridbagPadding[i] != value[i]) { + gridbagPadding[i] = value[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + public Integer[] getGridBagPreferredSize() { + return gridbagPreferredSize; + } + + public UpdateStatus setGridBagPreferredSize(Integer[] value) { + UpdateStatus status = UpdateStatus.NoChange; + if (gridbagPreferredSize.length != value.length) { + return UpdateStatus.Fail; + } + + for (int i = 0 ; i < value.length ; i++) { + if (gridbagPreferredSize[i] != value[i]) { + gridbagPreferredSize[i] = value[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + public Integer[] getBorderPreferredSize() { + return borderPreferredSize; + } + + public UpdateStatus setBorderPreferredSize(Integer[] value) { + UpdateStatus status = UpdateStatus.NoChange; + if (borderPreferredSize.length != value.length) { + return UpdateStatus.Fail; + } + + for (int i = 0 ; i < value.length ; i++) { + if (borderPreferredSize[i] != value[i]) { + borderPreferredSize[i] = value[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + public Integer getGridBagAnchor() { + return gridbagAnchor.ordinal(); + } + + public AnchorType getGridBagAnchorAsEnum() { + return gridbagAnchor; + } + + public UpdateStatus setGridBagAnchor(Integer value) { + return setGridBagAnchor(AnchorType.intToEnum(value)); + } + + public UpdateStatus setGridBagAnchor(AnchorType value) { + if (gridbagAnchor == value) { + return UpdateStatus.NoChange; + } + + gridbagAnchor = value; + return UpdateStatus.Success; + } + + public Integer getGridBagFill() { + return gridbagFill.ordinal(); + } + + public FillType getGridBagFillAsEnum() { + return gridbagFill; + } + + public UpdateStatus setGridBagFill(Integer value) { + return setGridBagFill(FillType.intToEnum(value)); + } + + public UpdateStatus setGridBagFill(FillType value) { + if (gridbagFill == value) { + return UpdateStatus.NoChange; + } + + gridbagFill = value; + return UpdateStatus.Success; + } + + public Double[] getGridBagWeight() { + return gridbagWeight; + } + + public UpdateStatus setGridBagWeight(Double[] value) { + UpdateStatus status = UpdateStatus.NoChange; + if (gridbagWeight.length != value.length) { + return UpdateStatus.Fail; + } + + for (int i = 0 ; i < value.length ; i++) { + if (gridbagWeight[i] != value[i]) { + gridbagWeight[i] = value[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + public Integer[] getGridBagGrid() { + return gridbagGrid; + } + + public UpdateStatus setGridBagGrid(Integer[] value) { + UpdateStatus status = UpdateStatus.NoChange; + if (gridbagGrid.length != value.length) { + return UpdateStatus.Fail; + } + + for (int i = 0 ; i < value.length ; i++) { + if (gridbagGrid[i] != value[i]) { + gridbagGrid[i] = value[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + public Integer[] getBorderOptPadding() { + return borderOptPadding; + } + + public UpdateStatus setBorderOptPadding(Integer[] value) { + UpdateStatus status = UpdateStatus.NoChange; + if (borderOptPadding.length != value.length) { + return UpdateStatus.Fail; + } + + for (int i = 0 ; i < value.length ; i++) { + if (borderOptPadding[i] != value[i]) { + borderOptPadding[i] = value[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + public Integer[] getGridOptPadding() { + return gridOptPadding; + } + + public UpdateStatus setGridOptPadding(Integer[] value) { + UpdateStatus status = UpdateStatus.NoChange; + if (gridOptPadding.length != value.length) { + return UpdateStatus.Fail; + } + + for (int i = 0 ; i < value.length ; i++) { + if (gridOptPadding[i] != value[i]) { + gridOptPadding[i] = value[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + public Integer[] getGridOptGrid() { + return gridOptGrid; + } + + public UpdateStatus setGridOptGrid(Integer[] value) { + UpdateStatus status = UpdateStatus.NoChange; + if (gridOptGrid.length != value.length) { + return UpdateStatus.Fail; + } + + for (int i = 0 ; i < value.length ; i++) { + if (gridOptGrid[i] != value[i]) { + gridOptGrid[i] = value[i]; + status = UpdateStatus.Success; + } + } + + return status; + } + + public Integer getFrameBorder() { + return frameBorder; + } + + public UpdateStatus setFrameBorder(Integer value) { + if (frameBorder.equals(value)) { + return UpdateStatus.NoChange; + } + + frameBorder = value; + return UpdateStatus.Success; + } + + public String getGroupName() { + return groupName; + } + + public UpdateStatus setGroupName(String value) { + if (groupName.equals(value)) { + return UpdateStatus.NoChange; + } + + groupName = value; + return UpdateStatus.Success; + } + + public Boolean getTitleScroll() { + return titleScroll; + } + + public UpdateStatus setTitleScroll(Boolean value) { + if (titleScroll == value) { + return UpdateStatus.NoChange; + } + + titleScroll = value; + return UpdateStatus.Success; + } + + public Integer getTitlePosition() { + return titlePosition.ordinal(); + } + + public TitlePositionType getTitlePositionAsEnum() { + return titlePosition; + } + + + public UpdateStatus setTitlePosition(Integer value) { + return setTitlePosition(TitlePositionType.intToEnum(value)); + } + + public UpdateStatus setTitlePosition(TitlePositionType value) { + if (titlePosition == value) { + return UpdateStatus.NoChange; + } + + titlePosition = value; + return UpdateStatus.Success; + } + + public UpdateStatus setScrollable(Boolean scrollable) { + if (this.scrollable == scrollable) { + return UpdateStatus.NoChange; + } + + this.scrollable = scrollable; + return UpdateStatus.Success; + } + + public Boolean getScrollable() { + return scrollable; + } + + public void setFont(Font font) { + if (font == null) { + return; + } + + setFontName(font.getName()); + setFontSize(font.getSize()); + + if (font.isItalic()) { + setFontAngle("italic"); + } else { + setFontAngle("normal"); + } + + if (font.isBold()) { + setFontWeight("bold"); + } else { + setFontWeight("normal"); + } + } + + public UpdateStatus setIcon(String icon) { + if (this.icon.equals(icon)) { + return UpdateStatus.NoChange; + } + + this.icon = icon; + return UpdateStatus.Success; + } + + public String getIcon() { + return icon; + } + + public UpdateStatus setEventHandler(String eventHandlerName) { + return eventHandler.setEventHandlerString(eventHandlerName); + } + + public String getEventHandler() { + return eventHandler.getEventHandlerString(); + } + + public UpdateStatus setEventHandlerEnable(Boolean eventHandlerEnabled) { + return eventHandler.setEventHandlerEnabled(eventHandlerEnabled); + } + + public boolean getEventHandlerEnable() { + return eventHandler.getEventHandlerEnabled(); + } + + public void accept(Visitor visitor) { + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/checkbox/CheckBox.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/checkbox/CheckBox.java new file mode 100755 index 000000000..3dbaa4065 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/checkbox/CheckBox.java @@ -0,0 +1,55 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol.checkbox; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_CHECKBOX__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; + +/** + * @author Vincent COUVERT + */ +public class CheckBox extends Uicontrol { + + /** + * Constructor + */ + public CheckBox() { + super(); + setStyle(__GO_UI_CHECKBOX__); + + // Default value is the min value (not checked) + Double[] value = new Double[1]; + value[0] = getMin(); + setUiValue(value); + + if (Console.getConsole().getUseDeprecatedLF()) { + setRelief(RELIEF_FLAT); + } else { + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("CheckBox.font")); + + //h-alignment + setHorizontalAlignment("left"); + + //v-alignement + setVerticalAlignment("middle"); + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/edit/Edit.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/edit/Edit.java new file mode 100755 index 000000000..13b5e1f03 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/edit/Edit.java @@ -0,0 +1,50 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol.edit; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_EDIT__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; + +/** + * @author Vincent COUVERT + */ +public class Edit extends Uicontrol { + + /** + * Constructor + */ + public Edit() { + super(); + setStyle(__GO_UI_EDIT__); + + if (Console.getConsole().getUseDeprecatedLF()) { + setRelief(RELIEF_SUNKEN); + } else { + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("TextField.font")); + + //h-alignment + setHorizontalAlignment("left"); + + //v-alignement + setVerticalAlignment("middle"); + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/edit/Spinner.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/edit/Spinner.java new file mode 100755 index 000000000..5b6ea3fcf --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/edit/Spinner.java @@ -0,0 +1,32 @@ +package org.scilab.modules.graphic_objects.uicontrol.edit; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SPINNER__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; + +public class Spinner extends Uicontrol { + + public Spinner() { + super(); + setStyle(__GO_UI_SPINNER__); + + if (Console.getConsole().getUseDeprecatedLF()) { + setRelief(RELIEF_SUNKEN); + } else { + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("Spinner.font")); + + //h-alignment + setHorizontalAlignment("left"); + + //v-alignement + setVerticalAlignment("middle"); + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/frame/Frame.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/frame/Frame.java new file mode 100755 index 000000000..4a2fe37f8 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/frame/Frame.java @@ -0,0 +1,80 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol.frame; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.axes.AxesContainer; +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.figure.ColorMap; +import org.scilab.modules.graphic_objects.figure.Figure; +import org.scilab.modules.graphic_objects.graphicModel.GraphicModel; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; + +/** + * @author Vincent COUVERT + */ +public class Frame extends Uicontrol implements AxesContainer { + + /** + * Constructor + */ + public Frame() { + super(); + setStyle(__GO_UI_FRAME__); + if (Console.getConsole().getUseDeprecatedLF()) { + setRelief(RELIEF_RIDGE); + } else { + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("Panel.font")); + + //h-alignment + setHorizontalAlignment("left"); + + //v-alignement + setVerticalAlignment("middle"); + } + } + + public Integer getAntialiasing() { + return 0; + } + + public Integer getBackground() { + Figure figure = (Figure) GraphicModel.getModel().getObjectFromId(getParentFigure()); + if (figure != null) { + return figure.getBackground(); + } + return -2; + } + + public ColorMap getColorMap() { + Figure figure = (Figure) GraphicModel.getModel().getObjectFromId(getParentFigure()); + if (figure != null) { + return figure.getColorMap(); + } + + return new ColorMap(); + } + + public Integer[] getAxesSize() { + Double[] pos = getUiPosition(); + return new Integer[] {pos[2].intValue(), pos[3].intValue()}; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder.java new file mode 100755 index 000000000..a57abd436 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorder.java @@ -0,0 +1,675 @@ +package org.scilab.modules.graphic_objects.uicontrol.frame.border; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LINE_THICKNESS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_POSITION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TITLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTANGLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTNAME__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTSIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTWEIGHT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_COLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_HIGHLIGHT_IN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_IN_BORDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_JUSTIFICATION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_OUT_BORDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_POSITION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_ROUNDED__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_SHADOW_IN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_SHADOW_OUT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_TITLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_TYPE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER__; + +import java.util.Arrays; + +import org.scilab.modules.graphic_objects.ObjectRemovedException; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; + +public class FrameBorder extends GraphicObject { + enum FrameBorderProperty { + TYPE, //RAISED or LOWERED + COLOR, //string + THICKNESS, //int + ROUNDED, //boolean + STYLE, //FrameBorderType + HIGHLIGHT_OUT, //string + HIGHLIGHT_IN, //string + SHADOW_OUT, //string + SHADOW_IN, //string + TITLE_BORDER, + TITLE, //string + JUSTIFICATION, //JustificationType + FONTNAME, //string + FONTANGLE, // string + FONT_SIZE, //int + FONT_WEIGHT, //string + TITLE_POSITION, // TitlePostionType + POSITION, //tlbr + IN_BORDER, + OUT_BORDER, + }; + + public enum BorderType { + RAISED, LOWERED; + public static BorderType intToEnum(Integer value) { + switch (value) { + default: + case 0: + return RAISED; + case 1: + return LOWERED; + } + } + + public static BorderType stringToEnum(String value) { + if (value == null || value.equals("")) { + return null; + } + + char[] chars = value.toCharArray(); + if (chars[0] == 'l' || chars[0] == 'L') { + return LOWERED; + } + + return RAISED; + } + } + + public enum JustificationType { + LEADING, LEFT, CENTER, RIGHT, TRAILING; + + public static JustificationType intToEnum(Integer val) { + switch (val) { + default : + case 0: + return LEADING; + case 1: + return LEFT; + case 2: + return CENTER; + case 3: + return RIGHT; + case 4: + return TRAILING; + } + } + + public static JustificationType stringToEnum(String value) { + if (value == null || value.equals("")) { + return null; + } + + char[] chars = value.toCharArray(); + if (chars[0] == 'l' || chars[0] == 'L') { + if (chars[3] == 'f' || chars[3] == 'F') { + return LEFT; + } + return LEADING; + } + + if (chars[0] == 'c' || chars[0] == 'C') { + return CENTER; + } + + if (chars[0] == 'r' || chars[0] == 'R') { + return RIGHT; + } + + if (chars[0] == 't' || chars[0] == 'T') { + return TRAILING; + } + + + return LEADING; + } + + }; + + public enum TitlePositionType { + TOP, ABOVE_TOP, BELOW_TOP, BOTTOM, ABOVE_BOTTOM, BELOW_BOTTOM; + + public static TitlePositionType intToEnum(Integer val) { + switch (val) { + default : + case 0: + return TOP; + case 1: + return ABOVE_TOP; + case 2: + return BELOW_TOP; + case 3: + return BOTTOM; + case 4: + return ABOVE_BOTTOM; + case 5: + return BELOW_BOTTOM; + } + } + + public static TitlePositionType stringToEnum(String value) { + if (value == null || value.equals("")) { + return null; + } + + if (value.equalsIgnoreCase("above_top")) { + return ABOVE_TOP; + } + + if (value.equalsIgnoreCase("below_top")) { + return BELOW_TOP; + } + + if (value.equalsIgnoreCase("bottom")) { + return BOTTOM; + } + + if (value.equalsIgnoreCase("above_bottom")) { + return ABOVE_BOTTOM; + } + + if (value.equalsIgnoreCase("below_bottom")) { + return BELOW_BOTTOM; + } + + return TOP; + } + }; + + private BorderType type = null;//BorderType.NONE; + private String color = null; + private String hlOutColor = null; + private String hlInColor = null; + private String shadowOutColor = null; + private String shadowInColor = null; + private Integer thickness = null; + private Boolean rounded = null; + private FrameBorderType style = null;//FrameBorderType.ETCHED; + private String title = null; + private JustificationType justification = null;//JustificationType.LEADING; + private String fontAngle = null; + private String fontName = null; + private Integer fontSize = null; + private String fontWeight = null; + private TitlePositionType titlePosition = TitlePositionType.TOP; + private Double[] position = null;//new Double[] {0.0, 0.0, 0.0, 0.0};//TLBR + + private Integer titleBorder = null; + private Integer inBorder = null; + private Integer outBorder = null; + + public FrameBorder() { + + } + + /** + * Get style as a string + * @param style the uicontrol style + * @return the uicontrol style as a string + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_UI_FRAME_BORDER_COLOR__: + return FrameBorderProperty.COLOR; + case __GO_UI_FONTANGLE__: + return FrameBorderProperty.FONTANGLE; + case __GO_UI_FONTNAME__: + return FrameBorderProperty.FONTNAME; + case __GO_UI_FONTSIZE__: + return FrameBorderProperty.FONT_SIZE; + case __GO_UI_FONTWEIGHT__: + return FrameBorderProperty.FONT_WEIGHT; + case __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__: + return FrameBorderProperty.HIGHLIGHT_IN; + case __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__: + return FrameBorderProperty.HIGHLIGHT_OUT; + case __GO_UI_FRAME_BORDER_IN_BORDER__: + return FrameBorderProperty.IN_BORDER; + case __GO_UI_FRAME_BORDER_JUSTIFICATION__: + return FrameBorderProperty.JUSTIFICATION; + case __GO_UI_FRAME_BORDER_OUT_BORDER__: + return FrameBorderProperty.OUT_BORDER; + case __GO_POSITION__: + return FrameBorderProperty.POSITION; + case __GO_UI_FRAME_BORDER_ROUNDED__: + return FrameBorderProperty.ROUNDED; + case __GO_UI_FRAME_BORDER_SHADOW_IN__: + return FrameBorderProperty.SHADOW_IN; + case __GO_UI_FRAME_BORDER_SHADOW_OUT__: + return FrameBorderProperty.SHADOW_OUT; + case __GO_UI_FRAME_BORDER_STYLE__: + return FrameBorderProperty.STYLE; + case __GO_LINE_THICKNESS__: + return FrameBorderProperty.THICKNESS; + case __GO_TITLE__: + return FrameBorderProperty.TITLE; + case __GO_UI_FRAME_BORDER_TITLE__: + return FrameBorderProperty.TITLE_BORDER; + case __GO_UI_FRAME_BORDER_POSITION__: + return FrameBorderProperty.TITLE_POSITION; + case __GO_UI_FRAME_BORDER_TYPE__: + return FrameBorderProperty.TYPE; + default: + return super.getPropertyFromName(propertyName); + } + } + + public Object getProperty(Object property) { + if (property instanceof FrameBorderProperty) { + switch ((FrameBorderProperty)property) { + case COLOR: + return getColor(); + case FONTANGLE: + return getFontAngle(); + case FONTNAME: + return getFontName(); + case FONT_SIZE: + return getFontSize(); + case FONT_WEIGHT: + return getFontWeight(); + case HIGHLIGHT_IN: + return getHlIn(); + case HIGHLIGHT_OUT: + return getHlOut(); + case IN_BORDER: + return getInBorder(); + case JUSTIFICATION: + return getJustification(); + case OUT_BORDER: + return getOutBorder(); + case POSITION: + return getPosition(); + case ROUNDED: + return getRounded(); + case SHADOW_IN: + return getShadowIn(); + case SHADOW_OUT: + return getShadowOut(); + case STYLE: + return getStyle(); + case THICKNESS: + return getThickness(); + case TITLE: + return getTitle(); + case TITLE_BORDER: + return getTitleBorder(); + case TITLE_POSITION: + return getTitlePosition(); + case TYPE: + return getBorderType(); + } + } + + return super.getProperty(property); + } + + public UpdateStatus setProperty(Object property, Object value) { + if (property instanceof FrameBorderProperty) { + switch ((FrameBorderProperty) property) { + case COLOR: + return setColor((String)value); + case FONTANGLE: + return setFontAngle((String)value); + case FONTNAME: + return setFontName((String)value); + case FONT_SIZE: + return setFontSize((Integer)value); + case FONT_WEIGHT: + return setFontWeight((String)value); + case HIGHLIGHT_IN: + return setHlIn((String)value); + case HIGHLIGHT_OUT: + return setHlOut((String)value); + case IN_BORDER: + return setInBorder((Integer)value); + case JUSTIFICATION: + return setJustification((Integer)value); + case OUT_BORDER: + return setOutBorder((Integer)value); + case POSITION: + return setPosition((Double[])value); + case ROUNDED: + return setRounded((Boolean)value); + case SHADOW_IN: + return setShadowIn((String)value); + case SHADOW_OUT: + return setShadowOut((String)value); + case STYLE: + return setStyle((Integer)value); + case THICKNESS: + return setThickness((Integer)value); + case TITLE: + return setTitle((String)value); + case TITLE_BORDER: + return setTitleBorder((Integer)value); + case TITLE_POSITION: + return setTitlePosition((Integer)value); + case TYPE: + return setBorderType((Integer)value); + } + } + return super.setProperty(property, value); + } + + /** type */ + public Integer getBorderType() { + return type == null ? null : type.ordinal(); + } + + public BorderType getBorderTypeAsEnum() { + return type; + } + + public UpdateStatus setBorderType(BorderType value) { + if (value == type) { + return UpdateStatus.NoChange; + } + + type = value; + return UpdateStatus.Success; + } + + public UpdateStatus setBorderType(Integer value) { + return setBorderType(BorderType.intToEnum(value)); + } + + /** titleposition */ + public Integer getTitlePosition() { + return titlePosition == null ? null : titlePosition.ordinal(); + } + + public TitlePositionType getTitlePositionAsEnum() { + return titlePosition; + } + + public UpdateStatus setTitlePosition(Integer value) { + return setTitlePosition(TitlePositionType.intToEnum(value)); + } + + public UpdateStatus setTitlePosition(TitlePositionType value) { + if (titlePosition == value) { + return UpdateStatus.NoChange; + } + + titlePosition = value; + return UpdateStatus.Success; + } + + /** titleborder */ + public Integer getTitleBorder() { + return titleBorder; + } + + public UpdateStatus setTitleBorder(Integer value) { + if (titleBorder != null && titleBorder.equals(value)) { + return UpdateStatus.NoChange; + } + + titleBorder = value; + return UpdateStatus.Success; + } + + /** title */ + public String getTitle() { + return title; + } + + public UpdateStatus setTitle(String value) { + if (title != null && title.equals(value)) { + return UpdateStatus.NoChange; + } + + title = value; + return UpdateStatus.Success; + } + + /** thickness */ + public Integer getThickness() { + return thickness; + } + + public UpdateStatus setThickness(Integer value) { + if (thickness != null && thickness.equals(value)) { + return UpdateStatus.NoChange; + } + + thickness = value; + return UpdateStatus.Success; + } + + /** style */ + public Integer getStyle() { + return style == null ? null : style.ordinal(); + } + + public FrameBorderType getStyleAsEnum() { + return style; + } + + public UpdateStatus setStyle(Integer value) { + return setStyle(FrameBorderType.intToEnum(value)); + } + + public UpdateStatus setStyle(FrameBorderType value) { + if (style != null && style.equals(value)) { + return UpdateStatus.NoChange; + } + + style = value; + return UpdateStatus.Success; + } + + /** shadowOut */ + public String getShadowOut() { + return shadowOutColor; + } + + public UpdateStatus setShadowOut(String value) { + if (shadowOutColor != null && shadowOutColor.equals(value)) { + return UpdateStatus.NoChange; + } + + shadowOutColor = value; + return UpdateStatus.Success; + } + + /** shadowIn */ + public String getShadowIn() { + return shadowInColor; + } + + public UpdateStatus setShadowIn(String value) { + if (shadowInColor != null && shadowInColor.equals(value)) { + return UpdateStatus.NoChange; + } + + shadowInColor = value; + return UpdateStatus.Success; + } + + /** rounded */ + public Boolean getRounded() { + return rounded; + } + + public UpdateStatus setRounded(Boolean value) { + if (rounded != null && rounded.equals(value)) { + return UpdateStatus.NoChange; + } + + rounded = value; + return UpdateStatus.Success; + } + + /** position */ + public Double[] getPosition() { + return position; + } + + public UpdateStatus setPosition(Double[] value) { + if (position != null && Arrays.equals(position, value)) { + return UpdateStatus.NoChange; + } + + position = value; + return UpdateStatus.Success; + } + + /** outBorder */ + public Integer getOutBorder() { + return outBorder; + } + + public UpdateStatus setOutBorder(Integer value) { + if (outBorder != null && outBorder.equals(value)) { + return UpdateStatus.NoChange; + } + + outBorder = value; + return UpdateStatus.Success; + } + + /** justification */ + public Integer getJustification() { + return justification == null ? null : justification.ordinal(); + } + + public JustificationType getJustificationAsEnum() { + return justification; + } + + public UpdateStatus setJustification(Integer value) { + return setJustification(JustificationType.intToEnum(value)); + } + + public UpdateStatus setJustification(JustificationType value) { + if (justification == value) { + return UpdateStatus.NoChange; + } + + justification = value; + return UpdateStatus.Success; + } + + /** inBorder */ + public Integer getInBorder() { + return inBorder; + } + + public UpdateStatus setInBorder(Integer value) { + if (inBorder != null && inBorder.equals(value)) { + return UpdateStatus.NoChange; + } + + inBorder = value; + return UpdateStatus.Success; + } + + /** hlOutColor */ + public String getHlOut() { + return hlOutColor; + } + + public UpdateStatus setHlOut(String value) { + if (hlOutColor != null && hlOutColor.equals(value)) { + return UpdateStatus.NoChange; + } + + hlOutColor = value; + return UpdateStatus.Success; + } + + /** hlInColor */ + public String getHlIn() { + return hlInColor; + } + + public UpdateStatus setHlIn(String value) { + if (hlInColor != null && hlInColor.equals(value)) { + return UpdateStatus.NoChange; + } + + hlInColor = value; + return UpdateStatus.Success; + } + + /** fontWeight */ + public String getFontWeight() { + return fontWeight; + } + + public UpdateStatus setFontWeight(String value) { + if (fontWeight != null && fontWeight.equals(value)) { + return UpdateStatus.NoChange; + } + + fontWeight = value; + return UpdateStatus.Success; + } + + /** fontSize */ + public Integer getFontSize() { + return fontSize; + } + + public UpdateStatus setFontSize(Integer value) { + if (fontSize != null && fontSize.equals(value)) { + return UpdateStatus.NoChange; + } + + fontSize = value; + return UpdateStatus.Success; + } + + /** fontName */ + public String getFontName() { + return fontName; + } + + public UpdateStatus setFontName(String value) { + if (fontName != null && fontName.equals(value)) { + return UpdateStatus.NoChange; + } + + fontName = value; + return UpdateStatus.Success; + } + + /** fontAngle */ + public String getFontAngle() { + return fontAngle; + } + + public UpdateStatus setFontAngle(String value) { + if (fontAngle != null && fontAngle.equals(value)) { + return UpdateStatus.NoChange; + } + + fontAngle = value; + return UpdateStatus.Success; + } + + /** color */ + public String getColor() { + return color; + } + + public UpdateStatus setColor(String value) { + if (color != null && color.equals(value)) { + return UpdateStatus.NoChange; + } + + color = value; + return UpdateStatus.Success; + } + + public void accept(Visitor visitor) throws ObjectRemovedException { + } + + public Integer getType() { + return __GO_UI_FRAME_BORDER__; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorderType.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorderType.java new file mode 100755 index 000000000..34e6af265 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/frame/border/FrameBorderType.java @@ -0,0 +1,73 @@ +package org.scilab.modules.graphic_objects.uicontrol.frame.border; + +public enum FrameBorderType { + NONE, LINE, BEVEL, SOFTBEVEL, ETCHED, TITLED, EMPTY, COMPOUND, MATTE; + + public static FrameBorderType intToEnum(Integer value) { + if (value == null) { + return null; + } + + switch (value) { + default : + case 0 : + return NONE; + case 1 : + return LINE; + case 2 : + return BEVEL; + case 3 : + return SOFTBEVEL; + case 4 : + return ETCHED; + case 5 : + return TITLED; + case 6 : + return EMPTY; + case 7 : + return COMPOUND; + case 8 : + return MATTE; + } + } + + public static FrameBorderType stringToEnum(String value) { + if (value == null || value.equals("")) { + return null; + } + + char[] chars = value.toCharArray(); + if (chars[0] == 'l' || chars[0] == 'L') { + return LINE; + } + + if (chars[0] == 'b' || chars[0] == 'B') { + return BEVEL; + } + + if (chars[0] == 's' || chars[0] == 'S') { + return SOFTBEVEL; + } + + if (chars[0] == 'e' || chars[0] == 'E') { + if (chars[1] == 'm' || chars[1] == 'M') { + return EMPTY; + } + return ETCHED; + } + + if (chars[0] == 't' || chars[0] == 'T') { + return TITLED; + } + + if (chars[0] == 'c' || chars[0] == 'C') { + return COMPOUND; + } + + if (chars[0] == 'm' || chars[0] == 'M') { + return MATTE; + } + + return NONE; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/layer/Layer.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/layer/Layer.java new file mode 100755 index 000000000..b10b23834 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/layer/Layer.java @@ -0,0 +1,92 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2014 - Scilab enterprises - Antoine ELIAS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol.layer; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LAYER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TAB_STRING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TAB_VALUE__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; +import org.scilab.modules.graphic_objects.utils.LayoutType; + +/** + * @author Vincent COUVERT + */ +public class Layer extends Uicontrol { + private enum LayerProperty { + LAYER_VALUE, + LAYER_STRING + }; + + + /** + * Constructor + */ + public Layer() { + super(); + setStyle(__GO_UI_LAYER__); + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("Panel.font")); + + //h-alignment + setHorizontalAlignment("left"); + + //v-alignement + setVerticalAlignment("middle"); + + //layout + setLayout(LayoutType.BORDER); + } + + public Object getPropertyFromName(int property) { + if (property == __GO_UI_TAB_VALUE__) { + return LayerProperty.LAYER_VALUE; + } else if (property == __GO_UI_TAB_STRING__) { + return LayerProperty.LAYER_STRING; + } else { + return super.getPropertyFromName(property); + } + } + + public UpdateStatus setProperty(Object property, Object value) { + if (!(property instanceof LayerProperty)) { + return super.setProperty(property, value); + } + + LayerProperty p = (LayerProperty) property; + switch (p) { + case LAYER_STRING: + return setUiTabString((String[])value); + case LAYER_VALUE: + return setUiTabValue((Double[])value); + default: + return super.setProperty(property, value); + } + } + + public UpdateStatus setUiTabString(String[] value) { + setString(value); + return UpdateStatus.NoChange; + } + + public UpdateStatus setUiTabValue(Double[] value) { + setUiValue(value); + return UpdateStatus.NoChange; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/listbox/ListBox.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/listbox/ListBox.java new file mode 100755 index 000000000..0cb236c81 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/listbox/ListBox.java @@ -0,0 +1,55 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol.listbox; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LISTBOX__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; + +/** + * @author Vincent COUVERT + */ +public class ListBox extends Uicontrol { + + /** + * Constructor + */ + public ListBox() { + super(); + setStyle(__GO_UI_LISTBOX__); + setUiValue(new Double[] {}); + + if (Console.getConsole().getUseDeprecatedLF()) { + setRelief(RELIEF_FLAT); + } else { + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("List.font")); + + //h-alignment + setHorizontalAlignment("left"); + + //v-alignement + setVerticalAlignment("middle"); + } + } + + public UpdateStatus setUiValue(Double[] value) { + return super.setUiValue(value); + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/popupmenu/PopupMenu.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/popupmenu/PopupMenu.java new file mode 100755 index 000000000..4534d492b --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/popupmenu/PopupMenu.java @@ -0,0 +1,53 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol.popupmenu; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_POPUPMENU__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; + +/** + * @author Vincent COUVERT + */ +public class PopupMenu extends Uicontrol { + + /** + * Constructor + */ + public PopupMenu() { + super(); + setStyle(__GO_UI_POPUPMENU__); + setString(new String[] {}); + + if (Console.getConsole().getUseDeprecatedLF()) { + setRelief(RELIEF_FLAT); + } else { + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("ComboBox.font")); + + //h-alignment + setHorizontalAlignment("left"); + + //v-alignement + setVerticalAlignment("middle"); + } + + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/pushbutton/PushButton.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/pushbutton/PushButton.java new file mode 100755 index 000000000..a72e48058 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/pushbutton/PushButton.java @@ -0,0 +1,61 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol.pushbutton; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_PUSHBUTTON__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; + +/** + * @author Bruno JOFRET + */ +public class PushButton extends Uicontrol { + + private static final double BUTTON_RED_BACKGROUND = 0.6; + private static final double BUTTON_GREEN_BACKGROUND = 0.6; + private static final double BUTTON_BLUE_BACKGROUND = 0.6; + + /** + * Constructor + */ + public PushButton() { + super(); + setStyle(__GO_UI_PUSHBUTTON__); + + + if (Console.getConsole().getUseDeprecatedLF()) { + setRelief(RELIEF_RAISED); + setBackgroundColor(new Double[] { + BUTTON_RED_BACKGROUND, + BUTTON_GREEN_BACKGROUND, + BUTTON_BLUE_BACKGROUND + }); + } else { + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("Button.font")); + + //h-alignment + setHorizontalAlignment("center"); + + //v-alignement + setVerticalAlignment("middle"); + } + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/radiobutton/RadioButton.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/radiobutton/RadioButton.java new file mode 100755 index 000000000..8da298607 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/radiobutton/RadioButton.java @@ -0,0 +1,55 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol.radiobutton; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_RADIOBUTTON__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; + +/** + * @author Bruno JOFRET + */ +public class RadioButton extends Uicontrol { + + /** + * Constructor + */ + public RadioButton() { + super(); + setStyle(__GO_UI_RADIOBUTTON__); + + // Default value is the min value (not checked) + Double[] value = new Double[1]; + value[0] = getMin(); + setUiValue(value); + + if (Console.getConsole().getUseDeprecatedLF()) { + setRelief(RELIEF_FLAT); + } else { + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("RadioButton.font")); + + //h-alignment + setHorizontalAlignment("left"); + + //v-alignement + setVerticalAlignment("middle"); + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/slider/Slider.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/slider/Slider.java new file mode 100755 index 000000000..a31e61190 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/slider/Slider.java @@ -0,0 +1,55 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol.slider; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SLIDER__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; + +/** + * @author Vincent COUVERT + */ +public class Slider extends Uicontrol { + + /** + * Constructor + */ + public Slider() { + super(); + setStyle(__GO_UI_SLIDER__); + + // Default value is the min value + Double[] value = new Double[1]; + value[0] = getMin(); + setUiValue(value); + + if (Console.getConsole().getUseDeprecatedLF()) { + setRelief(RELIEF_FLAT); + } else { + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("Slider.font")); + + //h-alignment + setHorizontalAlignment("left"); + + //v-alignement + setVerticalAlignment("middle"); + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/tab/Tab.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/tab/Tab.java new file mode 100755 index 000000000..55938533f --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/tab/Tab.java @@ -0,0 +1,95 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2014 - Scilab enterprises - Antoine ELIAS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol.tab; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TAB_STRING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TAB_VALUE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TAB__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; +import org.scilab.modules.graphic_objects.utils.LayoutType; + +/** + * @author Vincent COUVERT + */ +public class Tab extends Uicontrol { + private enum TabProperty { + TAB_VALUE, + TAB_STRING + }; + + /** + * Constructor + */ + public Tab() { + super(); + setStyle(__GO_UI_TAB__); + if (Console.getConsole().getUseDeprecatedLF()) { + setRelief(RELIEF_FLAT); + } else { + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("TabbedPane.font")); + + //h-alignment + setHorizontalAlignment("left"); + + //v-alignement + setVerticalAlignment("middle"); + + //layout + setLayout(LayoutType.BORDER); + } + } + + public Object getPropertyFromName(int property) { + if (property == __GO_UI_TAB_VALUE__) { + return TabProperty.TAB_VALUE; + } else if (property == __GO_UI_TAB_STRING__) { + return TabProperty.TAB_STRING; + } else { + return super.getPropertyFromName(property); + } + } + + public UpdateStatus setProperty(Object property, Object value) { + if (!(property instanceof TabProperty)) { + return super.setProperty(property, value); + } + + TabProperty p = (TabProperty) property; + switch (p) { + case TAB_STRING: + return setUiTabString((String[])value); + case TAB_VALUE: + return setUiTabValue((Double[])value); + default: + return super.setProperty(property, value); + } + } + + public UpdateStatus setUiTabString(String[] value) { + setString(value); + return UpdateStatus.NoChange; + } + + public UpdateStatus setUiTabValue(Double[] value) { + setUiValue(value); + return UpdateStatus.NoChange; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/table/Table.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/table/Table.java new file mode 100755 index 000000000..567cd4c5b --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/table/Table.java @@ -0,0 +1,50 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol.table; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TABLE__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; + +/** + * @author Vincent COUVERT + */ +public class Table extends Uicontrol { + + /** + * Constructor + */ + public Table() { + super(); + setStyle(__GO_UI_TABLE__); + if (Console.getConsole().getUseDeprecatedLF()) { + setRelief(RELIEF_FLAT); + } else { + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("Table.font")); + + //h-alignment + setHorizontalAlignment("left"); + + //v-alignement + setVerticalAlignment("middle"); + } + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/uiimage/UiImage.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/uiimage/UiImage.java new file mode 100755 index 000000000..92ec3d9f0 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/uiimage/UiImage.java @@ -0,0 +1,52 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol.uiimage; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_IMAGE__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; + +/** + * @author Vincent COUVERT + */ +public class UiImage extends Uicontrol { + + /** + * Constructor + */ + public UiImage() { + super(); + setStyle(__GO_UI_IMAGE__); + Double[] imageInfos = {1.0, 1.0, 0.0, 0.0, 0.0}; // {XScale, YScale, XShear, YShear, RotationAngle} + setUiValue(imageInfos); + if (Console.getConsole().getUseDeprecatedLF()) { + setRelief(RELIEF_RAISED); + } else { + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("Panel.font")); + + //h-alignment + setHorizontalAlignment("left"); + + //v-alignement + setVerticalAlignment("middle"); + } + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/uitext/UiText.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/uitext/UiText.java new file mode 100755 index 000000000..81753a933 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/uitext/UiText.java @@ -0,0 +1,50 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uicontrol.uitext; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TEXT__; + +import javax.swing.UIDefaults; +import javax.swing.UIManager; + +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; + +/** + * @author Vincent COUVERT + */ +public class UiText extends Uicontrol { + + /** + * Constructor + */ + public UiText() { + super(); + setStyle(__GO_UI_TEXT__); + + if (Console.getConsole().getUseDeprecatedLF()) { + setRelief(RELIEF_FLAT); + } else { + UIDefaults defaults = UIManager.getDefaults(); + + //font + setFont(defaults.getFont("Label.font")); + + //h-alignment + setHorizontalAlignment("left"); + + //v-alignement + setVerticalAlignment("middle"); + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uimenu/Uimenu.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uimenu/Uimenu.java new file mode 100755 index 000000000..679ccaf26 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uimenu/Uimenu.java @@ -0,0 +1,313 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent COUVERT + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.uimenu; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UIMENU__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_ACCELERATOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_CHECKED__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_ENABLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FOREGROUNDCOLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_ICON__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LABEL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_MNEMONIC__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SEPARATOR__; + +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; + +/** + * @author Vincent COUVERT + */ +public class Uimenu extends GraphicObject { + + private boolean checked; + private boolean enable = true; + private Double[] foregroundColor = {0.0, 0.0, 0.0}; + private String icon = ""; + private String label = ""; + private String mnemonic = ""; + private String accelerator = ""; + private boolean separator; + + /** + * All uimenu properties + */ + private enum UimenuProperty { + ACCELERATOR, + CHECKED, + ENABLE, + FOREGROUNDCOLOR, + ICON, + LABEL, + MNEMONIC, + SEPARATOR + }; + + /** + * Constructor + */ + public Uimenu() { + super(); + setCallbackString(""); + setCallbackType(0); + } + + /** + * Get this object type + * @return uicontrol + * @see org.scilab.modules.graphic_objects.graphicObject.GraphicObject#getType() + */ + public Integer getType() { + return __GO_UIMENU__; + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_UI_ACCELERATOR__ : + return UimenuProperty.ACCELERATOR; + case __GO_UI_CHECKED__ : + return UimenuProperty.CHECKED; + case __GO_UI_ENABLE__ : + return UimenuProperty.ENABLE; + case __GO_UI_FOREGROUNDCOLOR__ : + return UimenuProperty.FOREGROUNDCOLOR; + case __GO_UI_ICON__ : + return UimenuProperty.ICON; + case __GO_UI_LABEL__ : + return UimenuProperty.LABEL; + case __GO_UI_MNEMONIC__ : + return UimenuProperty.MNEMONIC; + case __GO_UI_SEPARATOR__ : + return UimenuProperty.SEPARATOR; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + Object propertyValue = null; + if (property == UimenuProperty.ACCELERATOR) { + propertyValue = getAccelerator(); + } else if (property == UimenuProperty.CHECKED) { + propertyValue = getChecked(); + } else if (property == UimenuProperty.ENABLE) { + propertyValue = getEnable(); + } else if (property == UimenuProperty.FOREGROUNDCOLOR) { + propertyValue = getForegroundColor(); + } else if (property == UimenuProperty.ICON) { + propertyValue = getIcon(); + } else if (property == UimenuProperty.LABEL) { + propertyValue = getLabel(); + } else if (property == UimenuProperty.MNEMONIC) { + propertyValue = getMnemonic(); + } else if (property == UimenuProperty.SEPARATOR) { + propertyValue = getSeparator(); + } else { + propertyValue = super.getProperty(property); + } + return propertyValue; + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == UimenuProperty.ACCELERATOR) { + setAccelerator((String) value); + } else if (property == UimenuProperty.CHECKED) { + setChecked((Boolean) value); + } else if (property == UimenuProperty.ENABLE) { + setEnable((Boolean) value); + } else if (property == UimenuProperty.FOREGROUNDCOLOR) { + setForegroundColor((Double[]) value); + } else if (property == UimenuProperty.ICON) { + setIcon((String) value); + } else if (property == UimenuProperty.LABEL) { + setLabel((String) value); + } else if (property == UimenuProperty.MNEMONIC) { + setMnemonic((String) value); + } else if (property == UimenuProperty.SEPARATOR) { + setSeparator((Boolean) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * Get the menu checked status + * @return the status + */ + public Boolean getChecked() { + return this.checked; + } + + /** + * Set the menu checked status + * @param checked the status + */ + public UpdateStatus setChecked(Boolean checked) { + this.checked = checked; + return UpdateStatus.Success; + } + + /** + * Get the menu enable status + * @return the status + */ + public Boolean getEnable() { + return this.enable; + } + + /** + * Set the menu enable status + * @param enable the status + */ + public UpdateStatus setEnable(Boolean enable) { + this.enable = enable; + return UpdateStatus.Success; + } + + /** + * Get the menu Foreground Color + * @return the RGB color + */ + public Double[] getForegroundColor() { + return this.foregroundColor; + } + + /** + * Set the menu Foreground Color + * @param colors the RGB color + */ + public UpdateStatus setForegroundColor(Double[] colors) { + this.foregroundColor = colors; + return UpdateStatus.Success; + } + + /** + * Get the menu icon + * @return the icon + */ + public String getIcon() { + return this.icon; + } + + /** + * Set the menu icon + * @param icon the icon + */ + public UpdateStatus setIcon(String icon) { + this.icon = icon; + return UpdateStatus.Success; + } + + /** + * Get the menu label + * @return the label + */ + public String getLabel() { + return this.label; + } + + /** + * Set the menu label + * @param label the label + */ + public UpdateStatus setLabel(String label) { + this.label = label; + return UpdateStatus.Success; + } + + /** + * Get the menu mnemonic + * @return the mnemonic + */ + public String getMnemonic() { + return this.mnemonic; + } + + /** + * Set the menu mnemonic + * @param mnemonic the mnemonic + */ + public UpdateStatus setMnemonic(String mnemonic) { + this.mnemonic = mnemonic; + return UpdateStatus.Success; + } + + /** + * Get the menu accelerator + * @return the accelerator + */ + public String getAccelerator() { + return this.accelerator; + } + + /** + * Set the menu accelerator + * @param accelerator the accelerator + */ + public UpdateStatus setAccelerator(String accelerator) { + this.accelerator = accelerator; + return UpdateStatus.Success; + } + + /** + * Get the menu separator mode + * @return the separator mode + */ + public Boolean getSeparator() { + return this.separator; + } + + /** + * Set the menu separator mode + * @param separator the separator mode + */ + public UpdateStatus setSeparator(Boolean separator) { + this.separator = separator; + return UpdateStatus.Success; + } + + @Override + public Uimenu clone() { + Uimenu copy = (Uimenu) super.clone(); + copy.setValid(true); + return copy; + } + + /** + * Accept method + * @param visitor the visitor + * @see org.scilab.modules.graphic_objects.graphicObject.GraphicObject#accept(org.scilab.modules.graphic_objects.graphicObject.Visitor) + */ + public void accept(Visitor visitor) { + + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/utils/LayoutType.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/utils/LayoutType.java new file mode 100755 index 000000000..c9e78afbd --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/utils/LayoutType.java @@ -0,0 +1,68 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.utils; + + +public enum LayoutType { + NONE, GRIDBAG, GRID, BORDER; + + public static LayoutType intToEnum(Integer value) { + switch (value) { + default: + case 0: + return NONE; + case 1: + return GRIDBAG; + case 2: + return GRID; + case 3: + return BORDER; + } + } + + public static LayoutType stringToEnum(String value) { + + if (value == null || value.equals("")) { + return NONE; + } + + char[] chars = value.toCharArray(); + if (chars[0] == 'g' || chars[0] == 'G') { + if (value.equalsIgnoreCase("grid")) { + return GRID; + } else if (value.equalsIgnoreCase("gridbag")) { + return GRIDBAG; + } + } + + if (chars[0] == 'b' || chars[0] == 'B') { + return BORDER; + } + + return NONE; + } + + public static String enumToString(LayoutType value) { + switch (value) { + default: + case NONE: + return "none"; + case GRIDBAG: + return "gridbag"; + case GRID: + return "grid"; + case BORDER: + return "border"; + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/utils/MenuBarBuilder.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/utils/MenuBarBuilder.java new file mode 100755 index 000000000..fbbc86064 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/utils/MenuBarBuilder.java @@ -0,0 +1,433 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent Couvert + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.utils; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CALLBACKTYPE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CALLBACK__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_HIDDEN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_ACCELERATOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_ENABLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_ICON__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LABEL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_MNEMONIC__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SEPARATOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UIMENU__; + +import java.io.File; +import java.io.IOException; +import java.lang.reflect.InvocationHandler; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Proxy; +import java.util.Collection; +import java.util.TreeSet; + +import javax.xml.parsers.ParserConfigurationException; + +import org.scilab.modules.commons.OS; +import org.scilab.modules.commons.ScilabConstants; +import org.scilab.modules.commons.xml.ScilabDocumentBuilderFactory; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.CallBack; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.Type; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.localization.Messages; +import org.w3c.dom.Document; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; +import org.xml.sax.SAXException; + + +/** + * Create a menuBar from an XML file + * @author Vincent COUVERT + */ +public final class MenuBarBuilder { + + private static final String MAINMENUBARXMLFILE = ScilabConstants.SCI + "/modules/gui/etc/main_menubar.xml"; + private static final String GRAPHICSMENUBARXMLFILE = ScilabConstants.SCI + "/modules/gui/etc/graphics_menubar.xml"; + + private static final String FILE_NOT_FOUND = "Could not find file: "; + + private static final String CANNOT_CREATE_MENUBAR = "Cannot create MenuBar.\n" + + "Check if file *_menubar.xml is available and valid."; + + private static boolean isParentValid = true;; + + /** + * Default constructor + */ + private MenuBarBuilder() { + throw new UnsupportedOperationException(); + } + + /** + * Create a proxy to access a XML file + * @param resultClass class for the return value + * @param fileToLoad XML file to load + * @return a proxy used to read the XML file + * @throws SAXException can be thrown when an error occurs while reading the file + * @throws IOException can be thrown when an error occurs while accessing the file + * @throws ParserConfigurationException can be thrown when an error occurs while parsing the file + */ + public static Object buildMenuBar(Class[] resultClass, String fileToLoad) throws SAXException, IOException, ParserConfigurationException { + + InvocationHandler invocationHandler = new MenuBarConfigurationHandler(fileToLoad); + + return Proxy.newProxyInstance(invocationHandler.getClass().getClassLoader(), resultClass, invocationHandler); + } + + /** + * Create console menubar from data in a XML file + * @param consoleId the console + */ + public static void buildConsoleMenuBar(Integer consoleId) { + buildMenuBar(MAINMENUBARXMLFILE, consoleId); + } + + /** + * Create graphic figure menubar from data in a XML file + * @param figureId the figure + */ + public static void buildFigureMenuBar(Integer figureId) { + boolean isheadless = false; + + try { + Class clazz = ClassLoader.getSystemClassLoader().loadClass("org.scilab.modules.gui.SwingView"); + Method meth = clazz.getMethod("isHeadless"); + isheadless = (Boolean) meth.invoke(null); + } catch (Exception e) { + System.err.println(e); + } + + if (!isheadless) { + MenuBarBuilder.isParentValid = false; + buildMenuBar(GRAPHICSMENUBARXMLFILE, figureId); + } + } + + /** + * Create children used in the menubar from data in a XML file + * @param fileToLoad XML file to load + * @param parentId the menubar parent + */ + public static void buildMenuBar(String fileToLoad, Integer parentId) { + + try { + MenuBarConfiguration menuBarConfig = + (MenuBarConfiguration) buildMenuBar(new Class[] {MenuBarConfiguration.class}, fileToLoad); + menuBarConfig.addMenus(parentId); + } catch (IllegalArgumentException e) { + System.err.println(CANNOT_CREATE_MENUBAR); + System.err.println(FILE_NOT_FOUND + e.getLocalizedMessage()); + } catch (SAXException e) { + System.err.println(CANNOT_CREATE_MENUBAR); + System.err.println(FILE_NOT_FOUND + e.getLocalizedMessage()); + } catch (IOException e) { + System.err.println(CANNOT_CREATE_MENUBAR); + System.err.println(FILE_NOT_FOUND + e.getLocalizedMessage()); + } catch (ParserConfigurationException e) { + System.err.println(CANNOT_CREATE_MENUBAR); + System.err.println(FILE_NOT_FOUND + e.getLocalizedMessage()); + } + } + + /** + * Class used to read the XMl file + */ + private static class MenuBarConfigurationHandler implements InvocationHandler { + protected static final String LABEL = "label"; + protected static final String MENU = "menu"; + protected static final String MNEMONIC = "mnemonic"; + protected static final String SUBMENU = "submenu"; + protected static final String SEPARATOR = "separator"; + protected static final String ENABLED = "enabled"; + protected static final String ACCELERATOR = "accelerator"; + protected static final String CALLBACK = "callback"; + protected static final String TYPE = "type"; + protected static final String INSTRUCTION = "instruction"; + protected static final String TRUE = "true"; + protected static final String ICON = "icon"; + protected static final String MACOSX = "macosx"; + + private Document dom; + private Collection<String> internalMethodNames; + + + /** + * Constructor + * @param xmlFile XML file to load + * @throws SAXException can be thrown when an error occurs while reading the file + * @throws IOException can be thrown when an error occurs while accessing the file + * @throws ParserConfigurationException can be thrown when an error occurs while parsing the file + */ + public MenuBarConfigurationHandler(String xmlFile) throws SAXException, IOException, ParserConfigurationException { + + if (!new File(xmlFile).exists()) { + throw new java.io.IOException(); + } + + // Build dictionary for internal method + internalMethodNames = new TreeSet<String>(); + Method[] internalMethodes = this.getClass().getMethods(); + for (Method method : internalMethodes) { + internalMethodNames.add(method.getName()); + } + + // Build xml document for request + dom = ScilabDocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(xmlFile)); + } + + /** + * Invoke a proxy to get data + * @param proxy the proxy to call + * @param method the method to call + * @param args the arguments for the method + * @return the object read + * @throws IllegalAccessException thrown when the method called is inaccessible + * @throws InvocationTargetException thorwn when the method called threw an exception + * @throws NoSuchMethodException thrown when invoking a non-existing method + * @see java.lang.reflect.InvocationHandler#invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]) + */ + public Object invoke(Object proxy, Method method, Object[] args) + throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { + if (internalMethodNames.contains(method.getName())) { + return getClass().getMethod(method.getName(), method.getParameterTypes()).invoke(this, args); + } else { + return null; + } + } + + /** + * Add menus to a menubar using Scilab MVC + * @param parentId the tab ID to which the menus will be added to + * @see org.scilab.modules.MenuBarConfiguration.utils.MenuBarConfiguration#addMenus(org.scilab.modules.gui.menubar.MenuBar) + */ + public void addMenus(Integer parentId) { + + // delete old menus + for (Integer childId : (Integer []) GraphicController.getController().getProperty(parentId, GraphicObjectProperties.__GO_CHILDREN__)) { + if (GraphicController.getController().getProperty(childId, GraphicObjectProperties.__GO_TYPE__).equals(__GO_UIMENU__)) { + GraphicController.getController().removeRelationShipAndDelete(childId); + } + } + + NodeList menus = dom.getElementsByTagName(MENU); + + for (int i = 0; i < menus.getLength(); i++) { + // Create the menu + Integer menuId = null; + if (isParentValid) { + menuId = GraphicController.getController().askObject(Type.UIMENU); + } else { + menuId = GraphicController.getController().askObject(Type.UIMENUMODEL); + } + + // The menu is not visible in Scilab view by default + GraphicController.getController().setProperty(menuId, __GO_HIDDEN__, true); + + // Set the label + String menuLabel = Messages.gettext(menus.item(i).getAttributes().getNamedItem(LABEL).getNodeValue()); + GraphicController.getController().setProperty(menuId, __GO_UI_LABEL__, menuLabel); + + // Set the mnemonic if given + if (menus.item(i).getAttributes().getNamedItem(MNEMONIC) != null) { + String mnemonicString = menus.item(i).getAttributes().getNamedItem(MNEMONIC).getNodeValue(); + GraphicController.getController().setProperty(menuId, __GO_UI_MNEMONIC__, mnemonicString); + } + + // Set the icon if given + if (menus.item(i).getAttributes().getNamedItem(ICON) != null) { + String iconName = menus.item(i).getNodeValue(); + GraphicController.getController().setProperty(menuId, __GO_UI_ICON__, iconName); + } + + // Set the enable status if given + if (menus.item(i).getAttributes().getNamedItem(ENABLED) != null) { + boolean enabled = menus.item(i).getAttributes().getNamedItem(ENABLED).getNodeValue().equals(TRUE); + GraphicController.getController().setProperty(menuId, __GO_UI_ENABLE__, enabled); + } + // Set the menu parent + GraphicController.getController().setGraphicObjectRelationship(parentId, menuId); + addSubMenus(menuId, i); + } + } + + /** + * Read submenus data in the XML file and create them using Scilab MVC + * @param parentMenuId the parent menu UID for submenus + * @param index the index of the parent in menu list + */ + public void addSubMenus(Integer parentMenuId, int index) { + Node submenu = dom.getElementsByTagName(MENU).item(index).getFirstChild(); + + boolean separator = false; + boolean macosx = true; + + while (submenu != null) { + if (submenu.getNodeName() == SEPARATOR) { + // Add a separator + separator = true; + } else if (submenu.getNodeName() == SUBMENU) { + // Create the menu + Integer menuId = null; + if (isParentValid) { + menuId = GraphicController.getController().askObject(Type.UIMENU); + } else { + menuId = GraphicController.getController().askObject(Type.UIMENUMODEL); + } + + // The menu is not visible in Scilab view by default + GraphicController.getController().setProperty(menuId, __GO_HIDDEN__, true); + + // Set the menu parent + GraphicController.getController().setGraphicObjectRelationship(parentMenuId, menuId); + + // First we have to read its attributes + NamedNodeMap attributes = submenu.getAttributes(); + + for (int i = 0; i < attributes.getLength(); i++) { + if (attributes.item(i).getNodeName() == LABEL) { + // Set the label + String menuLabel = Messages.gettext(attributes.item(i).getNodeValue()); + GraphicController.getController().setProperty(menuId, __GO_UI_LABEL__, menuLabel); + } else if (attributes.item(i).getNodeName() == MNEMONIC) { + // Set the mnemonic + String mnemonicString = attributes.item(i).getNodeValue(); + GraphicController.getController().setProperty(menuId, __GO_UI_MNEMONIC__, mnemonicString); + } else if (attributes.item(i).getNodeName() == ENABLED) { + // Set the enable status + boolean enabled = attributes.item(i).getNodeValue().equals(TRUE); + GraphicController.getController().setProperty(menuId, __GO_UI_ENABLE__, enabled); + } else if (attributes.item(i).getNodeName() == ICON) { + // Set the icon + String iconName = attributes.item(i).getNodeValue(); + GraphicController.getController().setProperty(menuId, __GO_UI_ICON__, iconName); + } else if (attributes.item(i).getNodeName() == ACCELERATOR) { + // Set the accelerator + String acceleratorString = attributes.item(i).getNodeValue(); + GraphicController.getController().setProperty(menuId, __GO_UI_ACCELERATOR__, acceleratorString); + } else if (attributes.item(i).getNodeName() == MACOSX) { + macosx = attributes.item(i).getNodeValue().equals(TRUE); + if (!macosx && OS.get() == OS.MAC) { + GraphicController.getController().removeRelationShipAndDelete(menuId); + separator = false; + } + } + } + + // Then we get its callback (if exists) + Node callback = submenu.getFirstChild(); + while (callback != null) { + if (callback.getNodeName() == CALLBACK) { + NamedNodeMap cbAttributes = callback.getAttributes(); + String command = null; + int commandType = CallBack.UNTYPED; + for (int j = 0; j < cbAttributes.getLength(); j++) { + if (cbAttributes.item(j).getNodeName() == INSTRUCTION) { + command = cbAttributes.item(j).getNodeValue(); + } else if (cbAttributes.item(j).getNodeName() == TYPE) { + commandType = Integer.parseInt(cbAttributes.item(j).getNodeValue()); + } + } + if (command != null && commandType != CallBack.UNTYPED) { + GraphicController.getController().setProperty(menuId, __GO_CALLBACK__, command); + GraphicController.getController().setProperty(menuId, __GO_CALLBACKTYPE__, commandType); + } + } else if (callback.getNodeName() == SUBMENU) { + addSubMenuItem(menuId, callback); + } + // Read next child + callback = callback.getNextSibling(); + } + // Manage separators + if (separator) { + GraphicController.getController().setProperty(menuId, __GO_UI_SEPARATOR__, true); + separator = false; + } + } + // Read next child + submenu = submenu.getNextSibling(); + } + } + + /** + * Add submenu for menu + * @param parentMenuItemId object with this id will become a menu with subMenuItems + * @param node to get attributs of the menu + */ + public void addSubMenuItem(Integer parentMenuItemId, Node node) { + + NamedNodeMap attributes = node.getAttributes(); + + // Create the menu + Integer subMenuItemId = null; + if (isParentValid) { + subMenuItemId = GraphicController.getController().askObject(Type.UIMENU); + } else { + subMenuItemId = GraphicController.getController().askObject(Type.UIMENUMODEL); + } + + // The menu is not visible in Scilab view by default + GraphicController.getController().setProperty(subMenuItemId, __GO_HIDDEN__, true); + + // Set the menu parent + GraphicController.getController().setGraphicObjectRelationship(parentMenuItemId, subMenuItemId); + + for (int i = 0; i < attributes.getLength(); i++) { + if (attributes.item(i).getNodeName() == LABEL) { + // Set the label + String menuLabel = Messages.gettext(attributes.item(i).getNodeValue()); + GraphicController.getController().setProperty(subMenuItemId, __GO_UI_LABEL__, menuLabel); + } else if (attributes.item(i).getNodeName() == MNEMONIC) { + // Set the mnemonic + String mnemonicString = attributes.item(i).getNodeValue(); + GraphicController.getController().setProperty(subMenuItemId, __GO_UI_MNEMONIC__, mnemonicString); + } else if (attributes.item(i).getNodeName() == ICON) { + String iconName = attributes.item(i).getNodeValue(); + GraphicController.getController().setProperty(subMenuItemId, __GO_UI_ICON__, iconName); + } else if (attributes.item(i).getNodeName() == ENABLED) { + // Set the enable status + boolean enabled = attributes.item(i).getNodeValue().equals(TRUE); + GraphicController.getController().setProperty(subMenuItemId, __GO_UI_ENABLE__, enabled); + } + } + + // Then we get its callback (if exists) + Node callback = node.getFirstChild(); + while (callback != null) { + if (callback.getNodeName() == CALLBACK) { + NamedNodeMap cbAttributes = callback.getAttributes(); + String command = null; + int commandType = CallBack.UNTYPED; + for (int j = 0; j < cbAttributes.getLength(); j++) { + if (cbAttributes.item(j).getNodeName() == INSTRUCTION) { + command = cbAttributes.item(j).getNodeValue(); + } else if (cbAttributes.item(j).getNodeName() == TYPE) { + commandType = Integer.parseInt(cbAttributes.item(j).getNodeValue()); + } + } + if (command != null && commandType != CallBack.UNTYPED) { + GraphicController.getController().setProperty(subMenuItemId, __GO_CALLBACK__, command); + GraphicController.getController().setProperty(subMenuItemId, __GO_CALLBACKTYPE__, commandType); + } + } else if (callback.getNodeName() == SUBMENU) { + addSubMenuItem(subMenuItemId, callback); + } + // Read next child + callback = callback.getNextSibling(); + } + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/utils/MenuBarConfiguration.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/utils/MenuBarConfiguration.java new file mode 100755 index 000000000..b4a369975 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/utils/MenuBarConfiguration.java @@ -0,0 +1,34 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Vincent Couvert + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.utils; + +/** + * Scilab menubar configuration + * All methods needed to create a menubar + * @author Vincent COUVERT + */ +public interface MenuBarConfiguration { + + /** + * Add menus to a menubar + * @param parentId the parent figure UID + */ + void addMenus(Integer parentId); + + /** + * Read submenus data in the XML file + * @param parentId the parent figure UID + * @param index the index of the parent in menu list + */ + void addSubMenus(Integer parentId, int index); +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/utils/Utils.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/utils/Utils.java new file mode 100755 index 000000000..cd98977a0 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/utils/Utils.java @@ -0,0 +1,93 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.utils; + +/** + * Class Utils + * A set of static methods used to determine the validity of points or values. + * @author Manuel JULIACHS + */ +public class Utils { + + /** + * Tests whether a scalar value is valid. + * The value is valid if it is neither infinite nor a NaN. + * @param the scalar value to test. + * @return true if the value is valid, false if it is not. + */ + public static boolean isValid(double x) { + if (Double.isNaN(x) || Double.isInfinite(x)) { + return false; + } else { + return true; + } + } + + /** + * Tests whether a point is valid. + * The point is valid if none of its coordinates is infinite or a NaN. + * @param the point's x-coordinate. + * @param the point's y-coordinate. + * @param the point's z-coordinate. + * @return true if the point is valid, false if it is not. + */ + public static boolean isValid(double x, double y, double z) { + if (Double.isNaN(x) || Double.isNaN(y) || Double.isNaN(z) || Double.isInfinite(x) || Double.isInfinite(y) || Double.isInfinite(z)) { + return false; + } else { + return true; + } + } + + /** + * Determines if a single-component point is valid in logarithmic scale. + * @param x the point's coordinate. + * @return true if the point is valid, false if it is not. + */ + public static boolean isLogValid(double x) { + if (x > 0.0) { + return true; + } else { + return false; + } + } + + /** + * Determines if a point is valid in logarithmic scale. + * It checks whether any of its coordinates is strictly less than 0 (if the + * logarithmic scale applies). In the event of the former, the point is + * determined as not valid. + * @param the point's x-coordinate. + * @param the point's y-coordinate. + * @param the point's z-coordinate. + * @param the bit mask specifying for which coordinates the logarithmic scale is used. + * @return true if the point is valid, false if it is not. + */ + public static boolean isLogValid(double x, double y, double z, int logMask) { + boolean valid = true; + + if ((logMask & 0x1) != 0) { + valid = valid && (x > 0.0); + } + + if ((logMask & 0x2) != 0) { + valid = valid && (y > 0.0); + } + + if ((logMask & 0x4) != 0) { + valid = valid && (z > 0.0); + } + + return valid; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/Arrow.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/Arrow.java new file mode 100755 index 000000000..eb7254819 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/Arrow.java @@ -0,0 +1,185 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.vectfield; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ARROW_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BASE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DIRECTION__; + +import org.scilab.modules.graphic_objects.contouredObject.ContouredObject; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + + +/** + * Arrow class + * @author Manuel JULIACHS + */ +public class Arrow extends ContouredObject { + /** Arrow properties names */ + public enum ArrowProperty { BASE, BASEX, BASEY, BASEZ, DIRECTION, DIRECTIONX, DIRECTIONY, DIRECTIONZ, ARROWSIZE }; + + /** Arrow base (x,y,z) coordinates */ + private double[] base; + + /** Arrow vector (x,y,z) coordinates */ + private double[] direction; + + /** Arrow size */ + private double arrowSize; + + /** Constructor */ + public Arrow() { + super(); + base = new double[] {0.0, 0.0, 0.0}; + direction = new double[] {0.0, 0.0, 0.0}; + arrowSize = -1.0; + } + + /** Clone method */ + public Arrow clone() { + Arrow copy = (Arrow) super.clone(); + + copy.base = new double[] {0.0, 0.0, 0.0}; + copy.direction = new double[] {0.0, 0.0, 0.0}; + + return copy; + } + + + @Override + public void accept(Visitor visitor) { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_BASE__ : + return ArrowProperty.BASE; + case __GO_DIRECTION__ : + return ArrowProperty.DIRECTION; + case __GO_ARROW_SIZE__ : + return ArrowProperty.ARROWSIZE; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == ArrowProperty.BASE) { + return getBase(); + } else if (property == ArrowProperty.DIRECTION) { + return getDirection(); + } else if (property == ArrowProperty.ARROWSIZE) { + return getArrowSize(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == ArrowProperty.BASE) { + setBase((Double[]) value); + } else if (property == ArrowProperty.DIRECTION) { + setDirection((Double[]) value); + } else if (property == ArrowProperty.ARROWSIZE) { + setArrowSize((Double) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the arrowSize + */ + public Double getArrowSize() { + return arrowSize; + } + + /** + * @param arrowSize the arrowSize to set + */ + public UpdateStatus setArrowSize(Double arrowSize) { + this.arrowSize = arrowSize; + return UpdateStatus.Success; + } + + /** + * @return the base + */ + public Double[] getBase() { + Double[] retBase = new Double[3]; + + retBase[0] = base[0]; + retBase[1] = base[1]; + retBase[2] = base[2]; + + return retBase; + } + + /** + * @param base the base to set + */ + public UpdateStatus setBase(Double[] base) { + this.base[0] = base[0]; + this.base[1] = base[1]; + this.base[2] = base[2]; + return UpdateStatus.Success; + } + + /** + * @return the direction + */ + public Double[] getDirection() { + Double[] retDirection = new Double[3]; + + retDirection[0] = direction[0]; + retDirection[1] = direction[1]; + retDirection[2] = direction[2]; + + return retDirection; + } + + /** + * @param direction the direction to set + */ + public UpdateStatus setDirection(Double[] direction) { + this.direction[0] = direction[0]; + this.direction[1] = direction[1]; + this.direction[2] = direction[2]; + return UpdateStatus.Success; + } + + public Integer getType() { + return -1; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/Champ.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/Champ.java new file mode 100755 index 000000000..237ff6859 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/Champ.java @@ -0,0 +1,480 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2012 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.vectfield; + +import org.scilab.modules.graphic_objects.ObjectRemovedException; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; +import org.scilab.modules.graphic_objects.utils.Utils; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Champ class + * Stores the arrows in row-major order, all the arrows of + * row j having the same y-coordinate. + * @author Manuel JULIACHS + */ +public class Champ extends VectField { + /** Champ properties names */ + private enum ChampProperty { DIMENSIONS, COLORED, BOUNDINGBOX, MAXLENGTH, MAXUSABLELENGTH }; + + /** Dimensions: 2-element array (number of columns Ni, number of rows Nj) */ + private int[] dimensions; + + /** Specifies whether vectors are colored or not */ + private boolean colored; + + /** Constructor */ + public Champ() { + super(); + colored = false; + dimensions = new int[2]; + dimensions[0] = 0; + dimensions[1] = 0; + } + + @Override + public void accept(Visitor visitor) throws ObjectRemovedException { + visitor.visit(this); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_CHAMP_DIMENSIONS__ : + return ChampProperty.DIMENSIONS; + case __GO_BASE_X__ : + return Arrow.ArrowProperty.BASEX; + case __GO_BASE_Y__ : + return Arrow.ArrowProperty.BASEY; + case __GO_COLORED__ : + return ChampProperty.COLORED; + case __GO_BOUNDING_BOX__ : + return ChampProperty.BOUNDINGBOX; + case __GO_MAX_LENGTH__ : + return ChampProperty.MAXLENGTH; + case __GO_MAX_USABLE_LENGTH__ : + return ChampProperty.MAXUSABLELENGTH; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == ChampProperty.DIMENSIONS) { + return getDimensions(); + } else if (property == Arrow.ArrowProperty.BASEX) { + return getBaseX(); + } else if (property == Arrow.ArrowProperty.BASEY) { + return getBaseY(); + } else if (property == ChampProperty.COLORED) { + return getColored(); + } else if (property == ChampProperty.BOUNDINGBOX) { + return getBoundingBox(); + } else if (property == ChampProperty.MAXLENGTH) { + return getMaxLength(); + } else if (property == ChampProperty.MAXUSABLELENGTH) { + return getMaxUsableLength(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == ChampProperty.DIMENSIONS) { + setDimensions((Integer[]) value); + } else if (property == Arrow.ArrowProperty.BASEX) { + setBaseX((Double[]) value); + } else if (property == Arrow.ArrowProperty.BASEY) { + setBaseY((Double[]) value); + } else if (property == ChampProperty.COLORED) { + setColored((Boolean) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the field's dimensions + */ + public Integer[] getDimensions() { + Integer[] retDimensions = new Integer[2]; + retDimensions[0] = dimensions[0]; + retDimensions[1] = dimensions[1]; + + return retDimensions; + } + + /** + * @param dimensions the field dimensions to set + */ + public UpdateStatus setDimensions(Integer[] dimensions) { + this.dimensions[0] = dimensions[0]; + this.dimensions[1] = dimensions[1]; + return UpdateStatus.Success; + } + + /** + * Returns the arrow bases y coordinates (Ni-element array) + * @return the arrow bases x coordinates + */ + public Double[] getBaseX() { + Double[] retArrowBaseX; + + retArrowBaseX = new Double[dimensions[0]]; + + for (int i = 0; i < dimensions[0]; i++) { + Double[] base = getArrow(i, 0).getBase(); + retArrowBaseX[i] = base[0]; + } + + return retArrowBaseX; + } + + /** + * Sets the arrow bases x coordinates + * The arrows part of column i have the same base x-coordinate + * @param baseX the array of x coordinates (Ni elements) + */ + public UpdateStatus setBaseX(Double[] baseX) { + for (int j = 0; j < dimensions[1]; j++) { + for (int i = 0; i < dimensions[0]; i++) { + Double[] base = getArrow(i, j).getBase(); + + base[0] = baseX[i]; + getArrow(i, j).setBase(base); + } + } + return UpdateStatus.Success; + } + + /** + * Returns the arrow bases y coordinates (Nj-element array) + * @return the arrow bases y coordinates + */ + public Double[] getBaseY() { + Double[] retArrowBaseY; + + retArrowBaseY = new Double[dimensions[1]]; + + for (int j = 0; j < dimensions[1]; j++) { + Double[] base = getArrow(0, j).getBase(); + retArrowBaseY[j] = base[1]; + } + + return retArrowBaseY; + } + + /** + * Sets the arrow bases y coordinates + * The arrows part of row j have the same base y-coordinate + * @param baseY the array of y coordinates (Nj elements) + */ + public UpdateStatus setBaseY(Double[] baseY) { + for (int j = 0; j < dimensions[1]; j++) { + for (int i = 0; i < dimensions[0]; i++) { + Double[] base = getArrow(i, j).getBase(); + + base[1] = baseY[j]; + getArrow(i, j).setBase(base); + } + } + return UpdateStatus.Success; + } + + + + /** + * @return the colored + */ + public Boolean getColored() { + return colored; + } + + /** + * @param colored the colored to set + */ + public UpdateStatus setColored(Boolean colored) { + this.colored = colored; + return UpdateStatus.Success; + } + + /** + * Returns the champ's bounding box, which is required by + * its builder function. + * @return the bounding box [xmin, xmax, ymin, ymax, zmin, zmax] + */ + public Double[] getBoundingBox() { + Double[] retBoundingBox; + + retBoundingBox = computeBoundingBox(); + + return retBoundingBox; + } + + /** + * Returns the champ's maximum vector length + * @return the maximum length + */ + public Double getMaxLength() { + Double retMaxLength; + + retMaxLength = computeMaxLength(); + + return retMaxLength; + } + + /** + * Returns the champ's maximum usable vector length + * @return the maximum usable length + */ + public Double getMaxUsableLength() { + Double retMaxUsableLength; + + retMaxUsableLength = computeMaxUsableLength(); + + return retMaxUsableLength; + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_CHAMP__; + } + + /** + * Computes the bounding box, which is required by the Champ + * builder function. + * @return the computed bounding box [xmin, xmax, ymin, ymax, zmin, zmax] + */ + private Double[] computeBoundingBox() { + double maxLength = 0.0; + double maxUsableLength = 0.0; + + double[] min = new double[3]; + double[] max = new double[3]; + double[] tmp = new double[3]; + + double[] base = new double[3]; + double[] direction = new double[3]; + + Double[] boundingBox = new Double[6]; + + if (colored == false) { + maxLength = computeMaxLength(); + } + + maxUsableLength = computeMaxUsableLength(); + + /* Compute the bounding box points using the previously computed lengths */ + + base[0] = arrows.get(0).getBase()[0]; + base[1] = arrows.get(0).getBase()[1]; + base[2] = arrows.get(0).getBase()[2]; + + direction[0] = arrows.get(0).getDirection()[0]; + direction[1] = arrows.get(0).getDirection()[1]; + direction[2] = arrows.get(0).getDirection()[2]; + + if (colored == true) { + maxLength = Math.sqrt(direction[0] * direction[0] + direction[1] * direction[1] + direction[2] * direction[2]); + + if (maxLength <= Double.MIN_VALUE) { + maxLength = 1.0; + } + } + + direction[0] = base[0] + direction[0] * maxUsableLength / maxLength; + direction[1] = base[1] + direction[1] * maxUsableLength / maxLength; + direction[2] = base[2] + direction[2] * maxUsableLength / maxLength; + + computeMin(min, base, direction); + computeMax(max, base, direction); + + for (int i = 1; i < arrows.size(); i++) { + base[0] = arrows.get(i).getBase()[0]; + base[1] = arrows.get(i).getBase()[1]; + base[2] = arrows.get(i).getBase()[2]; + + direction[0] = arrows.get(i).getDirection()[0]; + direction[1] = arrows.get(i).getDirection()[1]; + direction[2] = arrows.get(i).getDirection()[2]; + + if (colored == true) { + maxLength = Math.sqrt(direction[0] * direction[0] + direction[1] * direction[1] + direction[2] * direction[2]); + + if (maxLength <= Double.MIN_VALUE) { + maxLength = 1.0; + } + } + + direction[0] = base[0] + direction[0] * maxUsableLength / maxLength; + direction[1] = base[1] + direction[1] * maxUsableLength / maxLength; + direction[2] = base[2] + direction[2] * maxUsableLength / maxLength; + + computeMin(tmp, min, direction); + computeMin(min, tmp, base); + + computeMax(tmp, max, direction); + computeMax(max, tmp, base); + } + + boundingBox[0] = min[0]; + boundingBox[1] = max[0]; + boundingBox[2] = min[1]; + boundingBox[3] = max[1]; + boundingBox[4] = min[2]; + boundingBox[5] = max[2]; + + return boundingBox; + } + + /** + * Computes the maximum usable length + * @return the maximum usable length + */ + private double computeMaxUsableLength() { + double minX; + double minY; + + /* + * Determines the minimum distance between two consecutive abscissas + * Only the first row needs to be examined + */ + if (dimensions[0] < 2) { + minX = 1.0; + } else { + minX = Double.MAX_VALUE; + + for (int i = 0; i < dimensions[0] - 1; i++) { + double length = Math.abs(getArrow(i + 1, 0).getBase()[0] - getArrow(i, 0).getBase()[0]); + + if (Utils.isValid(length)) { + if (length < minX) { + minX = length; + } + } + } + + } + + /* + * Determines the minimum distance between two consecutive ordinates + * Only the first column needs to be examined + */ + if (dimensions[1] < 2) { + minY = 1.0; + } else { + minY = Double.MAX_VALUE; + + for (int j = 0; j < dimensions[1] - 1; j++) { + double length = Math.abs(getArrow(0, j + 1).getBase()[1] - getArrow(0, j).getBase()[1]); + + if (Utils.isValid(length)) { + if (length < minY) { + minY = length; + } + } + } + + } + + return Math.min(minX, minY); + } + + /** + * Computes the maximum arrow length + * @return the maximum arrow length + */ + private double computeMaxLength() { + double length; + double maxLength; + double[] direction = new double[3]; + + direction[0] = arrows.get(0).getDirection()[0]; + direction[1] = arrows.get(0).getDirection()[1]; + direction[2] = arrows.get(0).getDirection()[2]; + + maxLength = direction[0] * direction[0] + direction[1] * direction[1] + direction[2] * direction[2]; + + for (int i = 1; i < arrows.size(); i++) { + direction[0] = arrows.get(i).getDirection()[0]; + direction[1] = arrows.get(i).getDirection()[1]; + direction[2] = arrows.get(i).getDirection()[2]; + + length = direction[0] * direction[0] + direction[1] * direction[1] + direction[2] * direction[2]; + + if (length > maxLength) { + maxLength = length; + } + } + + maxLength = Math.sqrt(maxLength); + + return maxLength; + } + + /** + * Computes the component-wise minimum of two 3-element arrays + * @param result the component-wise minimum (3-element array) + * @param first the first 3-element array + * @param second the second 3-element array + */ + private void computeMin(double[] result, double[] first, double[] second) { + result[0] = Math.min(first[0], second[0]); + result[1] = Math.min(first[1], second[1]); + result[2] = Math.min(first[2], second[2]); + } + + /** + * Computes the component-wise maximum of two 3-element arrays + * @param result the component-wise maximum (3-element array) + * @param first the first 3-element array + * @param second the second 3-element array + */ + private void computeMax(double[] result, double[] first, double[] second) { + result[0] = Math.max(first[0], second[0]); + result[1] = Math.max(first[1], second[1]); + result[2] = Math.max(first[2], second[2]); + } + + /** + * Returns the arrow specified by a pair of indices + * @param firstDimIndex the first dimension index + * @param secondDimIndex the second dimension index + * @return the Arrow + */ + private Arrow getArrow(int firstDimIndex, int secondDimIndex) { + return arrows.get(dimensions[0] * secondDimIndex + firstDimIndex); + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/ChampDecomposer.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/ChampDecomposer.java new file mode 100755 index 000000000..9185e9689 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/ChampDecomposer.java @@ -0,0 +1,448 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.vectfield; + +import java.nio.FloatBuffer; +import java.nio.IntBuffer; +import org.scilab.modules.graphic_objects.figure.ColorMap; +import org.scilab.modules.graphic_objects.figure.Figure; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.utils.Utils; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Class ChampDecomposer + * A set of static methods decomposing a Champ object (vector field) into a set of line segments. + * It takes into account the additional buffer space needed for arrow tip vertices and colors, + * fills tip colors, and outputs their triangle indices. Arrow tip coordinates are, however, + * computed at drawing time as they are projection-dependent. + * @author Manuel JULIACHS + */ +public class ChampDecomposer extends VectFieldDecomposer { + + /** + * Returns the number of data elements for the given object. + * @param id the id of the given object. + * @return the number of data elements. + */ + public static int getDataSize(Integer id) { + int numberArrows = (Integer) GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + /* 2 vertices per segment plus 3 vertices for the arrow tip */ + return 5 * numberArrows; + } + + /** + * Fills the input buffer with vertex data from the given object. + * To do: optimize, as the test on colored's value is performed for each segment. + * @param buffer the buffer to fill. + * @param id the id of the given object. + * @param elementsSize the number of coordinates taken by one element in the buffer. + * @param coordinateMask the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param scale the conversion scale factor to apply to data. + * @param translation the conversion translation value to apply to data. + * @param logMask the bit mask specifying whether logarithmic coordinates are used. + */ + public static void fillVertices(FloatBuffer buffer, Integer id, int elementsSize, + int coordinateMask, double[] scale, double[] translation, int logMask) { + int bufferOffset = 0; + + /* The coordinates of a segment's base */ + double[] base; + + /* The coordinates of a segment's tip */ + double[] tip; + + base = new double[3]; + tip = new double[3]; + + /* The direction vector */ + double[] direction = new double[3]; + + GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + Double[] xBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_X__); + Double[] yBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_Y__); + Double[] zBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_Z__); + + Double[] xDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_X__); + Double[] yDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Y__); + Double[] zDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Z__); + + double maxLength = (Double) GraphicController.getController().getProperty(id, __GO_MAX_LENGTH__); + double maxUsableLength = (Double) GraphicController.getController().getProperty(id, __GO_MAX_USABLE_LENGTH__); + + boolean colored = (Boolean) GraphicController.getController().getProperty(id, __GO_COLORED__); + + if (maxLength <= Double.MIN_VALUE) { + maxLength = 1.0; + } + + for (int j = 0; j < yBase.length; j++) { + for (int i = 0; i < xBase.length; i++) { + base[0] = xBase[i]; + base[1] = yBase[j]; + base[2] = zBase[j * xBase.length + i]; + + direction[0] = xDirection[j * xBase.length + i]; + direction[1] = yDirection[j * xBase.length + i]; + direction[2] = zDirection[j * xBase.length + i]; + + /* Compute the segment tip */ + tip = computeSegmentTip(base, direction, colored, maxUsableLength, maxLength); + + /* Vertices are output in the following order: the segment's base and then its tip */ + if ((coordinateMask & 0x1) != 0) { + if ((logMask & 0x1) != 0) { + base[0] = Math.log10(base[0]); + tip[0] = Math.log10(tip[0]); + } + + base[0] = base[0] * scale[0] + translation[0]; + tip[0] = tip[0] * scale[0] + translation[0]; + + buffer.put(bufferOffset, (float) base[0]); + buffer.put(bufferOffset + elementsSize, (float) tip[0]); + } + + if ((coordinateMask & 0x2) != 0) { + if ((logMask & 0x2) != 0) { + base[1] = Math.log10(base[1]); + tip[1] = Math.log10(tip[1]); + } + + base[1] = base[1] * scale[1] + translation[1]; + tip[1] = tip[1] * scale[1] + translation[1]; + + buffer.put(bufferOffset + 1, (float) base[1]); + buffer.put(bufferOffset + elementsSize + 1, (float) tip[1]); + } + + if ((coordinateMask & 0x4) != 0) { + if ((logMask & 0x4) != 0) { + base[2] = Math.log10(base[2] + DEFAULT_LOG_COORD_Z); + tip[2] = Math.log10(tip[2] + DEFAULT_LOG_COORD_Z); + } + + base[2] = base[2] * scale[2] + translation[2]; + tip[2] = tip[2] * scale[2] + translation[2]; + + buffer.put(bufferOffset + 2, (float) base[2]); + buffer.put(bufferOffset + elementsSize + 2, (float) tip[2]); + } + + if (elementsSize == 4 && (coordinateMask & 0x8) != 0) { + buffer.put(bufferOffset + 3, 1.0f); + buffer.put(bufferOffset + elementsSize + 3, 1.0f); + } + + bufferOffset += 2 * elementsSize; + } + } + } + + /** + * Fills the given buffer with color data from the given object. + * @param buffer the buffer to fill. + * @param id the id of the given object. + * @param elementsSize the number of components taken by one element in the buffer (3 or 4). + */ + public static void fillColors(FloatBuffer buffer, Integer id, int elementsSize) { + int bufferOffset = 0; + + Integer parentFigureId = (Integer) GraphicController.getController().getProperty(id, __GO_PARENT_FIGURE__); + + /* To be sure that the object has a parent Figure, though it should not occur. */ + if (parentFigureId == 0) { + return; + } + + Figure parentFigure = (Figure) GraphicController.getController().getObjectFromId(parentFigureId); + ColorMap colorMap = parentFigure.getColorMap(); + int colorMapSize = colorMap.getSize(); + + GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + Double[] xBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_X__); + Double[] yBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_Y__); + GraphicController.getController().getProperty(id, __GO_BASE_Z__); + + Double[] xDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_X__); + Double[] yDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Y__); + Double[] zDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Z__); + + double maxLength = (Double) GraphicController.getController().getProperty(id, __GO_MAX_LENGTH__); + + boolean colored = (Boolean) GraphicController.getController().getProperty(id, __GO_COLORED__); + + if (!colored) { + return; + } + + if (maxLength <= Double.MIN_VALUE) { + maxLength = 1.0; + } + + GraphicController.getController().getProperty(id, __GO_ARROW_SIZE__); + + double[] direction = new double[3]; + + /* Colors are output in the same order as vertices: first the base's color and then the tip's */ + for (int j = 0; j < yBase.length; j++) { + for (int i = 0; i < xBase.length; i++) { + direction[0] = xDirection[j * xBase.length + i]; + direction[1] = yDirection[j * xBase.length + i]; + direction[2] = zDirection[j * xBase.length + i]; + + double norm = Math.sqrt(direction[0] * direction[0] + direction[1] * direction[1] + direction[2] * direction[2]); + + int colorIndex = (int) Math.floor((((double) colorMapSize - 1.0) * norm / maxLength) + 0.5); + + float[] color = colorMap.getScilabColor(colorIndex); + + writeSegmentColors(buffer, elementsSize, bufferOffset, color); + + bufferOffset += 2 * elementsSize; + } + } + + /* Arrow colors */ + for (int j = 0; j < yBase.length; j++) { + for (int i = 0; i < xBase.length; i++) { + direction[0] = xDirection[j * xBase.length + i]; + direction[1] = yDirection[j * xBase.length + i]; + direction[2] = zDirection[j * xBase.length + i]; + + double norm = Math.sqrt(direction[0] * direction[0] + direction[1] * direction[1] + direction[2] * direction[2]); + + int colorIndex = (int) Math.floor((((double) colorMapSize - 1.0) * norm / maxLength) + 0.5); + + float[] color = colorMap.getScilabColor(colorIndex); + + writeArrowColors(buffer, elementsSize, bufferOffset, color); + + bufferOffset += 3 * elementsSize; + } + } + + } + + /** + * Returns the number of triangle indices for the given object. + * Triangle indices correspond to arrow tips. + * @param id the id of the given object. + * @return the number of triangle indices. + */ + public static int getIndicesSize(Integer id) { + int numberArrows = (Integer) GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + /* 3 indices per arrow */ + return 3 * numberArrows; + } + + /** + * Fills the input buffer with triangle index data from the given object. + * Triangle indices are the indices of arrow tips. + * @param buffer the buffer to fill. + * @param id the id of the given object. + * @param logMask the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + public static int fillIndices(IntBuffer buffer, Integer id, int logMask) { + boolean valid; + int bufferOffset = 0; + int segmentOffset; + + int numberArrows = (Integer) GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + if (numberArrows == 0) { + return 0; + } + + segmentOffset = 2 * numberArrows; + + Double[] xBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_X__); + Double[] yBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_Y__); + Double[] zBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_Z__); + + Double[] xDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_X__); + Double[] yDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Y__); + Double[] zDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Z__); + + double maxLength = (Double) GraphicController.getController().getProperty(id, __GO_MAX_LENGTH__); + double maxUsableLength = (Double) GraphicController.getController().getProperty(id, __GO_MAX_USABLE_LENGTH__); + + boolean colored = (Boolean) GraphicController.getController().getProperty(id, __GO_COLORED__); + + /* The base and tip of a segment */ + double[] base = new double[3]; + double[] direction = new double[3]; + + for (int j = 0; j < yBase.length; j++) { + for (int i = 0; i < xBase.length; i++) { + int tipIndex = 3 * (xBase.length * j + i) + segmentOffset; + int leftIndex = tipIndex + 1; + int rightIndex = tipIndex + 2; + + base[0] = xBase[i]; + base[1] = yBase[j]; + base[2] = zBase[j * xBase.length + i]; + + direction[0] = xDirection[j * xBase.length + i]; + direction[1] = yDirection[j * xBase.length + i]; + direction[2] = zDirection[j * xBase.length + i]; + + /* Compute the segment tip */ + direction = computeSegmentTip(base, direction, colored, maxUsableLength, maxLength); + + if (Utils.isValid(base[0], base[1], base[2]) + && Utils.isValid(direction[0], direction[1], direction[2])) { + valid = true; + } else { + valid = false; + } + + if (logMask != 0) { + valid = valid && Utils.isLogValid(base[0], base[1], base[2] + DEFAULT_LOG_COORD_Z, logMask); + valid = valid && Utils.isLogValid(direction[0], direction[1], direction[2] + DEFAULT_LOG_COORD_Z, logMask); + } + + if (valid) { + buffer.put(bufferOffset, tipIndex); + buffer.put(bufferOffset + 1, leftIndex); + buffer.put(bufferOffset + 2, rightIndex); + bufferOffset += 3; + } + + } + } + + if (bufferOffset > 0) { + return bufferOffset; + } else { + return 0; + } + } + + /** + * Computes and returns the coordinates of a vector segment's tip. + * @param base the vector base's (x,y,z) coordinates (3-element array). + * @param direction the vector's (x,y,z) direction (3-element array). + * @param colored specifies whether the vector is colored or not. + * @param maxUsableLength the maximum usable vector length. + * @param maxLength the maximum vector length. + * @return the (x,y,z) coordinates of the tip (3-element array). + */ + private static double[] computeSegmentTip(double[] base, double[] direction, boolean colored, double maxUsableLength, double maxLength) { + double[] tip = new double[3]; + + /* The current vector's norm is used to normalize for colored Champ objects instead of the maximum length. */ + if (colored) { + double norm = Math.sqrt(direction[0] * direction[0] + direction[1] * direction[1] + direction[2] * direction[2]); + + if (norm <= Double.MIN_VALUE) { + norm = 1.0; + } + + tip[0] = base[0] + direction[0] * maxUsableLength / norm; + tip[1] = base[1] + direction[1] * maxUsableLength / norm; + tip[2] = base[2] + direction[2] * maxUsableLength / norm; + } else { + tip[0] = base[0] + direction[0] * maxUsableLength / maxLength; + tip[1] = base[1] + direction[1] * maxUsableLength / maxLength; + tip[2] = base[2] + direction[2] * maxUsableLength / maxLength; + } + + return tip; + } + + /** + * Fills the input buffer with segment index data from the given object. + * To do: optimize, as the test on colored's value is performed for each segment. + * @param buffer the buffer to fill. + * @param id the id of the given object. + * @param logMask the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + public static int fillWireIndices(IntBuffer buffer, Integer id, int logMask) { + boolean valid; + int bufferOffset = 0; + + int numberArrows = (Integer) GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + if (numberArrows == 0) { + return 0; + } + + Double[] xBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_X__); + Double[] yBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_Y__); + Double[] zBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_Z__); + + Double[] xDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_X__); + Double[] yDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Y__); + Double[] zDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Z__); + + double maxLength = (Double) GraphicController.getController().getProperty(id, __GO_MAX_LENGTH__); + double maxUsableLength = (Double) GraphicController.getController().getProperty(id, __GO_MAX_USABLE_LENGTH__); + + boolean colored = (Boolean) GraphicController.getController().getProperty(id, __GO_COLORED__); + + /* The base and tip of a segment */ + double[] base = new double[3]; + double[] direction = new double[3]; + + for (int j = 0; j < yBase.length; j++) { + for (int i = 0; i < xBase.length; i++) { + int baseIndex = 2 * (xBase.length * j + i); + int tipIndex = baseIndex + 1; + + base[0] = xBase[i]; + base[1] = yBase[j]; + base[2] = zBase[j * xBase.length + i]; + + direction[0] = xDirection[j * xBase.length + i]; + direction[1] = yDirection[j * xBase.length + i]; + direction[2] = zDirection[j * xBase.length + i]; + + /* Compute the segment tip */ + direction = computeSegmentTip(base, direction, colored, maxUsableLength, maxLength); + + if (Utils.isValid(base[0], base[1], base[2]) + && Utils.isValid(direction[0], direction[1], direction[2])) { + valid = true; + } else { + valid = false; + } + + if (logMask != 0) { + valid = valid && Utils.isLogValid(base[0], base[1], base[2] + DEFAULT_LOG_COORD_Z, logMask); + valid = valid && Utils.isLogValid(direction[0], direction[1], direction[2] + DEFAULT_LOG_COORD_Z, logMask); + } + + if (valid) { + buffer.put(bufferOffset, baseIndex); + buffer.put(bufferOffset + 1, tipIndex); + bufferOffset += 2; + } + + } + } + + if (bufferOffset > 0) { + return bufferOffset; + } else { + return 0; + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/Segs.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/Segs.java new file mode 100755 index 000000000..dffa9b413 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/Segs.java @@ -0,0 +1,317 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.vectfield; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_BACKGROUND__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_FOREGROUND__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_MODE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_SIZE_UNIT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARK_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SEGS_COLORS__; + +import org.scilab.modules.graphic_objects.ObjectRemovedException; +import org.scilab.modules.graphic_objects.contouredObject.Mark; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.graphicObject.Visitor; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * Segs class + * @author Manuel JULIACHS + */ +public class Segs extends VectField { + /** Sets properties names */ + private enum SegsProperty { COLORS }; + + /** Constructor */ + public Segs() { + super(); + // TODO Auto-generated constructor stub + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_SEGS_COLORS__ : + return SegsProperty.COLORS; + case __GO_MARK_MODE__ : + return Mark.MarkPropertyType.MODE; + case __GO_MARK_STYLE__ : + return Mark.MarkPropertyType.STYLE; + case __GO_MARK_SIZE_UNIT__ : + return Mark.MarkPropertyType.SIZEUNIT; + case __GO_MARK_SIZE__ : + return Mark.MarkPropertyType.SIZE; + case __GO_MARK_FOREGROUND__ : + return Mark.MarkPropertyType.FOREGROUND; + case __GO_MARK_BACKGROUND__ : + return Mark.MarkPropertyType.BACKGROUND; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == SegsProperty.COLORS) { + return getColors(); + } else if (property == Mark.MarkPropertyType.MODE) { + return getMarkMode(); + } else if (property == Mark.MarkPropertyType.STYLE) { + return getMarkStyle(); + } else if (property == Mark.MarkPropertyType.SIZEUNIT) { + return getMarkSizeUnit(); + } else if (property == Mark.MarkPropertyType.SIZE) { + return getMarkSize(); + } else if (property == Mark.MarkPropertyType.FOREGROUND) { + return getMarkForeground(); + } else if (property == Mark.MarkPropertyType.BACKGROUND) { + return getMarkBackground(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == SegsProperty.COLORS) { + setColors((Integer[]) value); + } else if (property == Mark.MarkPropertyType.MODE) { + setMarkMode((Boolean) value); + } else if (property == Mark.MarkPropertyType.STYLE) { + setMarkStyle((Integer) value); + } else if (property == Mark.MarkPropertyType.SIZEUNIT) { + setMarkSizeUnit((Integer) value); + } else if (property == Mark.MarkPropertyType.SIZE) { + setMarkSize((Integer) value); + } else if (property == Mark.MarkPropertyType.FOREGROUND) { + setMarkForeground((Integer) value); + } else if (property == Mark.MarkPropertyType.BACKGROUND) { + setMarkBackground((Integer) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + @Override + public void accept(Visitor visitor) throws ObjectRemovedException { + visitor.visit(this); + } + + /** + * Sets the number of arrows and resizes the arrow array + * The actual resizing of the arrow array is performed in + * the parent class' method. + * The color of each arrow is reset to 0 in case of a size + * change for compatibility with the previous behaviour of Segs. + * To be modified + * @param number the number of arrows to set + */ + public UpdateStatus setNumberArrows(Integer number) { + int currentNumber; + + currentNumber = arrows.size(); + + super.setNumberArrows(number); + + if (currentNumber != number) { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setLineColor(0); + } + } + + return UpdateStatus.Success; + } + + /** + * @return the segs colors + */ + public Integer[] getColors() { + Integer[] retSegsColors = new Integer[arrows.size()]; + + for (int i = 0; i < arrows.size(); i++) { + retSegsColors[i] = arrows.get(i).getLineColor(); + } + + return retSegsColors; + } + + /** + * Sets the segment colors + * If the input color array contains only one element, each arrow's color is set to the latter. + * @param colors the segs colors to set (number of elements either 1 or equal to the number of arrows) + */ + public UpdateStatus setColors(Integer[] colors) { + if (colors.length == 1) { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setLineColor(colors[0]); + } + } else { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setLineColor(colors[i]); + } + } + return UpdateStatus.Success; + } + + /** + * All segments are supposed to have the same mark mode + * To be done: return an array of Boolean + * @return the mark mode + */ + public Boolean getMarkMode() { + return arrows.get(0).getMarkMode(); + } + + /** + * All segments are supposed to have the same mark mode + * To be done: change the argument to an array of Boolean + * @param mode the mark mode to set + */ + public UpdateStatus setMarkMode(Boolean mode) { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setMarkMode(mode); + } + return UpdateStatus.Success; + } + + /** + * All segments are supposed to have the same mark style + * To be done: return an array of Integer + * @return the mark style + */ + public Integer getMarkStyle() { + return arrows.get(0).getMarkStyle(); + } + + /** + * All segments are supposed to have the same mark style + * To be done: change the argument to an array of Integer + * @param style the mark style to set + */ + public UpdateStatus setMarkStyle(Integer style) { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setMarkStyle(style); + } + return UpdateStatus.Success; + } + + /** + * All segments are supposed to have the same mark size unit + * To be done: return an array of Integer + * @return the mark size unit + */ + public Integer getMarkSizeUnit() { + return arrows.get(0).getMarkSizeUnit(); + } + + /** + * All segments are supposed to have the same mark size unit + * To be done: change the argument to an array of Integer + * @param style the mark size unit to set + */ + public UpdateStatus setMarkSizeUnit(Integer sizeUnit) { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setMarkSizeUnit(sizeUnit); + } + return UpdateStatus.Success; + } + + /** + * All segments are supposed to have the same mark size + * To be done: return an array of Integer + * @return the mark size + */ + public Integer getMarkSize() { + return arrows.get(0).getMarkSize(); + } + + /** + * All segments are supposed to have the same mark size + * To be done: change the argument to an array of Integer + * @param style the mark size to set + */ + public UpdateStatus setMarkSize(Integer size) { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setMarkSize(size); + } + return UpdateStatus.Success; + } + + /** + * All segments are supposed to have the same mark foreground + * To be done: return an array of Integer + * @return the mark foreground + */ + public Integer getMarkForeground() { + return arrows.get(0).getMarkForeground(); + } + + /** + * All segments are supposed to have the same mark foreground + * To be done: change the argument to an array of Integer + * @param style the mark foreground to set + */ + public UpdateStatus setMarkForeground(Integer foreground) { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setMarkForeground(foreground); + } + return UpdateStatus.Success; + } + + /** + * All segments are supposed to have the same mark background + * To be done: return an array of Integer + * @return the mark background + */ + public Integer getMarkBackground() { + return arrows.get(0).getMarkBackground(); + } + + /** + * All segments are supposed to have the same mark background + * To be done: change the argument to an array of Integer + * @param style the mark background to set + */ + public UpdateStatus setMarkBackground(Integer background) { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setMarkBackground(background); + } + return UpdateStatus.Success; + } + + /** + * @return Type as String + */ + public Integer getType() { + return GraphicObjectProperties.__GO_SEGS__; + } + +} + diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/SegsDecomposer.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/SegsDecomposer.java new file mode 100755 index 000000000..a4c949b1c --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/SegsDecomposer.java @@ -0,0 +1,175 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.vectfield; + +import java.nio.IntBuffer; +import java.nio.FloatBuffer; +import org.scilab.modules.graphic_objects.figure.ColorMap; +import org.scilab.modules.graphic_objects.figure.Figure; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.utils.Utils; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Class SegsDecomposer + * A set of static methods decomposing a Segs object into a set of line segments. + * It takes into account the additional buffer space needed for arrow tip vertices and colors, + * fills tip colors, and outputs their triangle indices. Arrow tip coordinates are, however, + * computed at drawing time as they are projection-dependent. + * @author Manuel JULIACHS + */ +public class SegsDecomposer extends VectFieldDecomposer { + + /** + * Returns the number of data elements for the given object. + * @param id the id of the given object. + * @return the number of data elements. + */ + public static int getDataSize(Integer id) { + int numberArrows = (Integer) GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + /* 2 vertices per segment plus 3 vertices for the arrow tip */ + return 5 * numberArrows; + } + + /** + * Fills the given buffer with color data from the given object. + * @param buffer the buffer to fill. + * @param id the id of the given object. + * @param elementsSize the number of components taken by one element in the buffer (3 or 4). + */ + public static void fillColors(FloatBuffer buffer, Integer id, int elementsSize) { + int bufferOffset = 0; + int numberArrows = (Integer) GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + Integer[] segmentColors = (Integer[]) GraphicController.getController().getProperty(id, __GO_SEGS_COLORS__); + + Integer parentFigureId = (Integer) GraphicController.getController().getProperty(id, __GO_PARENT_FIGURE__); + + /* To be sure that the object has a parent Figure, though it should not occur. */ + if (parentFigureId == 0) { + return; + } + + Figure parentFigure = (Figure) GraphicController.getController().getObjectFromId(parentFigureId); + ColorMap colorMap = parentFigure.getColorMap(); + + GraphicController.getController().getProperty(id, __GO_ARROW_SIZE__); + + /* Colors are output in the following order: first the base's color and then the tip's */ + for (int i = 0; i < numberArrows; i++) { + float[] color = colorMap.getScilabColor(segmentColors[i]); + + bufferOffset = 2 * elementsSize * i; + + writeSegmentColors(buffer, elementsSize, bufferOffset, color); + } + + /* Arrow colors */ + for (int i = 0; i < numberArrows; i++) { + float[] color = colorMap.getScilabColor(segmentColors[i]); + + bufferOffset = 2 * elementsSize * numberArrows + 3 * elementsSize * i; + + writeArrowColors(buffer, elementsSize, bufferOffset, color); + } + } + + /** + * Returns the number of triangle indices for the given object. + * Triangle indices correspond to arrow tips. + * @param id the object id. + * @return the number of triangle indices. + */ + public static int getIndicesSize(Integer id) { + int numberArrows = (Integer) GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + /* 3 indices per arrow */ + return 3 * numberArrows; + } + + /** + * Fills the input buffer with triangle index data from the given object. + * Triangle indices are the indices of arrow tips. + * @param buffer the buffer to fill. + * @param id the id of the given object. + * @param logMask the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + public static int fillIndices(IntBuffer buffer, Integer id, int logMask) { + boolean valid; + int bufferOffset = 0; + int segmentOffset; + + int numberArrows = (Integer) GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + if (numberArrows == 0) { + return 0; + } + + segmentOffset = 2 * numberArrows; + + Double[] xBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_X__); + Double[] yBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_Y__); + Double[] zBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_Z__); + + Double[] xDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_X__); + Double[] yDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Y__); + Double[] zDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Z__); + + double[] base = new double[3]; + double[] direction = new double[3]; + + for (int i = 0; i < numberArrows; i++) { + int tipIndex = segmentOffset + 3 * i; + int leftIndex = tipIndex + 1; + int rightIndex = tipIndex + 2; + + base[0] = xBase[i]; + base[1] = yBase[i]; + base[2] = zBase[i]; + + direction[0] = xDirection[i]; + direction[1] = yDirection[i]; + direction[2] = zDirection[i]; + + if (Utils.isValid(base[0], base[1], base[2]) + && Utils.isValid(direction[0], direction[1], direction[2])) { + valid = true; + } else { + valid = false; + } + + if (logMask != 0) { + valid = valid && Utils.isLogValid(base[0], base[1], base[2], logMask); + valid = valid && Utils.isLogValid(direction[0], direction[1], direction[2], logMask); + } + + if (valid) { + buffer.put(bufferOffset, tipIndex); + buffer.put(bufferOffset + 1, leftIndex); + buffer.put(bufferOffset + 2, rightIndex); + + bufferOffset += 3; + } + } + + if (bufferOffset > 0) { + return bufferOffset; + } else { + return 0; + } + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/VectField.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/VectField.java new file mode 100755 index 000000000..a6044f8d3 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/VectField.java @@ -0,0 +1,610 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2012 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.vectfield; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ARROWS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ARROW_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BASE_X__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BASE_Y__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BASE_Z__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BASE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DIRECTION_X__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DIRECTION_Y__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DIRECTION_Z__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DIRECTION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LINE_MODE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LINE_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LINE_THICKNESS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_NUMBER_ARROWS__; + +import java.util.ArrayList; + +import org.scilab.modules.graphic_objects.contouredObject.Line; +import org.scilab.modules.graphic_objects.contouredObject.Line.LineType; +import org.scilab.modules.graphic_objects.graphicObject.GraphicClippableObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus; + +/** + * VectField class + * @author Manuel JULIACHS + */ +public abstract class VectField extends GraphicClippableObject { + /** VectField properties names */ + private enum VectFieldProperty { ARROWS, NUMBERARROWS }; + + /** List of arrows composing the field */ + protected ArrayList <Arrow> arrows; + + /** Constructor */ + public VectField() { + super(); + arrows = new ArrayList<Arrow>(0); + } + + /** + * Returns the enum associated to a property name + * @param propertyName the property name + * @return the property enum + */ + public Object getPropertyFromName(int propertyName) { + switch (propertyName) { + case __GO_ARROWS__ : + return VectFieldProperty.ARROWS; + case __GO_NUMBER_ARROWS__ : + return VectFieldProperty.NUMBERARROWS; + case __GO_BASE__ : + return Arrow.ArrowProperty.BASE; + case __GO_BASE_X__ : + return Arrow.ArrowProperty.BASEX; + case __GO_BASE_Y__ : + return Arrow.ArrowProperty.BASEY; + case __GO_BASE_Z__ : + return Arrow.ArrowProperty.BASEZ; + case __GO_DIRECTION__ : + return Arrow.ArrowProperty.DIRECTION; + case __GO_DIRECTION_X__ : + return Arrow.ArrowProperty.DIRECTIONX; + case __GO_DIRECTION_Y__ : + return Arrow.ArrowProperty.DIRECTIONY; + case __GO_DIRECTION_Z__ : + return Arrow.ArrowProperty.DIRECTIONZ; + case __GO_ARROW_SIZE__ : + return Arrow.ArrowProperty.ARROWSIZE; + case __GO_LINE_MODE__ : + return Line.LinePropertyType.MODE; + case __GO_LINE_STYLE__ : + return Line.LinePropertyType.LINESTYLE; + case __GO_LINE_THICKNESS__ : + return Line.LinePropertyType.THICKNESS; + default : + return super.getPropertyFromName(propertyName); + } + } + + /** + * Fast property get method + * @param property the property to get + * @return the property value + */ + public Object getProperty(Object property) { + if (property == VectFieldProperty.ARROWS) { + return getArrows(); + } else if (property == VectFieldProperty.NUMBERARROWS) { + return getNumberArrows(); + } else if (property == Arrow.ArrowProperty.BASE) { + return getBase(); + } else if (property == Arrow.ArrowProperty.BASEX) { + return getBaseX(); + } else if (property == Arrow.ArrowProperty.BASEY) { + return getBaseY(); + } else if (property == Arrow.ArrowProperty.BASEZ) { + return getBaseZ(); + } else if (property == Arrow.ArrowProperty.DIRECTION) { + return getDirection(); + } else if (property == Arrow.ArrowProperty.DIRECTIONX) { + return getDirectionX(); + } else if (property == Arrow.ArrowProperty.DIRECTIONY) { + return getDirectionY(); + } else if (property == Arrow.ArrowProperty.DIRECTIONZ) { + return getDirectionZ(); + } else if (property == Arrow.ArrowProperty.ARROWSIZE) { + return getArrowSize(); + } else if (property == Line.LinePropertyType.MODE) { + return getLineMode(); + } else if (property == Line.LinePropertyType.LINESTYLE) { + return getLineStyle(); + } else if (property == Line.LinePropertyType.THICKNESS) { + return getLineThickness(); + } else { + return super.getProperty(property); + } + } + + /** + * Fast property set method + * @param property the property to set + * @param value the property value + * @return true if the property has been set, false otherwise + */ + public UpdateStatus setProperty(Object property, Object value) { + if (property == VectFieldProperty.ARROWS) { + setArrows((ArrayList<Arrow>) value); + } else if (property == VectFieldProperty.NUMBERARROWS) { + setNumberArrows((Integer) value); + } else if (property == Arrow.ArrowProperty.BASE) { + setBase((Double[]) value); + } else if (property == Arrow.ArrowProperty.BASEX) { + setBaseX((Double[]) value); + } else if (property == Arrow.ArrowProperty.BASEY) { + setBaseY((Double[]) value); + } else if (property == Arrow.ArrowProperty.BASEZ) { + setBaseZ((Double[]) value); + } else if (property == Arrow.ArrowProperty.DIRECTION) { + setDirection((Double[]) value); + } else if (property == Arrow.ArrowProperty.DIRECTIONX) { + setDirectionX((Double[]) value); + } else if (property == Arrow.ArrowProperty.DIRECTIONY) { + setDirectionY((Double[]) value); + } else if (property == Arrow.ArrowProperty.DIRECTIONZ) { + setDirectionZ((Double[]) value); + } else if (property == Arrow.ArrowProperty.ARROWSIZE) { + setArrowSize((Double) value); + } else if (property == Line.LinePropertyType.MODE) { + setLineMode((Boolean) value); + } else if (property == Line.LinePropertyType.LINESTYLE) { + setLineStyle((Integer) value); + } else if (property == Line.LinePropertyType.THICKNESS) { + setLineThickness((Double) value); + } else { + return super.setProperty(property, value); + } + + return UpdateStatus.Success; + } + + /** + * @return the arrows + */ + public ArrayList<Arrow> getArrows() { + return arrows; + } + + /** + * @param arrows the arrows to set + */ + public UpdateStatus setArrows(ArrayList<Arrow> arrows) { + this.arrows = arrows; + return UpdateStatus.Success; + } + + /** + * @return the number of arrows + */ + public Integer getNumberArrows() { + return arrows.size(); + } + + /** + * Sets the number of arrows + * Empties the current arrow array, if required, and creates the + * specified number of arrows, which are added to the array. + * If the new number is equal to the current number, the + * array is left unmodified. + * If the existing array is not empty, the newly created + * arrows are cloned from the latter's first arrow, + * as all arrows are considered to have identical Contour values for now. + * To be modified when Contour values can be specified independently + * for each Arrow. + * @param number the number of arrows to set + * @return + */ + public UpdateStatus setNumberArrows(Integer number) { + if (!arrows.isEmpty() && number != arrows.size()) { + ArrayList <Arrow> newArrows = new ArrayList<Arrow>(0); + + /* Clones the Contour properties of the first arrow */ + for (int i = 0; i < number; i++) { + Arrow clonedArrow = arrows.get(0).clone(); + newArrows.add(clonedArrow); + } + + arrows.clear(); + arrows = newArrows; + + } else if (arrows.isEmpty()) { + for (int i = 0; i < number; i++) { + arrows.add(new Arrow()); + } + } + + return UpdateStatus.Success; + } + + /** + * @return the arrow bases + */ + public Double[] getBase() { + Double[] retBase; + + retBase = new Double[3 * arrows.size()]; + + for (int i = 0; i < arrows.size(); i++) { + Double[] base = arrows.get(i).getBase(); + retBase[3 * i] = base[0]; + retBase[3 * i + 1] = base[1]; + retBase[3 * i + 2] = base[2]; + } + + return retBase; + } + + /** + * @param bases the arrow bases to set + */ + public UpdateStatus setBase(Double[] bases) { + Double[] arrowBase = new Double[3]; + + final int len = Math.min(bases.length / 3, arrows.size()); + for (int i = 0; i < len; i++) { + arrowBase[0] = bases[3 * i]; + arrowBase[1] = bases[3 * i + 1]; + arrowBase[2] = bases[3 * i + 2]; + arrows.get(i).setBase(arrowBase); + } + return UpdateStatus.Success; + } + + /** + * @return the arrow bases x coordinates + */ + public Double[] getBaseX() { + Double[] retArrowBaseX; + + retArrowBaseX = new Double[arrows.size()]; + + for (int i = 0; i < arrows.size(); i++) { + Double[] base = arrows.get(i).getBase(); + retArrowBaseX[i] = base[0]; + } + + return retArrowBaseX; + } + + /** + * @param baseX the arrow base x coordinates to set + */ + public UpdateStatus setBaseX(Double[] baseX) { + final int len = Math.min(baseX.length, arrows.size()); + for (int i = 0; i < len; i++) { + Double[] base = arrows.get(i).getBase(); + base[0] = baseX[i]; + arrows.get(i).setBase(base); + } + return UpdateStatus.Success; + } + + /** + * @return the arrow bases y coordinates + */ + public Double[] getBaseY() { + Double[] retArrowBaseY; + + retArrowBaseY = new Double[arrows.size()]; + + for (int i = 0; i < arrows.size(); i++) { + Double[] base = arrows.get(i).getBase(); + retArrowBaseY[i] = base[1]; + } + + return retArrowBaseY; + } + + /** + * @param baseY the arrow base y coordinates to set + */ + public UpdateStatus setBaseY(Double[] baseY) { + final int len = Math.min(baseY.length, arrows.size()); + for (int i = 0; i < len; i++) { + Double[] base = arrows.get(i).getBase(); + base[1] = baseY[i]; + arrows.get(i).setBase(base); + } + return UpdateStatus.Success; + } + + /** + * @return the arrow bases z coordinates + */ + public Double[] getBaseZ() { + Double[] retArrowBaseZ; + + retArrowBaseZ = new Double[arrows.size()]; + + for (int i = 0; i < arrows.size(); i++) { + Double[] base = arrows.get(i).getBase(); + retArrowBaseZ[i] = base[2]; + } + + return retArrowBaseZ; + } + + /** + * @param baseZ the arrow base z coordinates to set + */ + public UpdateStatus setBaseZ(Double[] baseZ) { + final int len = Math.min(baseZ.length, arrows.size()); + for (int i = 0; i < len; i++) { + Double[] base = arrows.get(i).getBase(); + base[2] = baseZ[i]; + arrows.get(i).setBase(base); + } + return UpdateStatus.Success; + } + + /** + * @return the arrow directions + */ + public Double[] getDirection() { + Double[] retDirection; + + retDirection = new Double[3 * arrows.size()]; + + for (int i = 0; i < arrows.size(); i++) { + Double[] base = arrows.get(i).getDirection(); + retDirection[3 * i] = base[0]; + retDirection[3 * i + 1] = base[1]; + retDirection[3 * i + 2] = base[2]; + } + + return retDirection; + } + + /** + * @param directions the arrow directions to set + */ + public UpdateStatus setDirection(Double[] directions) { + Double[] arrowDirection = new Double[3]; + + final int len = Math.min(directions.length / 3, arrows.size()); + for (int i = 0; i < len; i++) { + arrowDirection[0] = directions[3 * i]; + arrowDirection[1] = directions[3 * i + 1]; + arrowDirection[2] = directions[3 * i + 2]; + arrows.get(i).setDirection(arrowDirection); + } + return UpdateStatus.Success; + } + + /** + * @return the arrow directions x coordinates + */ + public Double[] getDirectionX() { + Double[] retArrowDirectionX; + + retArrowDirectionX = new Double[arrows.size()]; + + for (int i = 0; i < arrows.size(); i++) { + Double[] direction = arrows.get(i).getDirection(); + retArrowDirectionX[i] = direction[0]; + } + + return retArrowDirectionX; + } + + /** + * @param directionX the arrow direction x coordinates to set + */ + public UpdateStatus setDirectionX(Double[] directionX) { + final int len = Math.min(directionX.length, arrows.size()); + for (int i = 0; i < len; i++) { + Double[] direction = arrows.get(i).getDirection(); + direction[0] = directionX[i]; + arrows.get(i).setDirection(direction); + } + return UpdateStatus.Success; + } + + /** + * @return the arrow directions y coordinates + */ + public Double[] getDirectionY() { + Double[] retArrowDirectionY; + + retArrowDirectionY = new Double[arrows.size()]; + + for (int i = 0; i < arrows.size(); i++) { + Double[] direction = arrows.get(i).getDirection(); + retArrowDirectionY[i] = direction[1]; + } + + return retArrowDirectionY; + } + + /** + * @param directionY the arrow direction y coordinates to set + */ + public UpdateStatus setDirectionY(Double[] directionY) { + final int len = Math.min(directionY.length, arrows.size()); + for (int i = 0; i < len; i++) { + Double[] direction = arrows.get(i).getDirection(); + direction[1] = directionY[i]; + arrows.get(i).setDirection(direction); + } + return UpdateStatus.Success; + } + + + /** + * @return the arrow directions z coordinates + */ + public Double[] getDirectionZ() { + Double[] retArrowDirectionZ; + + retArrowDirectionZ = new Double[arrows.size()]; + + for (int i = 0; i < arrows.size(); i++) { + Double[] direction = arrows.get(i).getDirection(); + retArrowDirectionZ[i] = direction[2]; + } + + return retArrowDirectionZ; + } + + + /** + * @param directionZ the arrow direction z coordinates to set + */ + public UpdateStatus setDirectionZ(Double[] directionZ) { + final int len = Math.min(directionZ.length, arrows.size()); + for (int i = 0; i < len; i++) { + Double[] direction = arrows.get(i).getDirection(); + direction[2] = directionZ[i]; + arrows.get(i).setDirection(direction); + } + return UpdateStatus.Success; + } + + /** + * All arrows are supposed to have the same size + * To be done: return an array of Double + * @return the arrow size + */ + public Double getArrowSize() { + Double retArrowSize; + + retArrowSize = arrows.get(0).getArrowSize(); + + return retArrowSize; + } + + /** + * All arrows are supposed to have the same size + * To be done: change the argument to an array of Double + * @param size the arrow size to set + */ + public UpdateStatus setArrowSize(Double size) { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setArrowSize(size); + } + return UpdateStatus.Success; + } + + /** + * All arrows are supposed to have the same line mode + * To be done: return an array of Boolean + * @return the arrow line mode + */ + public Boolean getLineMode() { + Boolean retLineMode; + + retLineMode = arrows.get(0).getLineMode(); + return retLineMode; + } + + /** + * All arrows are supposed to have the same line mode + * To be done: change the argument to an array of Boolean + * @param lineMode the arrow line mode to set + */ + public UpdateStatus setLineMode(Boolean lineMode) { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setLineMode(lineMode); + } + return UpdateStatus.Success; + } + + /** + * All arrows are supposed to have the same line style + * To be done: return an array of Integer + * @return the arrow line style + */ + public Integer getLineStyle() { + Integer retLineStyle; + + retLineStyle = arrows.get(0).getLineStyle(); + return retLineStyle; + } + + /** + * All arrows are supposed to have the same line style + * To be done: change the argument to an array of Integer + * @param lineStyle the arrow line style to set + */ + public UpdateStatus setLineStyle(Integer lineStyle) { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setLineStyle(lineStyle); + } + return UpdateStatus.Success; + } + + /** + * All arrows are supposed to have the same line style + * To be done: return an array of LineType + * @return the arrow line style + */ + public LineType getLineStyleAsEnum() { + LineType retLineStyle; + + retLineStyle = arrows.get(0).getLineStyleAsEnum(); + return retLineStyle; + } + + /** + * All arrows are supposed to have the same line thickness + * To be done: return an array of Double + * @return the arrow line thickness + */ + public Double getLineThickness() { + Double retLineThickness; + + retLineThickness = arrows.get(0).getLineThickness(); + return retLineThickness; + } + + /** + * All arrows are supposed to have the same line thickness + * To be done: change the argument to an array of Double + * @param lineThickness the arrow line thickness to set + */ + public UpdateStatus setLineThickness(Double lineThickness) { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setLineThickness(lineThickness); + } + return UpdateStatus.Success; + } + + /** + * All arrows are supposed to have the same line color + * To be done: return an array of Integer + * @return the arrow line color + */ + public Integer getLineColor() { + Integer retLineColor; + + retLineColor = arrows.get(0).getLineColor(); + return retLineColor; + } + + /** + * All arrows are supposed to have the same line color + * To be done: change the argument to an array of Integer + * @param lineColor the arrow line color to set + */ + public UpdateStatus setLineColor(Integer lineColor) { + for (int i = 0; i < arrows.size(); i++) { + arrows.get(i).setLineColor(lineColor); + } + return UpdateStatus.Success; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/VectFieldDecomposer.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/VectFieldDecomposer.java new file mode 100755 index 000000000..1df02400f --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/vectfield/VectFieldDecomposer.java @@ -0,0 +1,293 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.vectfield; + +import java.nio.FloatBuffer; +import java.nio.IntBuffer; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.utils.Utils; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +/** + * Class VectFieldDecomposer + * A set of static methods decomposing a vector field into a set of line segments. + * @author Manuel JULIACHS + */ +public class VectFieldDecomposer { + + /** The default z-coordinate value when the logarithmic scale is used. */ + protected static final double DEFAULT_LOG_COORD_Z = 1.0; + + /** + * Returns the number of data elements for the given object. + * @param id the id of the given object. + * @return the number of data elements. + */ + public static int getDataSize(Integer id) { + int numberArrows = (Integer) GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + /* 2 vertices per arrow */ + return 2 * numberArrows; + } + + /** + * Fills the input buffer with vertex data from the given object. + * @param buffer the buffer to fill. + * @param id the id of the given object. + * @param elementsSize the number of coordinates taken by one element in the buffer. + * @param coordinateMask the byte mask specifying which coordinates are filled (1 for X, 2 for Y, 4 for Z). + * @param scale the conversion scale factor to apply to data. + * @param translation the conversion translation value to apply to data. + * @param logMask the bit mask specifying whether logarithmic coordinates are used. + */ + public static void fillVertices(FloatBuffer buffer, Integer id, int elementsSize, + int coordinateMask, double[] scale, double[] translation, int logMask) { + int bufferOffset = 0; + + /* The x coordinates of a segment's base and direction */ + double[] xcoords; + /* The y coordinates of a segment's base and direction */ + double[] ycoords; + /* The z coordinates of a segment's base and direction */ + double[] zcoords; + + xcoords = new double[2]; + ycoords = new double[2]; + zcoords = new double[2]; + + int numberArrows = (Integer) GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + Double[] xBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_X__); + Double[] yBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_Y__); + Double[] zBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_Z__); + + Double[] xDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_X__); + Double[] yDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Y__); + Double[] zDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Z__); + + for (int i = 0; i < numberArrows; i++) { + xcoords[0] = xBase[i]; + xcoords[1] = xDirection[i]; + ycoords[0] = yBase[i]; + ycoords[1] = yDirection[i]; + zcoords[0] = zBase[i]; + zcoords[1] = zDirection[i]; + + /* Vertices are output in the following order: the segment's base and then its tip */ + if ((coordinateMask & 0x1) != 0) { + if ((logMask & 0x1) != 0) { + xcoords[0] = Math.log10(xcoords[0]); + xcoords[1] = Math.log10(xcoords[1]); + } + + xcoords[0] = xcoords[0] * scale[0] + translation[0]; + xcoords[1] = xcoords[1] * scale[0] + translation[0]; + + buffer.put(bufferOffset, (float) xcoords[0]); + buffer.put(bufferOffset + elementsSize, (float) xcoords[1]); + } + + if ((coordinateMask & 0x2) != 0) { + if ((logMask & 0x2) != 0) { + ycoords[0] = Math.log10(ycoords[0]); + ycoords[1] = Math.log10(ycoords[1]); + } + + ycoords[0] = ycoords[0] * scale[1] + translation[1]; + ycoords[1] = ycoords[1] * scale[1] + translation[1]; + + buffer.put(bufferOffset + 1, (float) ycoords[0]); + buffer.put(bufferOffset + elementsSize + 1, (float) ycoords[1]); + } + + if ((coordinateMask & 0x4) != 0) { + if ((logMask & 0x4) != 0) { + zcoords[0] = Math.log10(zcoords[0]); + zcoords[1] = Math.log10(zcoords[1]); + } + + zcoords[0] = zcoords[0] * scale[2] + translation[2]; + zcoords[1] = zcoords[1] * scale[2] + translation[2]; + + buffer.put(bufferOffset + 2, (float) zcoords[0]); + buffer.put(bufferOffset + elementsSize + 2, (float) zcoords[1]); + } + + if (elementsSize == 4 && (coordinateMask & 0x8) != 0) { + buffer.put(bufferOffset + 3, 1.0f); + buffer.put(bufferOffset + elementsSize + 3, 1.0f); + } + + bufferOffset += 2 * elementsSize; + } + } + + /** + * Fills the given buffer with color data from the given object. + * @param the buffer to fill. + * @param the id of the given object. + * @param the number of components taken by one element in the buffer (3 or 4). + */ + public static void fillColors(FloatBuffer buffer, String id, int elementsSize) { + return; + } + + /** + * Writes the colors of a segment's vertices into a buffer. + * The colors of the 2 vertices are written consecutively starting from the specified offset. + * @param buffer the buffer written to. + * @param elementsSize the number of components taken by a color (3 or 4). + * @param bufferOffset the offset of the first segment vertex's color. + * @color the arrow color (3 elements: r, g, b components). + */ + protected static void writeSegmentColors(FloatBuffer buffer, int elementsSize, int bufferOffset, float[] color) { + buffer.put(bufferOffset, color[0]); + buffer.put(bufferOffset + 1, color[1]); + buffer.put(bufferOffset + 2, color[2]); + + buffer.put(bufferOffset + elementsSize, color[0]); + buffer.put(bufferOffset + elementsSize + 1, color[1]); + buffer.put(bufferOffset + elementsSize + 2, color[2]); + + if (elementsSize == 4) { + buffer.put(bufferOffset + 3, 1.0f); + buffer.put(bufferOffset + elementsSize + 3, 1.0f); + } + } + + /** + * Writes the colors of an arrow's vertices into a buffer. + * The colors of the 3 vertices are written consecutively starting from the specified offset. + * @param buffer the buffer written to. + * @param elementsSize the number of components taken by a color (3 or 4). + * @param bufferOffset the offset of the first arrow vertex's color. + * @color the arrow color (3 elements: r, g, b components). + */ + protected static void writeArrowColors(FloatBuffer buffer, int elementsSize, int bufferOffset, float[] color) { + buffer.put(bufferOffset, color[0]); + buffer.put(bufferOffset + 1, color[1]); + buffer.put(bufferOffset + 2, color[2]); + + buffer.put(bufferOffset + elementsSize, color[0]); + buffer.put(bufferOffset + elementsSize + 1, color[1]); + buffer.put(bufferOffset + elementsSize + 2, color[2]); + + buffer.put(bufferOffset + 2 * elementsSize, color[0]); + buffer.put(bufferOffset + 2 * elementsSize + 1, color[1]); + buffer.put(bufferOffset + 2 * elementsSize + 2, color[2]); + + if (elementsSize == 4) { + buffer.put(bufferOffset + 3, 1.0f); + buffer.put(bufferOffset + elementsSize + 3, 1.0f); + buffer.put(bufferOffset + 2 * elementsSize + 3, 1.0f); + } + } + + /** + * Returns the number of triangle indices. + * @return the number of triangle indices. + */ + public static int getIndicesSize() { + return 0; + } + + /** + * Fills the input buffer with triangle index data from the given object. + * @param buffer the buffer to fill. + * @param id the id of the given object. + * @param logMask the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + public static int fillIndices(IntBuffer buffer, String id, int logMask) { + return 0; + } + + /** + * Returns the number of wireframe indices for the given object. + * @param id the id of the given object. + * @return the number of line segment indices. + */ + public static int getWireIndicesSize(Integer id) { + int numberArrows = (Integer) GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + /* 2 segment indices per arrow */ + return 2 * numberArrows; + } + + /** + * Fills the input buffer with segment index data from the given object. + * @param buffer the buffer to fill. + * @param id the id of the given object. + * @param logMask the bit mask specifying whether logarithmic coordinates are used. + * @return the number of indices actually written. + */ + public static int fillWireIndices(IntBuffer buffer, Integer id, int logMask) { + boolean valid; + int bufferOffset = 0; + + int numberArrows = (Integer) GraphicController.getController().getProperty(id, __GO_NUMBER_ARROWS__); + + if (numberArrows == 0) { + return 0; + } + + Double[] xBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_X__); + Double[] yBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_Y__); + Double[] zBase = (Double[]) GraphicController.getController().getProperty(id, __GO_BASE_Z__); + + Double[] xDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_X__); + Double[] yDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Y__); + Double[] zDirection = (Double[]) GraphicController.getController().getProperty(id, __GO_DIRECTION_Z__); + + double[] base = new double[3]; + double[] direction = new double[3]; + + for (int i = 0; i < numberArrows; i++) { + base[0] = xBase[i]; + base[1] = yBase[i]; + base[2] = zBase[i]; + + direction[0] = xDirection[i]; + direction[1] = yDirection[i]; + direction[2] = zDirection[i]; + + if (Utils.isValid(base[0], base[1], base[2]) + && Utils.isValid(direction[0], direction[1], direction[2])) { + valid = true; + } else { + valid = false; + } + + if (logMask != 0) { + valid = valid && Utils.isLogValid(base[0], base[1], base[2], logMask); + valid = valid && Utils.isLogValid(direction[0], direction[1], direction[2], logMask); + } + + if (valid) { + buffer.put(bufferOffset, 2 * i); + buffer.put(bufferOffset + 1, 2 * i + 1); + + bufferOffset += 2; + } + + } + + if (bufferOffset > 0) { + return bufferOffset; + } else { + return 0; + } + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/CSSParser.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/CSSParser.java new file mode 100755 index 000000000..be3de802c --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/CSSParser.java @@ -0,0 +1,1131 @@ +/* The following code was generated by JFlex 1.4.3 on 22/11/12 18:50 */ + +// jflex --nobak -d ../java/org.scilab.modules.gui.uiwidget/ css.jflex + +//CHECKSTYLE:OFF + +package org.scilab.modules.graphic_objects.xmlloader; + +import java.io.File; +import java.io.FileReader; +import java.io.IOException; +import java.io.Reader; +import java.io.StringReader; +import java.util.HashMap; +import java.util.Map; + +@javax.annotation.Generated("JFlex") +@SuppressWarnings("fallthrough") + +/** + * This class is a scanner generated by + * <a href="http://www.jflex.de/">JFlex</a> 1.4.3 + * on 22/11/12 18:50 from the specification file + * <tt>css.jflex</tt> + */ +public final class CSSParser { + + /** This character denotes the end of file */ + public static final int YYEOF = -1; + + /** initial size of the lookahead buffer */ + private static final int ZZ_BUFFERSIZE = 16384; + + /** lexical states */ + public static final int YYINITIAL = 0; + public static final int VALUELINE = 8; + public static final int LINE = 6; + public static final int VALUE = 4; + public static final int BLOCK = 2; + + /** + * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l + * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l + * at the beginning of a line + * l is of the form l = 2*k, k a non negative integer + */ + private static final int ZZ_LEXSTATE[] = { + 0, 0, 1, 1, 2, 2, 3, 3, 4, 4 + }; + + /** + * Translates characters to character classes + */ + private static final String ZZ_CMAP_PACKED = + "\11\0\1\1\1\2\1\0\1\4\1\3\22\0\1\1\2\0\1\5" + + "\6\0\1\13\2\0\1\7\1\5\1\12\12\7\1\10\1\11\5\0" + + "\32\6\4\0\1\7\1\0\32\6\1\14\1\0\1\15\uff82\0"; + + /** + * Translates characters to character classes + */ + private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED); + + /** + * Translates DFA states to action switch labels. + */ + private static final int [] ZZ_ACTION = zzUnpackAction(); + + private static final String ZZ_ACTION_PACKED_0 = + "\2\1\1\0\1\1\1\0\1\2\1\1\1\3\1\2" + + "\1\4\1\1\1\5\1\6\1\7\1\10\1\2\2\11" + + "\1\10\1\11\1\1\1\12\1\2\1\0\1\10\1\13" + + "\6\0\1\1"; + + private static int [] zzUnpackAction() { + int [] result = new int[33]; + int offset = 0; + offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result); + return result; + } + + private static int zzUnpackAction(String packed, int offset, int [] result) { + int i = 0; /* index in packed string */ + int j = offset; /* index in unpacked array */ + int l = packed.length(); + while (i < l) { + int count = packed.charAt(i++); + int value = packed.charAt(i++); + do { + result[j++] = value; + } while (--count > 0); + } + return j; + } + + + /* error codes */ + private static final int ZZ_UNKNOWN_ERROR = 0; + private static final int ZZ_NO_MATCH = 1; + private static final int ZZ_PUSHBACK_2BIG = 2; + + /* error messages for the codes above */ + private static final String ZZ_ERROR_MSG[] = { + "Unkown internal scanner error", + "Error: could not match input", + "Error: pushback value was too large" + }; + + /** the input device */ + private java.io.Reader zzReader; + + /** the current state of the DFA */ + private int zzState; + + /** the current lexical state */ + private int zzLexicalState = YYINITIAL; + + /** this buffer contains the current text to be matched and is + the source of the yytext() string */ + private char zzBuffer[] = new char[ZZ_BUFFERSIZE]; + + /** the textposition at the last accepting state */ + private int zzMarkedPos; + + /** the current text position in the buffer */ + private int zzCurrentPos; + + /** startRead marks the beginning of the yytext() string in the buffer */ + private int zzStartRead; + + /** endRead marks the last character in the buffer, that has been read + from input */ + private int zzEndRead; + + /** number of newlines encountered up to the start of the matched text */ + private int yyline; + + /** the number of characters up to the start of the matched text */ + private int yychar; + + /** + * the number of characters from the last newline up to the start of the + * matched text + */ + private int yycolumn; + + /** + * zzAtBOL == true <=> the scanner is currently at the beginning of a line + */ + private boolean zzAtBOL = true; + + /** zzAtEOF == true <=> the scanner is at the EOF */ + private boolean zzAtEOF; + + /** denotes if the user-EOF-code has already been executed */ + private boolean zzEOFDone; + + /* user code: */ + private String identifier; + private String key; + private String value; + private Map<String, Map<String, String>> map; + private Map<String, String> kv; + + public static Map<String, Map<String, String>> parseFile(String file) throws CSSParserException { + try { + return parse(new FileReader(new File(file))); + } catch (IOException e) { + throw new CSSParserException(e.getMessage()); + } + } + + public static Map<String, Map<String, String>> parseBlock(String block) throws CSSParserException { + return parse(new StringReader(block)); + } + + private static Map<String, Map<String, String>> parse(Reader reader) throws CSSParserException { + try { + CSSParser parser = new CSSParser(reader); + parser.map = new HashMap<String, Map<String, String>>(); + parser.yybegin(YYINITIAL); + int ret = parser.yylex(); + + if (ret == -1) { + parser.yyclose(); + throw new CSSParserException("Invalid CSS file"); + } + + parser.yyclose(); + + return parser.map; + } catch (IOException e) { + throw new CSSParserException(e.getMessage()); + } + } + + public static Map<String, String> parseLine(String str) throws CSSParserException { + try { + CSSParser parser = new CSSParser(new StringReader(str)); + parser.kv = new HashMap<String, String>(); + parser.yybegin(LINE); + int ret = parser.yylex(); + + if (ret == -1) { + parser.yyclose(); + throw new CSSParserException("Invalid CSS instructions"); + } + + parser.yyclose(); + + return parser.kv; + } catch (IOException e) { + throw new CSSParserException(e.getMessage()); + } + } + + private void openBlock() { + kv = new HashMap<String, String>(); + map.put(identifier, kv); + } + + private void closeBlock() { + kv = null; + } + + public void pushKeyValue() { + kv.put(key.toLowerCase(), value); + key = null; + value = null; + } + + + /** + * Creates a new scanner + * There is also a java.io.InputStream version of this constructor. + * + * @param in the java.io.Reader to read input from. + */ + public CSSParser(java.io.Reader in) { + this.zzReader = in; + } + + /** + * Creates a new scanner. + * There is also java.io.Reader version of this constructor. + * + * @param in the java.io.Inputstream to read input from. + */ + public CSSParser(java.io.InputStream in) { + this(new java.io.InputStreamReader(in)); + } + + /** + * Unpacks the compressed character translation table. + * + * @param packed the packed character translation table + * @return the unpacked character translation table + */ + private static char [] zzUnpackCMap(String packed) { + char [] map = new char[0x10000]; + int i = 0; /* index in packed string */ + int j = 0; /* index in unpacked array */ + while (i < 58) { + int count = packed.charAt(i++); + char value = packed.charAt(i++); + do { + map[j++] = value; + } while (--count > 0); + } + return map; + } + + + /** + * Refills the input buffer. + * + * @return <code>false</code>, iff there was new input. + * + * @exception java.io.IOException if any I/O-Error occurs + */ + private boolean zzRefill() throws java.io.IOException { + + /* first: make room (if you can) */ + if (zzStartRead > 0) { + System.arraycopy(zzBuffer, zzStartRead, + zzBuffer, 0, + zzEndRead - zzStartRead); + + /* translate stored positions */ + zzEndRead -= zzStartRead; + zzCurrentPos -= zzStartRead; + zzMarkedPos -= zzStartRead; + zzStartRead = 0; + } + + /* is the buffer big enough? */ + if (zzCurrentPos >= zzBuffer.length) { + /* if not: blow it up */ + char newBuffer[] = new char[zzCurrentPos * 2]; + System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length); + zzBuffer = newBuffer; + } + + /* finally: fill the buffer with new input */ + int numRead = zzReader.read(zzBuffer, zzEndRead, + zzBuffer.length - zzEndRead); + + if (numRead > 0) { + zzEndRead += numRead; + return false; + } + // unlikely but not impossible: read 0 characters, but not at end of stream + if (numRead == 0) { + int c = zzReader.read(); + if (c == -1) { + return true; + } else { + zzBuffer[zzEndRead++] = (char) c; + return false; + } + } + + // numRead < 0 + return true; + } + + + /** + * Closes the input stream. + */ + public final void yyclose() throws java.io.IOException { + zzAtEOF = true; /* indicate end of file */ + zzEndRead = zzStartRead; /* invalidate buffer */ + + if (zzReader != null) { + zzReader.close(); + } + } + + + /** + * Resets the scanner to read from a new input stream. + * Does not close the old reader. + * + * All internal variables are reset, the old input stream + * <b>cannot</b> be reused (internal buffer is discarded and lost). + * Lexical state is set to <tt>ZZ_INITIAL</tt>. + * + * @param reader the new input stream + */ + public final void yyreset(java.io.Reader reader) { + zzReader = reader; + zzAtBOL = true; + zzAtEOF = false; + zzEOFDone = false; + zzEndRead = zzStartRead = 0; + zzCurrentPos = zzMarkedPos = 0; + yyline = yychar = yycolumn = 0; + zzLexicalState = YYINITIAL; + } + + + /** + * Returns the current lexical state. + */ + public final int yystate() { + return zzLexicalState; + } + + + /** + * Enters a new lexical state + * + * @param newState the new lexical state + */ + public final void yybegin(int newState) { + zzLexicalState = newState; + } + + + /** + * Returns the text matched by the current regular expression. + */ + public final String yytext() { + return new String( zzBuffer, zzStartRead, zzMarkedPos - zzStartRead ); + } + + + /** + * Returns the character at position <tt>pos</tt> from the + * matched text. + * + * It is equivalent to yytext().charAt(pos), but faster + * + * @param pos the position of the character to fetch. + * A value from 0 to yylength()-1. + * + * @return the character at position pos + */ + public final char yycharat(int pos) { + return zzBuffer[zzStartRead + pos]; + } + + + /** + * Returns the length of the matched text region. + */ + public final int yylength() { + return zzMarkedPos - zzStartRead; + } + + + /** + * Reports an error that occured while scanning. + * + * In a wellformed scanner (no or only correct usage of + * yypushback(int) and a match-all fallback rule) this method + * will only be called with things that "Can't Possibly Happen". + * If this method is called, something is seriously wrong + * (e.g. a JFlex bug producing a faulty scanner etc.). + * + * Usual syntax/scanner level error handling should be done + * in error fallback rules. + * + * @param errorCode the code of the errormessage to display + */ + private void zzScanError(int errorCode) { + String message; + try { + message = ZZ_ERROR_MSG[errorCode]; + } catch (ArrayIndexOutOfBoundsException e) { + message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR]; + } + + throw new Error(message); + } + + + /** + * Pushes the specified amount of characters back into the input stream. + * + * They will be read again by then next call of the scanning method + * + * @param number the number of characters to be read again. + * This number must not be greater than yylength()! + */ + public void yypushback(int number) { + if ( number > yylength() ) { + zzScanError(ZZ_PUSHBACK_2BIG); + } + + zzMarkedPos -= number; + } + + + /** + * Resumes scanning until the next regular expression is matched, + * the end of input is encountered or an I/O-Error occurs. + * + * @return the next token + * @exception java.io.IOException if any I/O-Error occurs + */ + public int yylex() throws java.io.IOException { + int zzInput; + int zzAction; + + // cached fields: + int zzCurrentPosL; + int zzMarkedPosL; + int zzEndReadL = zzEndRead; + char [] zzBufferL = zzBuffer; + char [] zzCMapL = ZZ_CMAP; + + + while (true) { + zzMarkedPosL = zzMarkedPos; + + yychar += zzMarkedPosL - zzStartRead; + + zzAction = -1; + + zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL; + + zzState = ZZ_LEXSTATE[zzLexicalState]; + + + zzForAction: { + while (true) { + + if (zzCurrentPosL < zzEndReadL) { + zzInput = zzBufferL[zzCurrentPosL++]; + } else if (zzAtEOF) { + zzInput = YYEOF; + break zzForAction; + } else { + // store back cached positions + zzCurrentPos = zzCurrentPosL; + zzMarkedPos = zzMarkedPosL; + boolean eof = zzRefill(); + // get translated positions and possibly new buffer + zzCurrentPosL = zzCurrentPos; + zzMarkedPosL = zzMarkedPos; + zzBufferL = zzBuffer; + zzEndReadL = zzEndRead; + if (eof) { + zzInput = YYEOF; + break zzForAction; + } else { + zzInput = zzBufferL[zzCurrentPosL++]; + } + } + zzInput = zzCMapL[zzInput]; + + boolean zzIsFinal = false; + boolean zzNoLookAhead = false; + + zzForNext: { + switch (zzState) { + case 0: + switch (zzInput) { + case 1: + case 2: + case 3: + case 4: + zzIsFinal = true; + zzState = 6; + break zzForNext; + case 5: + case 6: + zzIsFinal = true; + zzState = 7; + break zzForNext; + case 10: + zzIsFinal = true; + zzState = 8; + break zzForNext; + case 12: + zzIsFinal = true; + zzState = 9; + break zzForNext; + default: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 5; + break zzForNext; + } + + case 1: + switch (zzInput) { + case 10: + zzIsFinal = true; + zzState = 8; + break zzForNext; + case 1: + case 2: + case 3: + case 4: + zzIsFinal = true; + zzState = 10; + break zzForNext; + case 6: + case 7: + zzIsFinal = true; + zzState = 11; + break zzForNext; + case 8: + zzIsFinal = true; + zzState = 12; + break zzForNext; + case 13: + zzIsFinal = true; + zzState = 13; + break zzForNext; + default: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 5; + break zzForNext; + } + + case 2: + switch (zzInput) { + case 8: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 5; + break zzForNext; + case 1: + zzIsFinal = true; + zzState = 15; + break zzForNext; + case 2: + zzIsFinal = true; + zzState = 16; + break zzForNext; + case 3: + zzIsFinal = true; + zzState = 17; + break zzForNext; + case 4: + zzIsFinal = true; + zzState = 18; + break zzForNext; + case 9: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 19; + break zzForNext; + default: + zzIsFinal = true; + zzState = 14; + break zzForNext; + } + + case 3: + switch (zzInput) { + case 6: + case 7: + zzIsFinal = true; + zzState = 11; + break zzForNext; + case 1: + case 2: + case 3: + case 4: + zzIsFinal = true; + zzState = 20; + break zzForNext; + case 8: + zzIsFinal = true; + zzState = 21; + break zzForNext; + default: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 5; + break zzForNext; + } + + case 4: + switch (zzInput) { + case 8: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 5; + break zzForNext; + case 1: + case 3: + zzIsFinal = true; + zzState = 22; + break zzForNext; + case 2: + zzState = 23; + break zzForNext; + case 4: + zzIsFinal = true; + zzState = 24; + break zzForNext; + case 9: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 25; + break zzForNext; + default: + zzIsFinal = true; + zzState = 14; + break zzForNext; + } + + case 6: + switch (zzInput) { + case 1: + case 2: + case 3: + case 4: + zzIsFinal = true; + break zzForNext; + case 12: + zzIsFinal = true; + zzState = 9; + break zzForNext; + default: + break zzForAction; + } + + case 7: + switch (zzInput) { + case 6: + zzIsFinal = true; + break zzForNext; + default: + break zzForAction; + } + + case 8: + switch (zzInput) { + case 11: + zzState = 26; + break zzForNext; + default: + break zzForAction; + } + + case 9: + switch (zzInput) { + case 1: + case 2: + case 3: + case 4: + zzIsFinal = true; + break zzForNext; + default: + break zzForAction; + } + + case 10: + switch (zzInput) { + case 1: + case 2: + case 3: + case 4: + zzIsFinal = true; + break zzForNext; + case 13: + zzIsFinal = true; + zzState = 13; + break zzForNext; + default: + break zzForAction; + } + + case 11: + switch (zzInput) { + case 6: + case 7: + zzIsFinal = true; + break zzForNext; + default: + break zzForAction; + } + + case 12: + switch (zzInput) { + case 1: + case 2: + case 3: + case 4: + zzIsFinal = true; + break zzForNext; + default: + break zzForAction; + } + + case 13: + switch (zzInput) { + case 1: + case 2: + case 3: + case 4: + zzIsFinal = true; + break zzForNext; + default: + break zzForAction; + } + + case 14: + switch (zzInput) { + case 1: + case 2: + case 3: + zzState = 27; + break zzForNext; + case 8: + case 9: + break zzForAction; + default: + zzIsFinal = true; + break zzForNext; + } + + case 15: + switch (zzInput) { + case 9: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 19; + break zzForNext; + case 1: + case 2: + case 3: + case 4: + zzState = 28; + break zzForNext; + default: + break zzForAction; + } + + case 16: + switch (zzInput) { + case 9: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 19; + break zzForNext; + case 1: + case 2: + case 3: + case 4: + zzState = 28; + break zzForNext; + default: + break zzForAction; + } + + case 17: + switch (zzInput) { + case 2: + zzIsFinal = true; + zzState = 16; + break zzForNext; + case 9: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 19; + break zzForNext; + case 1: + case 3: + case 4: + zzState = 28; + break zzForNext; + default: + break zzForAction; + } + + case 18: + switch (zzInput) { + case 4: + zzIsFinal = true; + break zzForNext; + case 9: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 19; + break zzForNext; + case 1: + case 2: + case 3: + zzState = 29; + break zzForNext; + case 8: + break zzForAction; + default: + zzIsFinal = true; + zzState = 14; + break zzForNext; + } + + case 20: + switch (zzInput) { + case 1: + case 2: + case 3: + case 4: + zzIsFinal = true; + break zzForNext; + default: + break zzForAction; + } + + case 21: + switch (zzInput) { + case 1: + case 2: + case 3: + case 4: + zzIsFinal = true; + break zzForNext; + default: + break zzForAction; + } + + case 22: + switch (zzInput) { + case 1: + case 2: + case 3: + case 4: + zzState = 23; + break zzForNext; + case 9: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 25; + break zzForNext; + default: + break zzForAction; + } + + case 23: + switch (zzInput) { + case 1: + case 2: + case 3: + case 4: + break zzForNext; + case 9: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 25; + break zzForNext; + default: + break zzForAction; + } + + case 24: + switch (zzInput) { + case 4: + zzIsFinal = true; + break zzForNext; + case 9: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 25; + break zzForNext; + case 1: + case 2: + case 3: + zzState = 30; + break zzForNext; + case 8: + break zzForAction; + default: + zzIsFinal = true; + zzState = 14; + break zzForNext; + } + + case 26: + switch (zzInput) { + case 11: + zzState = 31; + break zzForNext; + default: + break zzForNext; + } + + case 27: + switch (zzInput) { + case 1: + case 2: + case 3: + break zzForNext; + case 8: + case 9: + break zzForAction; + default: + zzIsFinal = true; + zzState = 14; + break zzForNext; + } + + case 28: + switch (zzInput) { + case 9: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 19; + break zzForNext; + case 1: + case 2: + case 3: + case 4: + break zzForNext; + default: + break zzForAction; + } + + case 29: + switch (zzInput) { + case 4: + zzIsFinal = true; + zzState = 18; + break zzForNext; + case 9: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 19; + break zzForNext; + case 1: + case 2: + case 3: + break zzForNext; + case 8: + break zzForAction; + default: + zzIsFinal = true; + zzState = 14; + break zzForNext; + } + + case 30: + switch (zzInput) { + case 4: + zzIsFinal = true; + zzState = 24; + break zzForNext; + case 9: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 25; + break zzForNext; + case 1: + case 2: + case 3: + break zzForNext; + case 8: + break zzForAction; + default: + zzIsFinal = true; + zzState = 14; + break zzForNext; + } + + case 31: + switch (zzInput) { + case 11: + break zzForNext; + case 10: + zzIsFinal = true; + zzNoLookAhead = true; + zzState = 32; + break zzForNext; + default: + zzState = 26; + break zzForNext; + } + + default: + // if this is ever reached, there is a serious bug in JFlex + zzScanError(ZZ_UNKNOWN_ERROR); + break; + } + } + + if ( zzIsFinal ) { + zzAction = zzState; + zzMarkedPosL = zzCurrentPosL; + if ( zzNoLookAhead ) { + break zzForAction; + } + } + + } + } + + // store back cached position + zzMarkedPos = zzMarkedPosL; + + switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) { + case 9 : { + yybegin(BLOCK); + } + case 12: + break; + case 4: { + openBlock(); + yybegin(BLOCK); + } + case 13: + break; + case 8: { + value = yytext(); + pushKeyValue(); + } + case 14: + break; + case 10: { + yybegin(VALUELINE); + } + case 15: + break; + case 2: { + return -1; + } + case 16: + break; + case 11: { + yybegin(LINE); + } + case 17: + break; + case 6: { + yybegin(VALUE); + } + case 18: + break; + case 5: { + key = yytext(); + } + case 19: + break; + case 7: { + closeBlock(); + yybegin(YYINITIAL); + } + case 20: + break; + case 3: { + identifier = yytext(); + } + case 21: + break; + case 1: { + } + case 22: + break; + default: + if (zzInput == YYEOF && zzStartRead == zzCurrentPos) { + zzAtEOF = true; + { + return 0; + } + } else { + zzScanError(ZZ_NO_MATCH); + } + } + } + } + + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/CSSParserException.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/CSSParserException.java new file mode 100755 index 000000000..29c49e8cc --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/CSSParserException.java @@ -0,0 +1,27 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.xmlloader; + +/** + * CSS parser exception + */ +public class CSSParserException extends Exception { + + /** + * Default constructor + * @param msg the error message + */ + public CSSParserException(String msg) { + super(msg); + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/GOBuilder.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/GOBuilder.java new file mode 100755 index 000000000..32a6c71a8 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/GOBuilder.java @@ -0,0 +1,871 @@ +package org.scilab.modules.graphic_objects.xmlloader; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BORDER_OPT_PADDING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CALLBACKTYPE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CALLBACK__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CLOSEREQUESTFCN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FIGURE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_GRID_OPT_GRID__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_GRID_OPT_PADDING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_HIDDEN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_INFOBAR_VISIBLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LAYOUT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LINE_THICKNESS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MARGINS__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MENUBAR_VISIBLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MENUBAR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_NAME__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_POSITION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_RESIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TAG__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TITLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TOOLBAR_VISIBLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TOOLBAR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TYPE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UIMENU__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_BACKGROUNDCOLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_BORDER_POSITION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_BORDER_PREFERREDSIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_CHECKBOX__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_CHECKED__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_EDIT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_ENABLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTANGLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTNAME__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTSIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FONTWEIGHT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FOREGROUNDCOLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_COLOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_HIGHLIGHT_IN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_IN_BORDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_JUSTIFICATION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_OUT_BORDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_POSITION__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_ROUNDED__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_SHADOW_IN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_SHADOW_OUT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_STYLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_TITLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_SCROLLABLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GRIDBAG_ANCHOR__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GRIDBAG_FILL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GRIDBAG_GRID__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GRIDBAG_PADDING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GRIDBAG_PREFERREDSIZE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GRIDBAG_WEIGHT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_GROUP_NAME__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_HORIZONTALALIGNMENT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_ICON__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_IMAGE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LABEL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LISTBOX__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_MAX__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_MIN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_POPUPMENU__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_PUSHBUTTON__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_RADIOBUTTON__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SCROLLABLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SPINNER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_STRING__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TAB__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TEXT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VISIBLE__; + +import java.awt.Color; +import java.lang.reflect.Field; +import java.util.HashMap; +import java.util.Map; + +import org.scilab.modules.graphic_objects.builder.Builder; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.Type; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; +import org.scilab.modules.graphic_objects.uicontrol.frame.border.FrameBorder; +import org.scilab.modules.graphic_objects.uicontrol.frame.border.FrameBorder.BorderType; +import org.scilab.modules.graphic_objects.uicontrol.frame.border.FrameBorderType; +import org.scilab.modules.graphic_objects.utils.LayoutType; +import org.xml.sax.Attributes; + +public class GOBuilder { + public static Integer figureBuilder(GraphicController controller, Attributes attributes) { + Integer fig = Builder.createFigure(false, 0, 0, false, false); + String item = null; + + // id + XmlTools.setPropAsString(fig, __GO_TAG__, attributes.getValue("id")); + + // position + Integer[] position = (Integer[]) controller.getProperty(fig, __GO_POSITION__); + + // posX + item = attributes.getValue("posX"); + if (item != null) { + position[0] = Integer.parseInt(item); + } + + // posY + item = attributes.getValue("posY"); + if (item != null) { + position[1] = Integer.parseInt(item); + } + + // set position + controller.setProperty(fig, __GO_POSITION__, position); + + Integer[] size = (Integer[]) controller.getProperty(fig, __GO_SIZE__); + // width + item = attributes.getValue("width"); + if (item != null) { + size[0] = Integer.parseInt(item); + } + + // height + item = attributes.getValue("height"); + if (item != null) { + size[1] = Integer.parseInt(item); + } + + // set size + controller.setProperty(fig, __GO_SIZE__, size); + + // title + XmlTools.setPropAsString(fig, __GO_NAME__, attributes.getValue("title")); + + // resizable + XmlTools.setPropAsBoolean(fig, __GO_RESIZE__, attributes.getValue("resizable")); + + // layout and layout_options + item = attributes.getValue("layout"); + if (item == null) { + item = "name:border"; //default layout is border + } + + setLayoutProperty(controller, fig, item); + + + //icon + item = attributes.getValue("icon"); + if (item != null) { + controller.setProperty(fig, __GO_UI_ICON__, item); + } + + item = attributes.getValue("onclose"); + if (item != null) { + controller.setProperty(fig, __GO_CLOSEREQUESTFCN__, item); + } + + //set default value for menu/info/tool bars and visibility + controller.setProperty(fig, __GO_MENUBAR__, 0); + controller.setProperty(fig, __GO_TOOLBAR__, 0); + + controller.setProperty(fig, __GO_MENUBAR_VISIBLE__, false); + controller.setProperty(fig, __GO_TOOLBAR_VISIBLE__, false); + controller.setProperty(fig, __GO_INFOBAR_VISIBLE__, false); + + + // visible + XmlTools.setPropAsBoolean(fig, __GO_VISIBLE__, attributes.getValue("visible")); + + return fig; + } + + public static Integer axesBuilder(GraphicController controller, Attributes attributes) { + Integer axes = GraphicController.getController().askObject(Type.AXES); + String id = attributes.getValue("id"); + if (id != null) { + controller.setProperty(axes, __GO_TAG__, id); + } + return axes; + } + + public static Integer uicontrolBuilder(GraphicController controller, int type, Attributes attributes, int parent) { + if (type == __GO_UI_FRAME__) { + String item = attributes.getValue("scrollable"); + if (item != null && item.equals("true")) { + type = __GO_UI_FRAME_SCROLLABLE__; + } + } + + Integer uic = 0; + if (type == -1) { //label latex + uic = controller.askObject(GraphicObject.getTypeFromName(__GO_UI_TEXT__)); + controller.setProperty(uic, __GO_UI_STRING__, new String[] {"$$"}); + } else if (type == -2) { + uic = controller.askObject(GraphicObject.getTypeFromName(__GO_UI_EDIT__)); + controller.setProperty(uic, __GO_UI_MIN__, 0.0); + controller.setProperty(uic, __GO_UI_MAX__, 2.0); + } else { + uic = controller.askObject(GraphicObject.getTypeFromName(type)); + } + + return uicontrolUpdater(controller, uic, attributes, parent); + } + + public static Integer uicontrolUpdater(GraphicController controller, int uic, Attributes attributes, int parent) { + return uicontrolUpdater(controller, uic, attributes, parent, null); + } + + public static Integer uicontrolUpdater(GraphicController controller, int uic, Attributes attributes, int parent, Map<String, String> fromModel) { + String item = null; + + try { + Map<String, String> xmlAttributes = new HashMap<String, String>(); + Map<String, String> map = null; + // Common attributes + + if (fromModel != null) { + for (Map.Entry<String, String> prop : fromModel.entrySet()) { + xmlAttributes.put(prop.getKey(), prop.getValue()); + } + } + + for (int i = 0; i < attributes.getLength(); i++) { + String name = attributes.getLocalName(i); + String value = attributes.getValue(i); + xmlAttributes.put(name, value); + } + + // id + XmlTools.setPropAsString(uic, __GO_TAG__, xmlAttributes.get("id")); + + // layout and layout_options + item = xmlAttributes.get("layout"); + + if (item == null) { + item = "name:none"; + } + setLayoutProperty(controller, uic, item); + + //visible + item = xmlAttributes.get("visible"); + if (item == null || item.equals("true") || item.equals("on")) { + controller.setProperty(uic, __GO_VISIBLE__, true); + } else { + controller.setProperty(uic, __GO_VISIBLE__, false); + } + + //enable + boolean enable = true; + item = attributes.getValue("enable"); + if (item != null && (item.equals("false") || item.equals("off"))) { + enable = false; + } + + //enabled + item = attributes.getValue("enabled"); + if (item != null && (item.equals("false") || item.equals("off"))) { + enable = false; + } + + controller.setProperty(uic, __GO_UI_ENABLE__, enable); + + //backgroundcolor + item = xmlAttributes.get("background"); + if (item != null) { + controller.setProperty(uic, __GO_UI_BACKGROUNDCOLOR__, getColor(item)); + } + + // constraints + + // get parent layout + LayoutType layout = LayoutType.NONE; + if (parent != 0) { + layout = LayoutType.intToEnum((Integer) controller.getProperty(parent, __GO_LAYOUT__)); + } + + + //font properties + + //fontname + item = xmlAttributes.get("font-name"); + if (item != null) { + controller.setProperty(uic, __GO_UI_FONTNAME__, item); + } + + item = xmlAttributes.get("fontname"); + if (item != null) { + controller.setProperty(uic, __GO_UI_FONTNAME__, item); + } + + //fontsize + item = xmlAttributes.get("font-size"); + if (item != null) { + controller.setProperty(uic, __GO_UI_FONTSIZE__, Double.parseDouble(item)); + } + + item = xmlAttributes.get("fontsize"); + if (item != null) { + controller.setProperty(uic, __GO_UI_FONTSIZE__, Double.parseDouble(item)); + } + + //units and position + String[] units = null; + item = xmlAttributes.get("units"); + if (item != null) { + units = item.split("[,;]"); + } + + //position, take care of units values + item = xmlAttributes.get("position"); + if (item != null) { + Double[] pos = new Double[4]; + Double[] parentSize = new Double[] {934.0, 511.0}; + String[] strPos = item.split("[,;]"); + for (int i = 0 ; i < strPos.length ; i++) { + pos[i] = Double.parseDouble(strPos[i]); + if (units != null && units[i].equals("n")) { + //convert %age to pixel + pos[i] = parentSize[i % 2] * pos[i]; + } + } + + controller.setProperty(uic, __GO_POSITION__, pos); + } + + item = xmlAttributes.get("opaque"); + if (item != null && (item.equals("false") || item.equals("off"))) { + controller.setProperty(uic, __GO_UI_BACKGROUNDCOLOR__, new Double[] { -2.0, -2.0, -2.0}); + } + + if (layout != LayoutType.NONE) { + item = xmlAttributes.get("constraint"); + if (item != null) { + map = CSSParser.parseLine(item); + } + + switch (layout) { + case BORDER: { + item = XmlTools.getFromMap(map, "position", "center"); + controller.setProperty(uic, __GO_UI_BORDER_POSITION__, Uicontrol.BorderLayoutType.stringToEnum2(item).ordinal()); + Integer[] preferredsize = new Integer[] { -1, -1}; + item = xmlAttributes.get("preferred-size"); + if (item != null) { + String[] pref = item.split("[,;]"); + for (int i = 0; i < pref.length && i < 4; i++) { + preferredsize[i] = Integer.parseInt(pref[i]); + } + } + + controller.setProperty(uic, __GO_UI_BORDER_PREFERREDSIZE__, preferredsize); + break; + } + case GRIDBAG: { + Integer[] grid = new Integer[] { 0, 0, 0, 0 }; + grid[0] = Integer.parseInt(XmlTools.getFromMap(map, "gridx", "0")); + grid[1] = Integer.parseInt(XmlTools.getFromMap(map, "gridy", "0")); + grid[2] = Integer.parseInt(XmlTools.getFromMap(map, "gridwidth", "1")); + grid[3] = Integer.parseInt(XmlTools.getFromMap(map, "gridheight", "1")); + + Double[] weight = new Double[] { 0.0, 0.0 }; + weight[0] = Double.parseDouble(XmlTools.getFromMap(map, "weightx", "1.0")); + weight[1] = Double.parseDouble(XmlTools.getFromMap(map, "weighty", "1.0")); + + Integer fill = Uicontrol.FillType.stringToEnum(XmlTools.getFromMap(map, "fill", "none")).ordinal(); + Integer anchor = Uicontrol.AnchorType.stringToEnum2(XmlTools.getFromMap(map, "anchor", "center")).ordinal(); + + Integer[] padding = new Integer[] { 0, 0 }; + padding[0] = Integer.parseInt(XmlTools.getFromMap(map, "ipadx", "0")); + padding[1] = Integer.parseInt(XmlTools.getFromMap(map, "ipady", "0")); + + Integer[] preferredsize = new Integer[] { -1, -1}; + item = xmlAttributes.get("preferred-size"); + if (item != null) { + String[] pref = item.split("[,;]"); + for (int i = 0; i < pref.length && i < 4; i++) { + preferredsize[i] = Integer.parseInt(pref[i]); + } + } + controller.setProperty(uic, __GO_UI_GRIDBAG_GRID__, grid); + controller.setProperty(uic, __GO_UI_GRIDBAG_WEIGHT__, weight); + controller.setProperty(uic, __GO_UI_GRIDBAG_FILL__, fill); + controller.setProperty(uic, __GO_UI_GRIDBAG_ANCHOR__, anchor); + controller.setProperty(uic, __GO_UI_GRIDBAG_PADDING__, padding); + controller.setProperty(uic, __GO_UI_GRIDBAG_PREFERREDSIZE__, preferredsize); + break; + } + default: + break; + } + + // insets -> marging + String insets = XmlTools.getFromMap(map, "insets", "0,0,0,0"); + Double[] margins = new Double[] { 0.0, 0.0, 0.0, 0.0 }; + String[] inset = insets.split("[,;]"); + for (int i = 0; i < inset.length && i < 4; i++) { + margins[i] = Double.parseDouble(inset[i]); + } + + controller.setProperty(uic, __GO_MARGINS__, margins); + } + + // specific attributes + Integer type = (Integer) controller.getProperty(uic, __GO_STYLE__); + switch (type) { + case __GO_UI_FRAME__: { + // border + item = xmlAttributes.get("border"); + if (item != null) { + map = CSSParser.parseLine(item); + } + + FrameBorderType borderType = FrameBorderType.stringToEnum(XmlTools.getFromMap(map, "name", "none")); + Integer border = createBorder(controller, uic, borderType, map); + controller.setProperty(uic, __GO_UI_FRAME_BORDER__, border); + + String[] text = new String[1]; + text[0] = xmlAttributes.get("tab-title"); + if (text[0] != null) { + controller.setProperty(uic, __GO_UI_STRING__, text); + } + + item = xmlAttributes.get("scrollable"); + if (item == null || item.equals("false")) { + controller.setProperty(uic, __GO_UI_SCROLLABLE__, false); + } else { + controller.setProperty(uic, __GO_UI_SCROLLABLE__, true); + } + + break; + } + + case __GO_UI_TAB__: { + item = xmlAttributes.get("ui-style"); + if (item != null) { + map = CSSParser.parseLine(item); + item = XmlTools.getFromMap(map, "bold", "false"); + if (item.equals("true")) { + controller.setProperty(uic, __GO_UI_FONTWEIGHT__, "bold"); + } + + item = XmlTools.getFromMap(map, "italic", "false"); + if (item.equals("true")) { + controller.setProperty(uic, __GO_UI_FONTANGLE__, "italic"); + } + } + break; + } + case __GO_UI_IMAGE__: { + String[] text = new String[1]; + text[0] = xmlAttributes.get("image"); + if (text[0] != null) { + controller.setProperty(uic, __GO_UI_STRING__, text); + } + break; + } + case __GO_UI_CHECKBOX__: { + String[] text = new String[1]; + text[0] = xmlAttributes.get("text"); + if (text[0] != null) { + controller.setProperty(uic, __GO_UI_STRING__, text); + } + + //groupname + item = xmlAttributes.get("button-group"); + if (item != null && item.equals("") == false) { + controller.setProperty(uic, __GO_UI_GROUP_NAME__, item); + } + + //callback + item = xmlAttributes.get("onclick"); + if (item != null && item.equals("") == false) { + controller.setProperty(uic, __GO_CALLBACK__, item); + controller.setProperty(uic, __GO_CALLBACKTYPE__, 0); + } + + break; + } + case __GO_UI_RADIOBUTTON__: { + String[] text = new String[1]; + text[0] = xmlAttributes.get("text"); + if (text[0] != null) { + controller.setProperty(uic, __GO_UI_STRING__, text); + } + + //groupname + item = xmlAttributes.get("button-group"); + if (item != null && item.equals("") == false) { + controller.setProperty(uic, __GO_UI_GROUP_NAME__, item); + } + + //callback + item = xmlAttributes.get("onclick"); + if (item != null && item.equals("") == false) { + controller.setProperty(uic, __GO_CALLBACK__, item); + controller.setProperty(uic, __GO_CALLBACKTYPE__, 0); + } + + break; + } + case __GO_UI_PUSHBUTTON__: { + + //string + String[] text = new String[1]; + text[0] = xmlAttributes.get("text"); + if (text[0] != null) { + controller.setProperty(uic, __GO_UI_STRING__, text); + } + + + //icon + item = xmlAttributes.get("icon"); + if (item != null) { + controller.setProperty(uic, __GO_UI_ICON__, item); + } + + //callback + item = xmlAttributes.get("onclick"); + if (item != null && item.equals("") == false) { + controller.setProperty(uic, __GO_CALLBACK__, item); + controller.setProperty(uic, __GO_CALLBACKTYPE__, 0); + } + + break; + } + case __GO_UI_TEXT__: { //label + controller.setProperty(uic, __GO_UI_HORIZONTALALIGNMENT__, "left"); + item = xmlAttributes.get("alignment"); + if (item != null) { + if (item.equals("left")) { + controller.setProperty(uic, __GO_UI_HORIZONTALALIGNMENT__, "left"); + } else if (item.equals("center")) { + controller.setProperty(uic, __GO_UI_HORIZONTALALIGNMENT__, "center"); + } else if (item.equals("right")) { + controller.setProperty(uic, __GO_UI_HORIZONTALALIGNMENT__, "right"); + } + } + + String[] text = new String[1]; + text[0] = xmlAttributes.get("text"); + if (text[0] != null) { + String[] old = (String[])controller.getProperty(uic, __GO_UI_STRING__); + if (old != null && old[0] != null && old[0].equals("$$")) { + text[0] = "$" + text[0] + "$"; + } + controller.setProperty(uic, __GO_UI_STRING__, text); + } + + //icon + item = xmlAttributes.get("icon"); + if (item != null) { + controller.setProperty(uic, __GO_UI_ICON__, item); + } + + //color + item = xmlAttributes.get("color"); + if (item != null) { + Color color = Color.decode(item); + Double[] val = new Double[] {(double) color.getRed() / 255, (double) color.getGreen() / 255, (double) color.getBlue() / 255}; + controller.setProperty(uic, __GO_UI_FOREGROUNDCOLOR__, val); + } + + item = xmlAttributes.get("ui-style"); + if (item != null) { + map = CSSParser.parseLine(item); + item = XmlTools.getFromMap(map, "bold", "false"); + if (item.equals("true")) { + controller.setProperty(uic, __GO_UI_FONTWEIGHT__, "bold"); + } + + item = XmlTools.getFromMap(map, "italic", "false"); + if (item.equals("true")) { + controller.setProperty(uic, __GO_UI_FONTANGLE__, "italic"); + } + } + + break; + } + case __GO_UI_EDIT__ : { + controller.setProperty(uic, __GO_UI_HORIZONTALALIGNMENT__, "left"); + item = xmlAttributes.get("alignment"); + if (item != null) { + if (item.equals("left")) { + controller.setProperty(uic, __GO_UI_HORIZONTALALIGNMENT__, "left"); + } else if (item.equals("center")) { + controller.setProperty(uic, __GO_UI_HORIZONTALALIGNMENT__, "center"); + } else if (item.equals("right")) { + controller.setProperty(uic, __GO_UI_HORIZONTALALIGNMENT__, "right"); + } + } + + item = xmlAttributes.get("scrollable"); + if (item != null && (item.equals("true") || item.equals("on"))) { + controller.setProperty(uic, __GO_UI_SCROLLABLE__, true); + } + + //callback + item = xmlAttributes.get("onenter"); + if (item != null && item.equals("") == false) { + controller.setProperty(uic, __GO_CALLBACK__, item); + controller.setProperty(uic, __GO_CALLBACKTYPE__, 0); + } + + item = xmlAttributes.get("onfocusloss"); + if (item != null && item.equals("") == false) { + controller.setProperty(uic, __GO_CALLBACK__, item); + controller.setProperty(uic, __GO_CALLBACKTYPE__, 0); + } + + break; + } + case __GO_UI_POPUPMENU__ : { + item = xmlAttributes.get("items"); + if (item != null && item.equals("") == false) { + controller.setProperty(uic, __GO_UI_STRING__, new String[] {item}); + } + + item = xmlAttributes.get("prototype-display-value"); + if (item != null && item.equals("") == false) { + controller.setProperty(uic, __GO_UI_MAX__, new Double(item.length())); + } + + //callback + item = xmlAttributes.get("onchange"); + if (item != null && item.equals("") == false) { + controller.setProperty(uic, __GO_CALLBACK__, item); + controller.setProperty(uic, __GO_CALLBACKTYPE__, 0); + } + + break; + } + case __GO_UI_LISTBOX__ : { + item = xmlAttributes.get("items"); + if (item != null && item.equals("") == false) { + controller.setProperty(uic, __GO_UI_STRING__, new String[] {item}); + } + + item = xmlAttributes.get("multiple"); + if (item != null && item.equals("true")) { + controller.setProperty(uic, __GO_UI_MIN__, 0.0); + controller.setProperty(uic, __GO_UI_MAX__, 2.0); + } + + //callback + item = xmlAttributes.get("onclick"); + if (item != null && item.equals("") == false) { + controller.setProperty(uic, __GO_CALLBACK__, item); + controller.setProperty(uic, __GO_CALLBACKTYPE__, 0); + } + + break; + } + case __GO_UI_SPINNER__: { + + } + } + + } catch (CSSParserException e) { + e.printStackTrace(); + } + + return uic; + } + + private static void setLayoutProperty(GraphicController controller, Integer uid, String item) { + try { + Map<String, String> map = null; + map = CSSParser.parseLine(item); + item = map.get("name"); + LayoutType layout = LayoutType.stringToEnum(item); + + // layout_options + switch (layout) { + case BORDER: { + Integer[] pad = new Integer[] { 0, 0 }; + pad[0] = Integer.parseInt(XmlTools.getFromMap(map, "hgap", "0")); + pad[1] = Integer.parseInt(XmlTools.getFromMap(map, "vgap", "0")); + + controller.setProperty(uid, __GO_BORDER_OPT_PADDING__, pad); + break; + } + case GRID: { + Integer[] grid = new Integer[] { 0, 0 }; + grid[0] = Integer.parseInt(XmlTools.getFromMap(map, "rows", "0")); + grid[1] = Integer.parseInt(XmlTools.getFromMap(map, "cols", "0")); + + Integer[] pad = new Integer[] { 0, 0 }; + pad[0] = Integer.parseInt(XmlTools.getFromMap(map, "hgap", "0")); + pad[1] = Integer.parseInt(XmlTools.getFromMap(map, "vgap", "0")); + + controller.setProperty(uid, __GO_GRID_OPT_GRID__, grid); + controller.setProperty(uid, __GO_GRID_OPT_PADDING__, pad); + break; + } + default: + case GRIDBAG: + case NONE: + // nothing to do + break; + } + controller.setProperty(uid, __GO_LAYOUT__, layout.ordinal()); + } catch (CSSParserException e) { + e.printStackTrace(); + } + + } + + public static Integer uimenuBuilder(GraphicController controller, Attributes attributes, int parent) { + Integer parentType = (Integer)controller.getProperty(parent, __GO_TYPE__); + if (parentType == __GO_FIGURE__) { + controller.setProperty(parent, __GO_MENUBAR_VISIBLE__, true); + } + + Integer uim = controller.askObject(GraphicObject.getTypeFromName(__GO_UIMENU__)); + + String item = null; + + item = attributes.getValue("id"); + if (item != null) { + controller.setProperty(uim, __GO_TAG__, item); + } + + item = attributes.getValue("text"); + if (item != null) { + controller.setProperty(uim, __GO_UI_LABEL__, item); + } + + item = attributes.getValue("onclick"); + if (item != null) { + controller.setProperty(uim, __GO_CALLBACK__, item); + controller.setProperty(uim, __GO_CALLBACKTYPE__, 0); + } + + item = attributes.getValue("checked"); + if (item != null && (item.equals("true") || item.equals("on"))) { + controller.setProperty(uim, __GO_UI_CHECKED__, true); + } + + item = attributes.getValue("icon"); + if (item != null) { + controller.setProperty(uim, __GO_UI_ICON__, item); + } + + return uim; + } + + private static Integer createBorder(GraphicController controller, Integer uic, FrameBorderType borderType, Map<String, String> map) { + Integer border = controller.askObject(GraphicObject.getTypeFromName(__GO_UI_FRAME_BORDER__)); + controller.setProperty(border, __GO_UI_FRAME_BORDER_STYLE__, borderType.ordinal()); + controller.setProperty(border, __GO_HIDDEN__, true); + + switch (borderType) { + case SOFTBEVEL: + case BEVEL: { + BorderType etching = BorderType.stringToEnum(XmlTools.getFromMap(map, "type", "none")); + String color = XmlTools.getFromMap(map, "color", "black"); + + controller.setProperty(border, __GO_TYPE__, etching.ordinal()); + controller.setProperty(border, __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__, color); + controller.setProperty(border, __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__, color); + controller.setProperty(border, __GO_UI_FRAME_BORDER_SHADOW_OUT__, color); + controller.setProperty(border, __GO_UI_FRAME_BORDER_SHADOW_IN__, color); + break; + } + case COMPOUND: { + FrameBorderType borderOut = FrameBorderType.stringToEnum(XmlTools.getFromMap(map, "border-out", "none")); + FrameBorderType borderIn = FrameBorderType.stringToEnum(XmlTools.getFromMap(map, "border-in", "none")); + + Integer out = createBorder(controller, border, borderOut, map); + Integer in = createBorder(controller, border, borderIn, map); + + controller.setProperty(border, __GO_UI_FRAME_BORDER_OUT_BORDER__, out); + + controller.setProperty(border, __GO_UI_FRAME_BORDER_IN_BORDER__, in); + + break; + } + case EMPTY: { + Double[] position = new Double[4]; + position[0] = Double.parseDouble(XmlTools.getFromMap(map, "top", "0")); + position[1] = Double.parseDouble(XmlTools.getFromMap(map, "left", "0")); + position[2] = Double.parseDouble(XmlTools.getFromMap(map, "right", "0")); + position[3] = Double.parseDouble(XmlTools.getFromMap(map, "bottom", "0")); + + controller.setProperty(border, __GO_POSITION__, position); + break; + } + case ETCHED: { + BorderType etching = BorderType.stringToEnum(XmlTools.getFromMap(map, "type", "none")); + String color = XmlTools.getFromMap(map, "color", "black"); + + controller.setProperty(border, __GO_TYPE__, etching.ordinal()); + controller.setProperty(border, __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__, color); + controller.setProperty(border, __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__, color); + break; + } + case LINE: { + String color = XmlTools.getFromMap(map, "color", "black"); + Integer thickness = Integer.parseInt(XmlTools.getFromMap(map, "thickness", "1")); + Boolean rounded = Boolean.parseBoolean(XmlTools.getFromMap(map, "rounded", "false")); + + controller.setProperty(border, __GO_UI_FRAME_BORDER_COLOR__, color); + controller.setProperty(border, __GO_LINE_THICKNESS__, thickness); + controller.setProperty(border, __GO_UI_FRAME_BORDER_ROUNDED__, rounded); + break; + } + case MATTE: { + Double[] position = new Double[4]; + position[0] = Double.parseDouble(XmlTools.getFromMap(map, "top", "0")); + position[1] = Double.parseDouble(XmlTools.getFromMap(map, "left", "0")); + position[2] = Double.parseDouble(XmlTools.getFromMap(map, "right", "0")); + position[3] = Double.parseDouble(XmlTools.getFromMap(map, "bottom", "0")); + String color = XmlTools.getFromMap(map, "color", "black"); + + controller.setProperty(border, __GO_POSITION__, position); + controller.setProperty(border, __GO_UI_FRAME_BORDER_COLOR__, color); + break; + } + case TITLED: { + + String title = XmlTools.getFromMap(map, "title", ""); + FrameBorder.JustificationType justify = FrameBorder.JustificationType.stringToEnum(XmlTools.getFromMap(map, "justify", "leading")); + String fontName = XmlTools.getFromMap(map, "font-name", ""); + String fontAngle = XmlTools.getFromMap(map, "italic", "false") == "false" ? "normal" : "italic"; + Integer fontSize = Integer.parseInt(XmlTools.getFromMap(map, "font-size", "0")); + String fontWeight = XmlTools.getFromMap(map, "bold", "false") == "false" ? "normal" : "bold"; + + FrameBorder.TitlePositionType position = FrameBorder.TitlePositionType.stringToEnum(XmlTools.getFromMap(map, "position", "leading")); + + String color = XmlTools.getFromMap(map, "color", "black"); + + FrameBorderType borderOut = FrameBorderType.stringToEnum(XmlTools.getFromMap(map, "border", "")); + if (borderOut != null) { + Integer out = createBorder(controller, border, borderOut, map); + controller.setProperty(border, __GO_UI_FRAME_BORDER_TITLE__, out); + } + + controller.setProperty(border, __GO_TITLE__, title); + controller.setProperty(border, __GO_UI_FRAME_BORDER_JUSTIFICATION__, justify.ordinal()); + controller.setProperty(border, __GO_UI_FONTNAME__, fontName); + controller.setProperty(border, __GO_UI_FONTANGLE__, fontAngle); + controller.setProperty(border, __GO_UI_FONTSIZE__, fontSize); + controller.setProperty(border, __GO_UI_FONTWEIGHT__, fontWeight); + controller.setProperty(border, __GO_UI_FRAME_BORDER_POSITION__, position.ordinal()); + controller.setProperty(border, __GO_UI_FRAME_BORDER_COLOR__, color); + + break; + } + case NONE: + default: + break; + } + + controller.setGraphicObjectRelationship(uic, border); + return border; + } + + private static Double[] getColor(String str) { + try { + Field field = Class.forName("java.awt.Color").getField(str); + Color color = (Color) field.get(null); + return new Double[] {(double) color.getRed() / 255, (double) color.getGreen() / 255, (double) color.getBlue() / 255}; + } catch (Exception e) { + return new Double[] {(double) Color.black.getRed() / 255, (double) Color.black.getGreen() / 255, (double) Color.black.getBlue() / 255}; + } + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/Pair.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/Pair.java new file mode 100755 index 000000000..b346191b1 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/Pair.java @@ -0,0 +1,62 @@ +package org.scilab.modules.graphic_objects.xmlloader; + + +public class Pair<First, Second> { + private First first; + private Second second; + + public Pair(First first, Second second) { + this.first = first; + this.second = second; + } + + public void setFirst(First first) { + this.first = first; + } + + public void setSecond(Second second) { + this.second = second; + } + + public First getFirst() { + return first; + } + + public Second getSecond() { + return second; + } + + public void set(First first, Second second) { + setFirst(first); + setSecond(second); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + + Pair <? , ? > pair = (Pair <? , ? >) o; + + if (first != null ? !first.equals(pair.first) : pair.first != null) { + return false; + } + if (second != null ? !second.equals(pair.second) : pair.second != null) { + return false; + } + + return true; + } + + @Override + public int hashCode() { + int result = first != null ? first.hashCode() : 0; + result = 31 * result + (second != null ? second.hashCode() : 0); + return result; + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/XMLDomLoader.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/XMLDomLoader.java new file mode 100755 index 000000000..d71fcb71d --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/XMLDomLoader.java @@ -0,0 +1,949 @@ +package org.scilab.modules.graphic_objects.xmlloader; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +import java.awt.Color; +import java.io.File; +import java.util.HashMap; +import java.util.StringTokenizer; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.scilab.modules.commons.CommonFileUtils; +import org.scilab.modules.commons.gui.FindIconHelper; +import org.scilab.modules.graphic_objects.ScilabNativeView; +import org.scilab.modules.graphic_objects.builder.Builder; +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.figure.Figure; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicModel.GraphicModel; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; +import org.scilab.modules.graphic_objects.uicontrol.frame.border.FrameBorderType; +import org.scilab.modules.graphic_objects.utils.LayoutType; +import org.w3c.dom.Document; +import org.w3c.dom.NamedNodeMap; +import org.w3c.dom.Node; +import org.w3c.dom.NodeList; + +public class XMLDomLoader { + + private enum ModelType { + BOOLEAN, BOOLEAN_ARRAY, DOUBLE, DOUBLE_ARRAY, STRING, STRING_ARRAY, INTEGER, INTEGER_ARRAY, ROTATIONTYPE, BARTYPE, LAYOUTTYPE, FILLTYPE, ANCHORTYPE, POSITIONTYPE; + }; + + private static final int __NODE_SCILABGUI__ = -10; + private static final int __NODE_OUT__ = -20; + private static final int __NODE_IN__ = -30; + private static final int __NODE_TITLE__ = -40; + private static final int __NODE_STRING__ = -50; + private static final int __NODE_STRINGITEM__ = -50; + private static final int __NODE_COLORMAP__ = -60; + private static final int __NODE_COLORMAPITEM__ = -70; + + private static HashMap<String, Integer> nameToGO = new HashMap<String, Integer>(); + + private static HashMap<String, Pair<Integer, ModelType>> figPropToGO = new HashMap<String, Pair<Integer, ModelType>>(); + private static HashMap<String, Pair<Integer, ModelType>> UiPropToGO = new HashMap<String, Pair<Integer, ModelType>>(); + private static HashMap<String, Pair<Integer, ModelType>> MenuPropToGO = new HashMap<String, Pair<Integer, ModelType>>(); + private static HashMap<String, Pair<Integer, ModelType>> BorderPropToGO = new HashMap<String, Pair<Integer, ModelType>>(); + + static { + // init map to convert control name to id + nameToGO.put("figure", __GO_FIGURE__); + nameToGO.put("frame", __GO_UI_FRAME__); + nameToGO.put("layer", __GO_UI_LAYER__); + nameToGO.put("pushbutton", __GO_UI_PUSHBUTTON__); + nameToGO.put("text", __GO_UI_TEXT__); + nameToGO.put("checkbox", __GO_UI_CHECKBOX__); + nameToGO.put("textfield", __GO_UI_EDIT__); + nameToGO.put("spinner", __GO_UI_SPINNER__); + nameToGO.put("edit", __GO_UI_EDIT__); + nameToGO.put("image", __GO_UI_IMAGE__); + nameToGO.put("picture", __GO_UI_IMAGE__); + nameToGO.put("listbox", __GO_UI_LISTBOX__); + nameToGO.put("popupmenu", __GO_UI_POPUPMENU__); + nameToGO.put("radiobutton", __GO_UI_RADIOBUTTON__); + nameToGO.put("slider", __GO_UI_SLIDER__); + nameToGO.put("table", __GO_UI_TABLE__); + nameToGO.put("tab", __GO_UI_TAB__); + + nameToGO.put("menu", __GO_UIMENU__); + nameToGO.put("contextmenu", __GO_UICONTEXTMENU__); + + nameToGO.put("axes", __GO_AXES__); + + nameToGO.put("border", __GO_UI_FRAME_BORDER__); + + /* internal */ + nameToGO.put("out", __NODE_OUT__); + nameToGO.put("in", __NODE_IN__); + nameToGO.put("title", __NODE_TITLE__); + nameToGO.put("string", __NODE_STRING__); + nameToGO.put("stringitem", __NODE_STRINGITEM__); + nameToGO.put("colormap", __NODE_COLORMAP__); + nameToGO.put("colormapitem", __NODE_COLORMAPITEM__); + + /* system */ + nameToGO.put("scilabgui", __NODE_SCILABGUI__); + + //fill map of property -> {GO, ModelType} + + //figure property list + figPropToGO.put("figure_position", new Pair<Integer, ModelType>(__GO_POSITION__, ModelType.INTEGER_ARRAY)); + figPropToGO.put("figure_size", new Pair<Integer, ModelType>(__GO_SIZE__, ModelType.INTEGER_ARRAY)); + figPropToGO.put("axes_size", new Pair<Integer, ModelType>(__GO_AXES_SIZE__, ModelType.INTEGER_ARRAY)); + figPropToGO.put("auto_resize", new Pair<Integer, ModelType>(__GO_AUTORESIZE__, ModelType.BOOLEAN)); + figPropToGO.put("view_port", new Pair<Integer, ModelType>(__GO_VIEWPORT__, ModelType.INTEGER_ARRAY)); + figPropToGO.put("figure_name", new Pair<Integer, ModelType>(__GO_NAME__, ModelType.STRING)); + figPropToGO.put("figure_id", new Pair<Integer, ModelType>(__GO_ID__, ModelType.INTEGER)); + figPropToGO.put("info_message", new Pair<Integer, ModelType>(__GO_INFO_MESSAGE__, ModelType.STRING)); + figPropToGO.put("pixel_drawing_mode", new Pair<Integer, ModelType>(__GO_PIXEL_DRAWING_MODE__, ModelType.STRING)); + figPropToGO.put("anti_aliasing", new Pair<Integer, ModelType>(__GO_ANTIALIASING__, ModelType.BOOLEAN)); + figPropToGO.put("immediate_drawing", new Pair<Integer, ModelType>(__GO_IMMEDIATE_DRAWING__, ModelType.BOOLEAN)); + figPropToGO.put("background", new Pair<Integer, ModelType>(__GO_BACKGROUND__, ModelType.INTEGER)); + figPropToGO.put("visible", new Pair<Integer, ModelType>(__GO_VISIBLE__, ModelType.BOOLEAN)); + figPropToGO.put("rotation_style", new Pair<Integer, ModelType>(__GO_ROTATION_TYPE__, ModelType.ROTATIONTYPE)); + figPropToGO.put("event_handler", new Pair<Integer, ModelType>(__GO_EVENTHANDLER_NAME__, ModelType.STRING)); + figPropToGO.put("event_handler_enable", new Pair<Integer, ModelType>(__GO_EVENTHANDLER_ENABLE__, ModelType.BOOLEAN)); + figPropToGO.put("resizefcn", new Pair<Integer, ModelType>(__GO_RESIZEFCN__, ModelType.STRING)); + figPropToGO.put("closerequestfcn", new Pair<Integer, ModelType>(__GO_CLOSEREQUESTFCN__, ModelType.STRING)); + figPropToGO.put("resize", new Pair<Integer, ModelType>(__GO_RESIZE__, ModelType.BOOLEAN)); + figPropToGO.put("toolbar", new Pair<Integer, ModelType>(__GO_TOOLBAR__, ModelType.BARTYPE)); + figPropToGO.put("toolbar_visible", new Pair<Integer, ModelType>(__GO_TOOLBAR_VISIBLE__, ModelType.BOOLEAN)); + figPropToGO.put("menubar", new Pair<Integer, ModelType>(__GO_MENUBAR__, ModelType.BARTYPE)); + figPropToGO.put("menubar_visible", new Pair<Integer, ModelType>(__GO_MENUBAR_VISIBLE__, ModelType.BOOLEAN)); + figPropToGO.put("infobar_visible", new Pair<Integer, ModelType>(__GO_INFOBAR_VISIBLE__, ModelType.BOOLEAN)); + figPropToGO.put("dockable", new Pair<Integer, ModelType>(__GO_DOCKABLE__, ModelType.BOOLEAN)); + figPropToGO.put("layout", new Pair<Integer, ModelType>(__GO_LAYOUT__, ModelType.LAYOUTTYPE)); + figPropToGO.put("default_axes", new Pair<Integer, ModelType>(__GO_DEFAULT_AXES__, ModelType.BOOLEAN)); + figPropToGO.put("icon", new Pair<Integer, ModelType>(__GO_UI_ICON__, ModelType.STRING)); + figPropToGO.put("tag", new Pair<Integer, ModelType>(__GO_TAG__, ModelType.STRING)); + figPropToGO.put("grid_opt_grid", new Pair<Integer, ModelType>(__GO_GRID_OPT_GRID__, ModelType.INTEGER_ARRAY)); + figPropToGO.put("grid_opt_padding", new Pair<Integer, ModelType>(__GO_GRID_OPT_PADDING__, ModelType.INTEGER_ARRAY)); + figPropToGO.put("border_opt_padding", new Pair<Integer, ModelType>(__GO_BORDER_OPT_PADDING__, ModelType.INTEGER_ARRAY)); + + //uicontrol property list + UiPropToGO.put("position", new Pair<Integer, ModelType>(__GO_POSITION__, ModelType.INTEGER)); + UiPropToGO.put("backgroundcolor", new Pair<Integer, ModelType>(__GO_UI_BACKGROUNDCOLOR__, ModelType.DOUBLE_ARRAY)); + UiPropToGO.put("enable", new Pair<Integer, ModelType>(__GO_UI_ENABLE__, ModelType.BOOLEAN)); + UiPropToGO.put("fontangle", new Pair<Integer, ModelType>(__GO_UI_FONTANGLE__, ModelType.STRING)); + UiPropToGO.put("fontname", new Pair<Integer, ModelType>(__GO_UI_FONTNAME__, ModelType.STRING)); + UiPropToGO.put("fontsize", new Pair<Integer, ModelType>(__GO_UI_FONTSIZE__, ModelType.DOUBLE)); + UiPropToGO.put("fontunits", new Pair<Integer, ModelType>(__GO_UI_FONTUNITS__, ModelType.STRING)); + UiPropToGO.put("fontweight", new Pair<Integer, ModelType>(__GO_UI_FONTWEIGHT__, ModelType.STRING)); + UiPropToGO.put("foregroundcolor", new Pair<Integer, ModelType>(__GO_UI_FOREGROUNDCOLOR__, ModelType.DOUBLE_ARRAY)); + UiPropToGO.put("horizontalalignment", new Pair<Integer, ModelType>(__GO_UI_HORIZONTALALIGNMENT__, ModelType.STRING)); + UiPropToGO.put("listboxtop", new Pair<Integer, ModelType>(__GO_UI_LISTBOXTOP__, ModelType.INTEGER_ARRAY)); + UiPropToGO.put("max", new Pair<Integer, ModelType>(__GO_UI_MAX__, ModelType.DOUBLE)); + UiPropToGO.put("min", new Pair<Integer, ModelType>(__GO_UI_MIN__, ModelType.DOUBLE)); + UiPropToGO.put("position", new Pair<Integer, ModelType>(__GO_POSITION__, ModelType.DOUBLE_ARRAY)); + UiPropToGO.put("relief", new Pair<Integer, ModelType>(__GO_UI_RELIEF__, ModelType.STRING)); + UiPropToGO.put("sliderstep", new Pair<Integer, ModelType>(__GO_UI_SLIDERSTEP__, ModelType.DOUBLE_ARRAY)); + UiPropToGO.put("units", new Pair<Integer, ModelType>(__GO_UI_UNITS__, ModelType.STRING)); + UiPropToGO.put("value", new Pair<Integer, ModelType>(__GO_UI_VALUE__, ModelType.DOUBLE_ARRAY)); + UiPropToGO.put("verticalalignment", new Pair<Integer, ModelType>(__GO_UI_VERTICALALIGNMENT__, ModelType.STRING)); + UiPropToGO.put("string", new Pair<Integer, ModelType>(__GO_UI_STRING__, ModelType.STRING_ARRAY)); + UiPropToGO.put("tooltipstring", new Pair<Integer, ModelType>(__GO_UI_TOOLTIPSTRING__, ModelType.STRING_ARRAY)); + UiPropToGO.put("visible", new Pair<Integer, ModelType>(__GO_VISIBLE__, ModelType.BOOLEAN)); + UiPropToGO.put("layout", new Pair<Integer, ModelType>(__GO_LAYOUT__, ModelType.LAYOUTTYPE)); + UiPropToGO.put("callback", new Pair<Integer, ModelType>(__GO_CALLBACK__, ModelType.STRING)); + UiPropToGO.put("callback_type", new Pair<Integer, ModelType>(__GO_CALLBACKTYPE__, ModelType.INTEGER)); + UiPropToGO.put("gridbaggrid", new Pair<Integer, ModelType>(__GO_UI_GRIDBAG_GRID__, ModelType.INTEGER_ARRAY)); + UiPropToGO.put("gridbagweight", new Pair<Integer, ModelType>(__GO_UI_GRIDBAG_WEIGHT__, ModelType.DOUBLE_ARRAY)); + UiPropToGO.put("gridbagfill", new Pair<Integer, ModelType>(__GO_UI_GRIDBAG_FILL__, ModelType.FILLTYPE)); + UiPropToGO.put("gridbaganchor", new Pair<Integer, ModelType>(__GO_UI_GRIDBAG_ANCHOR__, ModelType.ANCHORTYPE)); + UiPropToGO.put("gridbagpadding", new Pair<Integer, ModelType>(__GO_UI_GRIDBAG_PADDING__, ModelType.INTEGER_ARRAY)); + UiPropToGO.put("gridbagpreferredsize", new Pair<Integer, ModelType>(__GO_UI_GRIDBAG_PREFERREDSIZE__, ModelType.INTEGER_ARRAY)); + UiPropToGO.put("borderposition", new Pair<Integer, ModelType>(__GO_UI_BORDER_POSITION__, ModelType.POSITIONTYPE)); + UiPropToGO.put("borderpreferredsize", new Pair<Integer, ModelType>(__GO_UI_BORDER_PREFERREDSIZE__, ModelType.INTEGER_ARRAY)); + UiPropToGO.put("margins", new Pair<Integer, ModelType>(__GO_MARGINS__, ModelType.DOUBLE_ARRAY)); + UiPropToGO.put("groupname", new Pair<Integer, ModelType>(__GO_UI_GROUP_NAME__, ModelType.STRING)); + UiPropToGO.put("icon", new Pair<Integer, ModelType>(__GO_UI_ICON__, ModelType.STRING)); + UiPropToGO.put("scrollable", new Pair<Integer, ModelType>(__GO_UI_SCROLLABLE__, ModelType.BOOLEAN)); + UiPropToGO.put("gridoptgrid", new Pair<Integer, ModelType>(__GO_GRID_OPT_GRID__, ModelType.INTEGER_ARRAY)); + UiPropToGO.put("gridoptpadding", new Pair<Integer, ModelType>(__GO_GRID_OPT_PADDING__, ModelType.INTEGER_ARRAY)); + UiPropToGO.put("borderoptpadding", new Pair<Integer, ModelType>(__GO_BORDER_OPT_PADDING__, ModelType.INTEGER_ARRAY)); + UiPropToGO.put("tag", new Pair<Integer, ModelType>(__GO_TAG__, ModelType.STRING)); + + //border property list + BorderPropToGO.put("style", new Pair<Integer, ModelType>(__GO_UI_FRAME_BORDER_STYLE__, ModelType.INTEGER)); + BorderPropToGO.put("type", new Pair<Integer, ModelType>(__GO_UI_FRAME_BORDER_TYPE__, ModelType.INTEGER)); + BorderPropToGO.put("position", new Pair<Integer, ModelType>(__GO_POSITION__, ModelType.DOUBLE_ARRAY)); + BorderPropToGO.put("hlout", new Pair<Integer, ModelType>(__GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__, ModelType.STRING)); + BorderPropToGO.put("hlin", new Pair<Integer, ModelType>(__GO_UI_FRAME_BORDER_HIGHLIGHT_IN__, ModelType.STRING)); + BorderPropToGO.put("shadowout", new Pair<Integer, ModelType>(__GO_UI_FRAME_BORDER_SHADOW_OUT__, ModelType.STRING)); + BorderPropToGO.put("shadowin", new Pair<Integer, ModelType>(__GO_UI_FRAME_BORDER_SHADOW_IN__, ModelType.STRING)); + BorderPropToGO.put("titleposition", new Pair<Integer, ModelType>(__GO_UI_FRAME_BORDER_POSITION__, ModelType.DOUBLE_ARRAY)); + BorderPropToGO.put("hl", new Pair<Integer, ModelType>(__GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__, ModelType.STRING)); + BorderPropToGO.put("shadow", new Pair<Integer, ModelType>(__GO_UI_FRAME_BORDER_SHADOW_OUT__, ModelType.STRING)); + BorderPropToGO.put("color", new Pair<Integer, ModelType>(__GO_UI_FRAME_BORDER_COLOR__, ModelType.STRING)); + BorderPropToGO.put("thickness", new Pair<Integer, ModelType>(__GO_LINE_THICKNESS__, ModelType.INTEGER)); + BorderPropToGO.put("rounded", new Pair<Integer, ModelType>(__GO_UI_FRAME_BORDER_ROUNDED__, ModelType.BOOLEAN)); + BorderPropToGO.put("title", new Pair<Integer, ModelType>(__GO_TITLE__, ModelType.STRING)); + BorderPropToGO.put("justification", new Pair<Integer, ModelType>(__GO_UI_FRAME_BORDER_JUSTIFICATION__, ModelType.INTEGER)); + BorderPropToGO.put("fontangle", new Pair<Integer, ModelType>(__GO_UI_FONTANGLE__, ModelType.STRING)); + BorderPropToGO.put("fontname", new Pair<Integer, ModelType>(__GO_UI_FONTNAME__, ModelType.STRING)); + BorderPropToGO.put("fontsize", new Pair<Integer, ModelType>(__GO_UI_FONTSIZE__, ModelType.INTEGER)); + BorderPropToGO.put("fontweight", new Pair<Integer, ModelType>(__GO_UI_FONTWEIGHT__, ModelType.STRING)); + + MenuPropToGO.put("enable", new Pair<Integer, ModelType>(__GO_UI_ENABLE__, ModelType.BOOLEAN)); + MenuPropToGO.put("foreground", new Pair<Integer, ModelType>(__GO_UI_FOREGROUNDCOLOR__, ModelType.DOUBLE_ARRAY)); + MenuPropToGO.put("label", new Pair<Integer, ModelType>(__GO_UI_LABEL__, ModelType.STRING)); + MenuPropToGO.put("hidden", new Pair<Integer, ModelType>(__GO_HIDDEN__, ModelType.BOOLEAN)); + MenuPropToGO.put("visible", new Pair<Integer, ModelType>(__GO_VISIBLE__, ModelType.BOOLEAN)); + MenuPropToGO.put("callback", new Pair<Integer, ModelType>(__GO_CALLBACK__, ModelType.STRING)); + MenuPropToGO.put("callback_type", new Pair<Integer, ModelType>(__GO_CALLBACKTYPE__, ModelType.INTEGER)); + MenuPropToGO.put("checked", new Pair<Integer, ModelType>(__GO_UI_CHECKED__, ModelType.BOOLEAN)); + MenuPropToGO.put("icon", new Pair<Integer, ModelType>(__GO_UI_ICON__, ModelType.STRING)); + MenuPropToGO.put("tag", new Pair<Integer, ModelType>(__GO_TAG__, ModelType.STRING)); + } + + private String filename = ""; + private Integer figure = 0; + private Boolean figVisible = true; + + public XMLDomLoader(String filename) { + this.filename = filename; + } + + public int parse() { + return parse(filename); + } + + public int parse(String filename) { + try { + this.filename = filename; + File f = new File(filename); + String currentPath = ""; + + if (f.exists()) { + //add filename filepath in ScilabSwingUtilities paths + if (f.isAbsolute()) { + String filePath = f.getAbsolutePath(); + currentPath = filePath.substring(0, filePath.lastIndexOf(File.separator)); + FindIconHelper.addThemePath(currentPath); + } else { + String initialDirectoryPath = CommonFileUtils.getCWD(); + String filePath = ""; + Integer index = filename.lastIndexOf(File.separator); + if (index != -1) { + filePath = filename.substring(0, index); + } + + currentPath = initialDirectoryPath + File.separator + filePath; + FindIconHelper.addThemePath(currentPath); + FindIconHelper.addThemePath(initialDirectoryPath); + + f = new File(initialDirectoryPath, filename); + } + } else { + //try to find file in currentPath + if (f.isAbsolute()) { + //failed + return 1; + } else { + String initialDirectoryPath = CommonFileUtils.getCWD(); + String filePath = ""; + Integer index = filename.lastIndexOf(File.separator); + if (index != -1) { + filePath = filename.substring(0, index); + } + + currentPath = initialDirectoryPath + File.separator + filePath; + } + + f = new File(currentPath + File.separator + filename); + if (f.exists() == false) { + return 1; + } + } + + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + + // enable XInclude processing + factory.setNamespaceAware(true); + factory.setXIncludeAware(true); + + DocumentBuilder parser = factory.newDocumentBuilder(); + Document doc = parser.parse(f); + doc.getDocumentElement().normalize(); + + if (doc.hasChildNodes()) { + parseNode(0, doc.getChildNodes()); + } + } catch (Exception e) { + e.printStackTrace(); + } + + //update visible property of main window + GraphicController.getController().setProperty(figure, __GO_VISIBLE__, figVisible); + return figure; + } + + private void parseNode(Integer parent, NodeList nodes) { + for (int i = nodes.getLength() - 1; i >= 0; i--) { + Node childNode = nodes.item(i); + Integer child = 0; + + // make sure it's element node. + if (childNode.getNodeType() == Node.ELEMENT_NODE) { + // get node name and value + int nodeType = nameToGO.get(childNode.getNodeName()); + switch (nodeType) { + case __GO_FIGURE__: { + child = createFigure(childNode); + figure = child; + break; + } + + case __GO_UI_CHECKBOX__: + case __GO_UI_EDIT__: + case __GO_UI_FRAME__: + case __GO_UI_IMAGE__: + case __GO_UI_LAYER__: + case __GO_UI_LISTBOX__: + case __GO_UI_POPUPMENU__: + case __GO_UI_PUSHBUTTON__: + case __GO_UI_RADIOBUTTON__: + case __GO_UI_SLIDER__: + case __GO_UI_TABLE__: + case __GO_UI_TAB__: + case __GO_UI_SPINNER__: + case __GO_UI_TEXT__: { + child = createUiControl(nodeType, parent, childNode); + break; + } + + case __GO_AXES__: { + child = createAxes(parent, childNode); + break; + } + + case __GO_UI_FRAME_BORDER__: { + child = createBorder(childNode); + GraphicController.getController().setProperty(parent, __GO_UI_FRAME_BORDER__, child); + break; + } + + case __NODE_STRING__: { + //avoid relationship + child = 0; + createString(parent, childNode); + break; + } + + case __NODE_COLORMAP__: { + //avoid relationship + child = 0; + createColorMap(parent, childNode); + break; + } + + case __NODE_SCILABGUI__: { + //check version + Node nodeVersion = childNode.getAttributes().getNamedItem("version"); + double version = Double.parseDouble(nodeVersion.getNodeValue()); + if (version > 1.0) { + //call version manager ^^ + } + + Integer console = Console.getConsole().getIdentifier(); + //set usedeprecatedskin flag + setBooleanAttribute(console, __GO_USEDEPRECATEDLF__, childNode.getAttributes(), "usedeprecatedskin"); + break; + } + + case __GO_UICONTEXTMENU__: { + break; + } + case __GO_UIMENU__: { + child = createUiMenu(parent, childNode); + break; + } + + default: { + //ignore TITLED, IN, OUT, STRING_AARAY, COLORMAPITEM node + break; + } + } + + if (parent != 0 && child != 0) { + GraphicController.getController().setGraphicObjectRelationship(parent, child); + } + + if (childNode.hasChildNodes()) { + parseNode(child, childNode.getChildNodes()); + } + + } + } + } + + private void createColorMap(Integer parent, Node node) { + NamedNodeMap attr = node.getAttributes(); + + Node rowNode = attr.getNamedItem("size"); + if (rowNode == null) { + return; + } + + Integer rows = Integer.parseInt(rowNode.getNodeValue()); + + if (node.hasChildNodes()) { + Double[] colorMap = new Double[rows * 3]; + NodeList list = node.getChildNodes(); + int index = 0; + for (int i = 0; i < list.getLength(); i++) { + Node childNode = list.item(i); + if (childNode.getNodeType() == Node.ELEMENT_NODE) { + attr = childNode.getAttributes(); + Node valueNode = attr.getNamedItem("color"); + if (valueNode == null) { + colorMap[index] = 0.0; + colorMap[index + rows] = 0.0; + colorMap[index + 2 * rows] = 0.0; + } else { + try { + Color c = Color.decode(valueNode.getNodeValue()); + colorMap[index] = c.getRed() / 255.0; + colorMap[index + rows] = c.getGreen() / 255.0; + colorMap[index + 2 * rows] = c.getBlue() / 255.0; + } catch (NumberFormatException e) { + colorMap[index] = 0.0; + colorMap[index + rows] = 0.0; + colorMap[index + 2 * rows] = 0.0; + } + } + index++; + } + } + + GraphicController.getController().setProperty(parent, __GO_COLORMAP__, colorMap); + } + } + + private void createString(Integer parent, Node node) { + NamedNodeMap attr = node.getAttributes(); + + Node propertyNode = attr.getNamedItem("property"); + if (propertyNode == null) { + return; + } + + String property = propertyNode.getNodeValue(); + + Node rowNode = attr.getNamedItem("rows"); + if (rowNode == null) { + return; + } + + Integer rows = Integer.parseInt(rowNode.getNodeValue()); + + Node colNode = attr.getNamedItem("cols"); + if (colNode == null) { + return; + } + + Integer cols = Integer.parseInt(colNode.getNodeValue()); + + if (node.hasChildNodes()) { + String[] str = new String[rows * cols]; + NodeList list = node.getChildNodes(); + int index = 0; + for (int i = 0; i < list.getLength(); i++) { + Node childNode = list.item(i); + if (childNode.getNodeType() == Node.ELEMENT_NODE) { + attr = childNode.getAttributes(); + Node valueNode = attr.getNamedItem("value"); + if (valueNode == null) { + str[index++] = ""; + } else { + str[index++] = valueNode.getNodeValue(); + } + } + } + + Integer propId = UiPropToGO.get(property).getFirst(); + + if (propId == __GO_UI_STRING__ && cols > 1) { + GraphicController.getController().setProperty(parent, __GO_UI_STRING_COLNB__, cols); + } + GraphicController.getController().setProperty(parent, propId, str); + } + } + + private Integer createAxes(Integer parent, Node node) { + GraphicController controller = GraphicController.getController(); + Integer axes = Builder.createSubWin(parent); + + NamedNodeMap attr = node.getAttributes(); + Node tagNode = attr.getNamedItem("tag"); + if (tagNode != null) { + controller.setProperty(axes, __GO_TAG__, tagNode.getNodeValue()); + attr.removeNamedItem("tag"); + } + + return axes; + } + + private Integer createBorder(Node node) { + GraphicController controller = GraphicController.getController(); + Integer uib = controller.askObject(GraphicObject.getTypeFromName(__GO_UI_FRAME_BORDER__)); + + NamedNodeMap attr = node.getAttributes(); + + Node styleNode = attr.getNamedItem("style"); + if (styleNode != null) { + Integer style = FrameBorderType.stringToEnum(styleNode.getNodeValue()).ordinal(); + controller.setProperty(uib, __GO_UI_FRAME_BORDER_STYLE__, style); + attr.removeNamedItem("style"); + } + + //frame borders are always hidden + controller.setProperty(uib, __GO_HIDDEN__, true); + + for (int i = 0; i < attr.getLength(); i++) { + Node prop = attr.item(i); + Pair<Integer, ModelType> pair = BorderPropToGO.get(prop.getNodeName()); + + ModelType modelType = pair.getSecond(); + switch (modelType) { + case BOOLEAN: + controller.setProperty(uib, pair.getFirst(), getAttributeAsBoolean(prop.getNodeValue())); + break; + case BOOLEAN_ARRAY: + controller.setProperty(uib, pair.getFirst(), getAttributeAsBooleanArray(prop.getNodeValue())); + break; + case DOUBLE: + controller.setProperty(uib, pair.getFirst(), getAttributeAsDouble(prop.getNodeValue())); + break; + case DOUBLE_ARRAY: + controller.setProperty(uib, pair.getFirst(), getAttributeAsDoubleArray(prop.getNodeValue())); + break; + case INTEGER: + controller.setProperty(uib, pair.getFirst(), getAttributeAsInteger(prop.getNodeValue())); + break; + case INTEGER_ARRAY: + controller.setProperty(uib, pair.getFirst(), getAttributeAsIntegerArray(prop.getNodeValue())); + break; + case STRING: + controller.setProperty(uib, pair.getFirst(), getAttributeAsString(prop.getNodeValue())); + break; + case STRING_ARRAY: + controller.setProperty(uib, pair.getFirst(), getAttributeAsStringArray(prop.getNodeValue())); + break; + default: + System.out.println("missing type"); + break; + } + } + + //manage children here to avoid trouble on draw without children in SwingView + if (node.hasChildNodes()) { + NodeList list = node.getChildNodes(); + for (int i = 0; i < list.getLength(); i++) { + Node childNode = list.item(i); + if (childNode.getNodeType() == Node.ELEMENT_NODE) { + Integer child = createBorder(childNode); + String nodeName = childNode.getNodeName(); + if (nodeName.equals("title")) { + GraphicController.getController().setProperty(uib, __GO_UI_FRAME_BORDER_TITLE__, child); + GraphicController.getController().setGraphicObjectRelationship(uib, child); + } else if (nodeName.equals("out")) { + GraphicController.getController().setProperty(uib, __GO_UI_FRAME_BORDER_OUT_BORDER__, child); + GraphicController.getController().setGraphicObjectRelationship(uib, child); + } else if (nodeName.equals("in")) { + GraphicController.getController().setProperty(uib, __GO_UI_FRAME_BORDER_IN_BORDER__, child); + GraphicController.getController().setGraphicObjectRelationship(uib, child); + } + } + } + } + return uib; + } + + private Integer createFigure(Node node) { + GraphicController controller = GraphicController.getController(); + Boolean dockable = true; + Integer menubar = 1; + Integer toolbar = 1; + Boolean default_axes = true; + Integer[] figureSize = null; + Integer[] axesSize = null; + boolean menubarVisisble = true; + boolean toolbarVisisble = true; + boolean infobarVisisble = true; + + NamedNodeMap attr = node.getAttributes(); + //dockable + Node tempnode = attr.getNamedItem("dockable"); + if (tempnode != null) { + dockable = getAttributeAsBoolean(tempnode.getNodeValue()); + attr.removeNamedItem("dockable"); + } + //menubar + tempnode = attr.getNamedItem("menubar"); + if (tempnode != null) { + menubar = Figure.BarType.stringToEnum(getAttributeAsString(tempnode.getNodeValue())).ordinal(); + attr.removeNamedItem("menubar"); + } + //toolbar + tempnode = attr.getNamedItem("toolbar"); + if (tempnode != null) { + toolbar = Figure.BarType.stringToEnum(getAttributeAsString(tempnode.getNodeValue())).ordinal(); + attr.removeNamedItem("toolbar"); + } + //default_axes + tempnode = attr.getNamedItem("default_axes"); + if (tempnode != null) { + default_axes = getAttributeAsBoolean(tempnode.getNodeValue()); + attr.removeNamedItem("default_axes"); + } + //visible + tempnode = attr.getNamedItem("visible"); + if (tempnode != null) { + figVisible = getAttributeAsBoolean(tempnode.getNodeValue()); + attr.removeNamedItem("visible"); + } + + //axesSize + tempnode = attr.getNamedItem("axes_size"); + if (tempnode != null) { + axesSize = getAttributeAsIntegerArray(tempnode.getNodeValue()); + attr.removeNamedItem("axes_size"); + } + + //figureSize + tempnode = attr.getNamedItem("figure_size"); + if (axesSize == null && tempnode != null) { + figureSize = getAttributeAsIntegerArray(tempnode.getNodeValue()); + attr.removeNamedItem("figure_size"); + } + + //menubar + tempnode = attr.getNamedItem("menubar_visible"); + if (tempnode != null) { + menubarVisisble = getAttributeAsBoolean(tempnode.getNodeValue()); + attr.removeNamedItem("menubar_visible"); + } + //toolbar + tempnode = attr.getNamedItem("toolbar_visible"); + if (tempnode != null) { + toolbarVisisble = getAttributeAsBoolean(tempnode.getNodeValue()); + attr.removeNamedItem("toolbar_visible"); + } + //infobar + tempnode = attr.getNamedItem("infobar_visible"); + if (tempnode != null) { + infobarVisisble = getAttributeAsBoolean(tempnode.getNodeValue()); + attr.removeNamedItem("infobar_visible"); + } + + Integer fig = Builder.createFigure(dockable, menubar, toolbar, default_axes, false); + //set new id + int newId = ScilabNativeView.ScilabNativeView__getValidDefaultFigureId(); + + controller.setProperty(fig, __GO_ID__, newId); + for (int i = 0; i < attr.getLength(); i++) { + Node prop = attr.item(i); + Pair<Integer, ModelType> pair = figPropToGO.get(prop.getNodeName()); + + ModelType type = pair.getSecond(); + switch (type) { + case BOOLEAN: + controller.setProperty(fig, pair.getFirst(), getAttributeAsBoolean(prop.getNodeValue())); + break; + case BOOLEAN_ARRAY: + controller.setProperty(fig, pair.getFirst(), getAttributeAsBooleanArray(prop.getNodeValue())); + break; + case DOUBLE: + controller.setProperty(fig, pair.getFirst(), getAttributeAsDouble(prop.getNodeValue())); + break; + case DOUBLE_ARRAY: + controller.setProperty(fig, pair.getFirst(), getAttributeAsDoubleArray(prop.getNodeValue())); + break; + case INTEGER: + controller.setProperty(fig, pair.getFirst(), getAttributeAsInteger(prop.getNodeValue())); + break; + case INTEGER_ARRAY: + controller.setProperty(fig, pair.getFirst(), getAttributeAsIntegerArray(prop.getNodeValue())); + break; + case STRING: + controller.setProperty(fig, pair.getFirst(), getAttributeAsString(prop.getNodeValue())); + break; + case STRING_ARRAY: + controller.setProperty(fig, pair.getFirst(), getAttributeAsStringArray(prop.getNodeValue())); + break; + case ROTATIONTYPE: + controller.setProperty(fig, pair.getFirst(), Figure.RotationType.stringToEnum(getAttributeAsString(prop.getNodeValue())).ordinal()); + break; + case BARTYPE: + controller.setProperty(fig, pair.getFirst(), Figure.BarType.stringToEnum(getAttributeAsString(prop.getNodeValue())).ordinal()); + break; + case LAYOUTTYPE: + controller.setProperty(fig, pair.getFirst(), LayoutType.stringToEnum(getAttributeAsString(prop.getNodeValue())).ordinal()); + break; + default: + System.out.println("missing type"); + break; + } + } + + if (axesSize != null) { + controller.setProperty(fig, GraphicObjectProperties.__GO_AXES_SIZE__, axesSize); + } else if (figureSize != null) { + controller.setProperty(fig, GraphicObjectProperties.__GO_SIZE__, figureSize); + } else { + controller.setProperty(fig, GraphicObjectProperties.__GO_AXES_SIZE__, GraphicModel.getFigureModel().getAxesSize()); + } + + controller.setProperty(fig, __GO_MENUBAR_VISIBLE__, !menubarVisisble); + controller.setProperty(fig, __GO_TOOLBAR_VISIBLE__, !toolbarVisisble); + controller.setProperty(fig, __GO_INFOBAR_VISIBLE__, !infobarVisisble); + + //set menubar, infobar, toolbar visibility + controller.setProperty(fig, __GO_MENUBAR_VISIBLE__, menubarVisisble); + controller.setProperty(fig, __GO_TOOLBAR_VISIBLE__, toolbarVisisble); + controller.setProperty(fig, __GO_INFOBAR_VISIBLE__, infobarVisisble); + return fig; + } + + private Integer createUiControl(Integer type, Integer parent, Node node) { + GraphicController controller = GraphicController.getController(); + NamedNodeMap attr = node.getAttributes(); + + /* for frame we have to take care of scrollable property */ + if (type == __GO_UI_FRAME__) { + Node item = attr.getNamedItem("scrollable"); + if (item != null && item.getNodeValue().equals("on")) { + type = __GO_UI_FRAME_SCROLLABLE__; + } + } + + Integer uic = GraphicController.getController().askObject(GraphicObject.getTypeFromName(type)); + controller.setProperty(uic, __GO_VISIBLE__, true); + + for (int i = 0; i < attr.getLength(); i++) { + Node prop = attr.item(i); + Pair<Integer, ModelType> pair = UiPropToGO.get(prop.getNodeName()); + + if (pair == null) { + continue; + } + + ModelType modelType = pair.getSecond(); + switch (modelType) { + case BOOLEAN: + controller.setProperty(uic, pair.getFirst(), getAttributeAsBoolean(prop.getNodeValue())); + break; + case BOOLEAN_ARRAY: + controller.setProperty(uic, pair.getFirst(), getAttributeAsBooleanArray(prop.getNodeValue())); + break; + case DOUBLE: + controller.setProperty(uic, pair.getFirst(), getAttributeAsDouble(prop.getNodeValue())); + break; + case DOUBLE_ARRAY: + controller.setProperty(uic, pair.getFirst(), getAttributeAsDoubleArray(prop.getNodeValue())); + break; + case INTEGER: + controller.setProperty(uic, pair.getFirst(), getAttributeAsInteger(prop.getNodeValue())); + break; + case INTEGER_ARRAY: + controller.setProperty(uic, pair.getFirst(), getAttributeAsIntegerArray(prop.getNodeValue())); + break; + case STRING: + controller.setProperty(uic, pair.getFirst(), getAttributeAsString(prop.getNodeValue())); + break; + case STRING_ARRAY: + //nothing to do, manage as node instead of attributes + break; + case LAYOUTTYPE: + controller.setProperty(uic, pair.getFirst(), LayoutType.stringToEnum(getAttributeAsString(prop.getNodeValue())).ordinal()); + break; + case FILLTYPE: + controller.setProperty(uic, pair.getFirst(), Uicontrol.FillType.stringToEnum(getAttributeAsString(prop.getNodeValue())).ordinal()); + break; + case ANCHORTYPE: + controller.setProperty(uic, pair.getFirst(), Uicontrol.AnchorType.stringToEnum(getAttributeAsString(prop.getNodeValue())).ordinal()); + break; + case POSITIONTYPE: + controller.setProperty(uic, pair.getFirst(), Uicontrol.BorderLayoutType.stringToEnum(getAttributeAsString(prop.getNodeValue())).ordinal()); + break; + default: + System.out.println("missing type"); + break; + } + } + + return uic; + } + + private Integer createUiMenu(Integer parent, Node node) { + GraphicController controller = GraphicController.getController(); + NamedNodeMap attr = node.getAttributes(); + + Integer uim = GraphicController.getController().askObject(GraphicObject.getTypeFromName(__GO_UIMENU__)); + controller.setProperty(uim, __GO_VISIBLE__, true); + + for (int i = 0; i < attr.getLength(); i++) { + Node prop = attr.item(i); + Pair<Integer, ModelType> pair = MenuPropToGO.get(prop.getNodeName()); + ModelType modelType = pair.getSecond(); + switch (modelType) { + case BOOLEAN: + controller.setProperty(uim, pair.getFirst(), getAttributeAsBoolean(prop.getNodeValue())); + break; + case BOOLEAN_ARRAY: + controller.setProperty(uim, pair.getFirst(), getAttributeAsBooleanArray(prop.getNodeValue())); + break; + case DOUBLE: + controller.setProperty(uim, pair.getFirst(), getAttributeAsDouble(prop.getNodeValue())); + break; + case DOUBLE_ARRAY: + controller.setProperty(uim, pair.getFirst(), getAttributeAsDoubleArray(prop.getNodeValue())); + break; + case INTEGER: + controller.setProperty(uim, pair.getFirst(), getAttributeAsInteger(prop.getNodeValue())); + break; + case INTEGER_ARRAY: + controller.setProperty(uim, pair.getFirst(), getAttributeAsIntegerArray(prop.getNodeValue())); + break; + case STRING: + controller.setProperty(uim, pair.getFirst(), getAttributeAsString(prop.getNodeValue())); + break; + case STRING_ARRAY: + controller.setProperty(uim, pair.getFirst(), getAttributeAsStringArray(prop.getNodeValue())); + break; + default: + System.out.println("missing type"); + break; + } + } + + return uim; + } + + private Boolean getAttributeAsBoolean(String val) { + if (val == null) { + return null; + } + + if (val.equals("on")) { + return true; + } + + if (val.equals("off")) { + return false; + } + + return false; + } + + private void setBooleanAttribute(Integer id, int property, NamedNodeMap attributes, String attr) { + Node node = attributes.getNamedItem(attr); + if (node != null) { + Boolean b = getAttributeAsBoolean(node.getNodeValue()); + if (b != null) { + GraphicController.getController().setProperty(id, property, b); + } + } + } + + private Double getAttributeAsDouble(String val) { + if (val == null) { + return null; + } + + return Double.parseDouble(val); + } + + private Integer getAttributeAsInteger(String val) { + if (val == null) { + return null; + } + + return Integer.parseInt(val); + } + + private String getAttributeAsString(String val) { + return val; + } + + private Boolean[] getAttributeAsBooleanArray(String val) { + + if (val == null) { + return new Boolean[] {}; + } + + StringTokenizer token = new StringTokenizer(val, ","); + + Boolean[] b = new Boolean[token.countTokens()]; + int i = 0; + while (token.hasMoreElements()) { + String s = token.nextToken(); + if (s.equals("on")) { + b[i++] = true; + } else { + b[i++] = false; + } + } + + return b; + } + + private Double[] getAttributeAsDoubleArray(String val) { + + if (val == null) { + return new Double[] {}; + } + + StringTokenizer token = new StringTokenizer(val, ","); + + Double[] d = new Double[token.countTokens()]; + int i = 0; + while (token.hasMoreElements()) { + String s = token.nextToken(); + d[i++] = Double.parseDouble(s); + } + + return d; + } + + private Integer[] getAttributeAsIntegerArray(String val) { + + if (val == null) { + return new Integer[] {}; + } + + StringTokenizer token = new StringTokenizer(val, ","); + + Integer[] integer = new Integer[token.countTokens()]; + int i = 0; + while (token.hasMoreElements()) { + String s = token.nextToken(); + integer[i++] = Integer.parseInt(s); + } + + return integer; + } + + private String[] getAttributeAsStringArray(String val) { + + if (val == null) { + return null; + } + + StringTokenizer token = new StringTokenizer(val, ","); + + String[] s = new String[token.countTokens()]; + int i = 0; + while (token.hasMoreElements()) { + s[i++] = token.nextToken(); + } + + return s; + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/XmlLoader.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/XmlLoader.java new file mode 100755 index 000000000..19c68ff9b --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/XmlLoader.java @@ -0,0 +1,396 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2011 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.modules.graphic_objects.xmlloader; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AXES__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICONTROL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CHILDREN__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FIGURE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TYPE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UIMENU__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TAG__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_CHECKBOX__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_EDIT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_OUT_BORDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_IN_BORDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER_TITLE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_IMAGE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LAYER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LISTBOX__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_POPUPMENU__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_PUSHBUTTON__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_RADIOBUTTON__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SLIDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SPINNER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TAB__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TEXT__; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.AbstractMap.SimpleEntry; +import java.util.HashMap; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.Stack; + +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; + +import org.scilab.modules.commons.CommonFileUtils; +import org.scilab.modules.commons.gui.FindIconHelper; +import org.scilab.modules.graphic_objects.ScilabNativeView; +import org.scilab.modules.graphic_objects.builder.Builder; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicModel.GraphicModel; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.Type; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties; +import org.xml.sax.Attributes; +import org.xml.sax.Locator; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.DefaultHandler; + +public class XmlLoader extends DefaultHandler { + + private String filename = ""; + private Locator locator; + private Integer uid = 0; + private String namespace = null; + private boolean isWaitingModelName = true; + private String myURI = ""; + private boolean isFirst = false; + + private static HashMap<String, Integer> nameToGO = new HashMap<String, Integer>(); + private static HashMap<String, HashMap<String, Entry<Integer, Map<String, String>>>> models = new HashMap<String, HashMap<String, Entry<Integer, Map<String, String>>>>(); + private Stack<Integer> stackGO = new Stack<Integer>(); + private String currentPath = ""; + + private GraphicController controller; + + static { + // init map to convert control name to id + nameToGO.put("UIScilabWindow", __GO_FIGURE__); + + nameToGO.put("UIPanel", __GO_UI_FRAME__); + nameToGO.put("UIFrame", __GO_UI_FRAME__); + nameToGO.put("UILayer", __GO_UI_LAYER__); + nameToGO.put("UIButton", __GO_UI_PUSHBUTTON__); + nameToGO.put("UILabel", __GO_UI_TEXT__); + nameToGO.put("UILaTeXLabel", -1); + nameToGO.put("UICheckbox", __GO_UI_CHECKBOX__); + nameToGO.put("UITextfield", __GO_UI_EDIT__); + nameToGO.put("UISplashScreen", __GO_UI_IMAGE__); + nameToGO.put("UIList", __GO_UI_LISTBOX__); + nameToGO.put("UIComboBox", __GO_UI_POPUPMENU__); + nameToGO.put("UIComboColor", __GO_UI_POPUPMENU__); + nameToGO.put("UIRadio", __GO_UI_RADIOBUTTON__); + nameToGO.put("UISlider", __GO_UI_SLIDER__); + nameToGO.put("UITab", __GO_UI_TAB__); + nameToGO.put("UIScilabPlot", __GO_AXES__); + nameToGO.put("UINumberSpinner", __GO_UI_SPINNER__); + + + /** sdsdf*/ + nameToGO.put("UITextarea", -2); + + nameToGO.put("UIMenu", __GO_UIMENU__); + nameToGO.put("UIMenuItem", __GO_UIMENU__); + + } + + public XmlLoader(String filename) { + controller = GraphicController.getController(); + this.filename = filename; + } + + public int parse() throws SAXException { + int ret = 0; + if (filename != null && filename.equals("") == false) { + ret = parse(filename); + } + + // clean model before leave. + Set<String> entries = models.keySet(); + for (String key : entries) { + HashMap<String, Entry<Integer, Map<String, String>>> map = models.get(key); + Set<String> entries2 = map.keySet(); + for (String key2 : entries2) { + deleteObject(map.get(key2).getKey()); + } + } + + return ret; + } + + public int parse(String filename) throws SAXException { + this.filename = filename; + File f = new File(filename); + if (f.exists()) { + //add filename filepath in ScilabSwingUtilities paths + if (f.isAbsolute()) { + String filePath = f.getAbsolutePath(); + currentPath = filePath.substring(0, filePath.lastIndexOf(File.separator)); + FindIconHelper.addThemePath(currentPath); + } else { + String initialDirectoryPath = CommonFileUtils.getCWD(); + String filePath = ""; + Integer index = filename.lastIndexOf(File.separator); + if (index != -1) { + filePath = filename.substring(0, index); + } + currentPath = initialDirectoryPath + File.separator + filePath; + FindIconHelper.addThemePath(currentPath); + FindIconHelper.addThemePath(initialDirectoryPath); + + f = new File(initialDirectoryPath, filename); + } + } else { + //try to find file in currentPath + if (f.isAbsolute()) { + //failed + return 1; + } + + f = new File(currentPath + File.separator + filename); + if (f.exists() == false) { + return 1; + } + } + + FileInputStream in = null; + try { + in = new FileInputStream(f); + } catch (FileNotFoundException e1) { + e1.printStackTrace(); + return 1; + } + + SAXParser parser; + try { + SAXParserFactory factory; + factory = SAXParserFactory.newInstance(); + factory.setValidating(false); + factory.setNamespaceAware(true); + factory.setFeature("http://xml.org/sax/features/namespace-prefixes", true); + parser = factory.newSAXParser(); + } catch (Exception e) { + try { + in.close(); + } catch (IOException e1) { + e1.printStackTrace(); + return 1; + } + throw new SAXException(String.format("Cannot initialize the XML parser: %s", e.getMessage())); + } + + try { + parser.parse(in, this); + } catch (SAXException e) { + if (locator != null) { + throw new SAXException(String.format("Parse error at line %d: %s", locator.getLineNumber(), e.getMessage())); + } else { + throw new SAXException(String.format("Parse error: %s", e.getMessage())); + } + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + in.close(); + } catch (IOException e) { + } + } + + return uid; + } + + public void characters(char[] ch, int start, int length) throws SAXException { + super.characters(ch, start, length); + } + + public void endDocument() throws SAXException { + } + + public void endElement(String uri, String localName, String qName) throws SAXException { + + if (localName.equals("modele")) { + namespace = null; + isWaitingModelName = false; + } + + if (stackGO.size() != 0) { + Integer go = stackGO.pop(); + if (go == null) { + //nothing to do + } else if (stackGO.size() > 0) { + Integer parent = stackGO.peek(); + + controller.setGraphicObjectRelationship(parent, go); + //controller.setProperty(go, __GO_VISIBLE__, true); + } else { + uid = go; + } + } + } + + public void setDocumentLocator(Locator locator) { + this.locator = locator; + } + + public void startDocument() throws SAXException { + isFirst = true; + } + + public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { + if (localName.equals("interface")) { + if (isFirst) { + myURI = attributes.getValue("xmlns"); + isFirst = false; + } + } else if (localName.equals("include")) { + String path = attributes.getValue("path"); + parse(path); + } else if (localName.equals("modele")) { + namespace = attributes.getValue("namespace"); + isWaitingModelName = true; + } else { + Integer uitype = getTypeFromName(localName); + Integer go = 0; + if (uitype != null) { + if (uitype == __GO_FIGURE__) { + // never create a new figure, clone figure model ! + go = GOBuilder.figureBuilder(controller, attributes); + } else if (uitype == __GO_AXES__) { + go = GOBuilder.axesBuilder(controller, attributes); + } else if (uitype == __GO_UIMENU__) { + Integer parent = 0; + if (stackGO.isEmpty() == false) { + parent = stackGO.peek(); + } + + go = GOBuilder.uimenuBuilder(controller, attributes, parent); + } else { + Integer parent = 0; + if (stackGO.isEmpty() == false) { + parent = stackGO.peek(); + } + + go = GOBuilder.uicontrolBuilder(controller, uitype, attributes, parent); + } + } else { // namespace or bad name ... + if (myURI.equals(uri)) { + // bad name + } else { + HashMap<String, Entry<Integer, Map<String, String>>> m = models.get(uri); + if (m == null) { + // bad namespace + } else { + Entry<Integer, Map<String, String>> entry = m.get(localName); + go = entry.getKey(); + // need to clone object and children + Integer newgo = cloneObject(go); + GOBuilder.uicontrolUpdater(controller, newgo, attributes, stackGO.peek(), entry.getValue()); + go = newgo; + } + } + } + + // we are in a model + // the first child must have field "model-name" + if (namespace != null) { + if (isWaitingModelName) { + String name = attributes.getValue("modele-name"); + if (name == null) { + // unmaned model ? :s + } else { + if (models.get(namespace) == null) { + models.put(namespace, new HashMap<String, Entry<Integer, Map<String, String>>>()); + } + + // copy attributes to a Map, i do not know why a can use + // attributes ? Oo + Map<String, String> attrib = new HashMap<String, String>(); + for (int i = 0; i < attributes.getLength(); i++) { + attrib.put(attributes.getLocalName(i), attributes.getValue(i)); + } + + // add root element in map model + models.get(namespace).put(name, new SimpleEntry<Integer, Map<String, String>>(go, attrib)); + } + } + } + + stackGO.add(go); + } + } + + Integer cloneObject(Integer root) { + Integer newGo = controller.cloneObject(root); + Integer[] children = (Integer[]) controller.getProperty(root, __GO_CHILDREN__); + for (int i = children.length - 1; i >= 0 ; i--) { + Integer childType = (Integer)controller.getProperty(children[i], __GO_TYPE__); + if (childType == __GO_AXES__) { + Integer go = controller.cloneObject(GraphicModel.getAxesModel().getIdentifier()); + Builder.createLabel(go, GraphicObjectProperties.__GO_X_AXIS_LABEL__); + Builder.createLabel(go, GraphicObjectProperties.__GO_Y_AXIS_LABEL__); + Builder.createLabel(go, GraphicObjectProperties.__GO_Z_AXIS_LABEL__); + Builder.createLabel(go, GraphicObjectProperties.__GO_TITLE__); + + controller.setGraphicObjectRelationship(newGo, go); + controller.setProperty(newGo, GraphicObjectProperties.__GO_SELECTED_CHILD__, go); + controller.setProperty(go, GraphicObjectProperties.__GO_TAG__, controller.getProperty(children[i], __GO_TAG__)); + ScilabNativeView.ScilabNativeView__setCurrentSubWin(go); + ScilabNativeView.ScilabNativeView__setCurrentObject(go); + } else if (childType == __GO_UI_FRAME_BORDER__) { + Integer newChild = cloneObject(children[i]); + controller.setGraphicObjectRelationship(newGo, newChild); + + Integer rootType = (Integer)controller.getProperty(root, __GO_TYPE__); + if (rootType == __GO_UICONTROL__) { + controller.setProperty(newGo, __GO_UI_FRAME_BORDER__, newChild); + } else { //__GO_UI_FRAME_BORDER__ + Integer border = (Integer) controller.getProperty(root, __GO_UI_FRAME_BORDER_TITLE__); + if (border == children[i]) { + controller.setProperty(newGo, __GO_UI_FRAME_BORDER_TITLE__, newChild); + } else { + border = (Integer) controller.getProperty(root, __GO_UI_FRAME_BORDER_OUT_BORDER__); + if (border == children[i]) { + controller.setProperty(newGo, __GO_UI_FRAME_BORDER_OUT_BORDER__, newChild); + } else { + border = (Integer) controller.getProperty(root, __GO_UI_FRAME_BORDER_OUT_BORDER__); + if (border == children[i]) { + controller.setProperty(newGo, __GO_UI_FRAME_BORDER_OUT_BORDER__, newChild); + } + } + } + } + } else { + Integer newChild = cloneObject(children[i]); + controller.setGraphicObjectRelationship(newGo, newChild); + } + } + + return newGo; + } + + private void deleteObject(Integer root) { + controller.removeRelationShipAndDelete(root); + } + + private Integer getTypeFromName(String localName) { + return nameToGO.get(localName); + } +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/XmlSaver.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/XmlSaver.java new file mode 100755 index 000000000..849c8a882 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/XmlSaver.java @@ -0,0 +1,665 @@ +package org.scilab.modules.graphic_objects.xmlloader; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LAYOUT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_FRAME_BORDER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AXES__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_PARENT__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TYPE__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICONTEXTMENU__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICONTROL__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UIMENU__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LAYER__; +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TAB__; + +import java.io.File; +import java.util.Arrays; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.OutputKeys; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +import org.scilab.forge.scirenderer.shapes.appearance.Color; +import org.scilab.modules.commons.CommonFileUtils; +import org.scilab.modules.graphic_objects.axes.Axes; +import org.scilab.modules.graphic_objects.console.Console; +import org.scilab.modules.graphic_objects.figure.ColorMap; +import org.scilab.modules.graphic_objects.figure.Figure; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicModel.GraphicModel; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol; +import org.scilab.modules.graphic_objects.uicontrol.Uicontrol.UicontrolStyle; +import org.scilab.modules.graphic_objects.uicontrol.frame.border.FrameBorder; +import org.scilab.modules.graphic_objects.uicontrol.frame.border.FrameBorderType; +import org.scilab.modules.graphic_objects.uimenu.Uimenu; +import org.scilab.modules.graphic_objects.utils.LayoutType; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + + +public class XmlSaver { + static private Figure defaultFig = null; + static private FrameBorder defaultBorder = null; + + public static String save(int figure, String filename, boolean reverseChildren) { + try { + //init default values + defaultFig = GraphicModel.getFigureModel(); + defaultBorder = new FrameBorder(); + + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); + + //root elements + Document doc = docBuilder.newDocument(); + //standalone="yes" + doc.setXmlStandalone(true); + + //scilab header + Element header = doc.createElement("scilabgui"); + setAttribute(header, "version", "1.0", ""); + setAttribute(header, "usedeprecatedskin", createAttribute(Console.getConsole().getUseDeprecatedLF()), ""); + + //figure + Element figureElement = createFigure(doc, figure, reverseChildren); + appendChild(header, figureElement); + appendChild(doc, header); + + //write the content into xml file + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + Transformer transformer = transformerFactory.newTransformer(); + transformer.setOutputProperty(OutputKeys.INDENT, "yes"); + transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); + doc.getDocumentElement().normalize(); + DOMSource source = new DOMSource(doc); + + + //process filename + File f = new File(filename); + if (f.isAbsolute() == false) { + String initialDirectoryPath = CommonFileUtils.getCWD(); + f = new File(initialDirectoryPath + File.separator + filename); + } + + StreamResult result = new StreamResult(f); + transformer.transform(source, result); + } catch (ParserConfigurationException pce) { + return pce.getMessage(); + } catch (TransformerException tfe) { + return tfe.getMessage(); + } + + defaultFig = null; + defaultBorder = null; + return ""; //all good + } + + private static Element createFigure(Document doc, int figure, boolean reverseChildren) { + GraphicController controller = GraphicController.getController(); + Figure fig = (Figure)controller.getObjectFromId(figure); + Element elemFig = doc.createElement("figure"); + + //figure_position + setAttribute(elemFig, "figure_position", createAttribute(fig.getPosition()), createAttribute(defaultFig.getPosition())); + //figure_size + //setAttribute(elemFig, "figure_size", createAttribute(fig.getSize()), createAttribute(defaultFig.getSize())); + //axes_size + setAttribute(elemFig, "axes_size", createAttribute(fig.getAxesSize()), createAttribute(defaultFig.getAxesSize())); + //auto_resize + setAttribute(elemFig, "auto_resize", createAttribute(fig.getAutoResize()), createAttribute(defaultFig.getAutoResize())); + //view_port + setAttribute(elemFig, "view_port", createAttribute(fig.getViewport()), createAttribute(defaultFig.getViewport())); + //figure_name + setAttribute(elemFig, "figure_name", createAttribute(fig.getName()), createAttribute(defaultFig.getName())); + //figure_id + setAttribute(elemFig, "figure_id", createAttribute(fig.getId()), createAttribute(defaultFig.getId())); + //info_message + setAttribute(elemFig, "info_message", createAttribute(fig.getInfoMessage()), createAttribute(defaultFig.getInfoMessage())); + //pixel_drawing_mode + setAttribute(elemFig, "pixel_drawing_mode", createAttribute(fig.getPixelDrawingMode()), createAttribute(defaultFig.getPixelDrawingMode())); + //anti_aliasing + setAttribute(elemFig, "anti_aliasing", createAttribute(fig.getAntialiasing()), createAttribute(defaultFig.getAntialiasing())); + //immediate_drawing + setAttribute(elemFig, "immediate_drawing", createAttribute(fig.getImmediateDrawing()), createAttribute(defaultFig.getImmediateDrawing())); + //background + setAttribute(elemFig, "background", createAttribute(fig.getBackground()), createAttribute(defaultFig.getBackground())); + //visible + setAttribute(elemFig, "visible", createAttribute(fig.getVisible()), createAttribute(defaultFig.getVisible())); + //rotation_style + setAttribute(elemFig, "rotation_style", createAttribute(Figure.RotationType.enumToString(fig.getRotationAsEnum())), createAttribute(Figure.RotationType.enumToString(defaultFig.getRotationAsEnum()))); + //event_handler + setAttribute(elemFig, "event_handler", createAttribute(fig.getEventHandlerString()), createAttribute(defaultFig.getEventHandlerString())); + //event_handler_enable + setAttribute(elemFig, "event_handler_enable", createAttribute(fig.getEventHandlerEnable()), createAttribute(defaultFig.getEventHandlerEnable())); + //resizefcn + setAttribute(elemFig, "resizefcn", createAttribute(fig.getResizeFcn()), createAttribute(defaultFig.getResizeFcn())); + //closerequestfcn + setAttribute(elemFig, "closerequestfcn", createAttribute(fig.getCloseRequestFcn()), createAttribute(defaultFig.getCloseRequestFcn())); + //resize + setAttribute(elemFig, "resize", createAttribute(fig.getResize()), createAttribute(defaultFig.getResize())); + //toolbar + setAttribute(elemFig, "toolbar", createAttribute(Figure.BarType.enumToString(fig.getToolbarAsEnum())), createAttribute(Figure.BarType.enumToString(defaultFig.getToolbarAsEnum()))); + //toolbar_visible + setAttribute(elemFig, "toolbar_visible", createAttribute(fig.getToolbarVisible()), createAttribute(defaultFig.getToolbarVisible())); + //menubar + setAttribute(elemFig, "menubar", createAttribute(Figure.BarType.enumToString(fig.getMenubarAsEnum())), createAttribute(Figure.BarType.enumToString(defaultFig.getMenubarAsEnum()))); + //menubar_visible + setAttribute(elemFig, "menubar_visible", createAttribute(fig.getMenubarVisible()), createAttribute(defaultFig.getMenubarVisible())); + //infobar_visible + setAttribute(elemFig, "infobar_visible", createAttribute(fig.getInfobarVisible()), createAttribute(defaultFig.getInfobarVisible())); + //dockable + setAttribute(elemFig, "dockable", createAttribute(fig.getDockable()), createAttribute(defaultFig.getDockable())); + //layout + setAttribute(elemFig, "layout", createAttribute(LayoutType.enumToString(fig.getLayoutAsEnum())), createAttribute(LayoutType.enumToString(defaultFig.getLayoutAsEnum()))); + //default_axes + setAttribute(elemFig, "default_axes", createAttribute(fig.hasDefaultAxes()), createAttribute(defaultFig.hasDefaultAxes())); + //icon + setAttribute(elemFig, "icon", createAttribute(fig.getIcon()), createAttribute(defaultFig.getIcon())); + //tag + setAttribute(elemFig, "tag", createAttribute(fig.getTag()), createAttribute(defaultFig.getTag())); + //layout_options + if (fig.getLayoutAsEnum() == LayoutType.GRID) { + setAttribute(elemFig, "grid_opt_grid", createAttribute(fig.getGridOptGrid()), createAttribute(defaultFig.getGridOptGrid())); + setAttribute(elemFig, "grid_opt_padding", createAttribute(fig.getGridOptPadding()), createAttribute(defaultFig.getGridOptPadding())); + } else if (fig.getLayoutAsEnum() == LayoutType.BORDER) { + setAttribute(elemFig, "border_opt_padding", createAttribute(fig.getBorderOptPadding()), createAttribute(defaultFig.getBorderOptPadding())); + } + + //children + Integer[] children = fig.getChildren(); + for (int i = 0; i < children.length; i++) { + appendChild(elemFig, createElement(doc, children[i], reverseChildren)); + } + + //colormap + Double[] cm = fig.getColorMap().getData(); + Double[] modelcm = defaultFig.getColorMap().getData(); + + if (Arrays.deepEquals(cm, modelcm) == false) { + createColorMap(doc, elemFig, fig.getColorMap().getData()); + } + + return elemFig; + } + + public static void appendChild(Node parent, Node child) { + if (child != null) { + parent.appendChild(child); + } + } + + private static Element createElement(Document doc, int id, boolean reverseChildren) { + GraphicController controller = GraphicController.getController(); + Integer type = (Integer)controller.getProperty(id, __GO_TYPE__); + + switch (type) { + case __GO_UICONTROL__ : { + return createUicontrol(doc, id, reverseChildren); + } + case __GO_UIMENU__ : { + //Uimenu uim = (Uimenu)controller.getObjectFromId(id); + return createUimenu(doc, id, reverseChildren); + } + case __GO_UICONTEXTMENU__ : { + //Uicontextmenu uicm = (Uicontextmenu)controller.getObjectFromId(id); + return doc.createElement("contextmenu"); + } + case __GO_AXES__ : { + //Axes axes = (Axes)controller.getObjectFromId(id); + return createAxes(doc, id, reverseChildren); + } + } + + return doc.createElement("fake"); + } + + private static Element createAxes(Document doc, Integer id, boolean reverseChildren) { + GraphicController controller = GraphicController.getController(); + Axes axes = (Axes)controller.getObjectFromId(id); + + Element elemAxes = doc.createElement("axes"); + setAttribute(elemAxes, "tag", createAttribute(axes.getTag()), createAttribute("")); + + return elemAxes; + } + + private static Element createBorder(Document doc, Integer id) { + return createBorder(doc, id, "border"); + } + + private static Element createBorder(Document doc, Integer id, String borderName) { + GraphicController controller = GraphicController.getController(); + FrameBorder border = (FrameBorder)controller.getObjectFromId(id); + + if (border == null || border.getStyleAsEnum() == FrameBorderType.NONE) { + return null; + } + + Element elemBorder = doc.createElement(borderName); + + setAttribute(elemBorder, "style", createAttribute(border.getStyleAsEnum().toString().toLowerCase()), ""); + + switch (border.getStyleAsEnum()) { + case BEVEL: { + setAttribute(elemBorder, "type", createAttribute(border.getBorderType()), createAttribute(defaultBorder.getBorderType())); + setAttribute(elemBorder, "hlout", createAttribute(border.getHlOut()), createAttribute(defaultBorder.getHlOut())); + setAttribute(elemBorder, "hlin", createAttribute(border.getHlIn()), createAttribute(defaultBorder.getHlIn())); + setAttribute(elemBorder, "shadowout", createAttribute(border.getShadowOut()), createAttribute(defaultBorder.getShadowOut())); + setAttribute(elemBorder, "shadowin", createAttribute(border.getShadowIn()), createAttribute(defaultBorder.getShadowIn())); + break; + } + case COMPOUND: { + Element out = createBorder(doc, border.getOutBorder(), "out"); + if (out != null) { + appendChild(elemBorder, out); + } + + Element in = createBorder(doc, border.getInBorder(), "in"); + if (in != null) { + appendChild(elemBorder, in); + } + break; + } + case EMPTY: { + setAttribute(elemBorder, "position", createAttribute(border.getPosition()), createAttribute(defaultBorder.getPosition())); + break; + } + case ETCHED: { + setAttribute(elemBorder, "type", createAttribute(border.getBorderType()), createAttribute(defaultBorder.getBorderType())); + setAttribute(elemBorder, "hl", createAttribute(border.getHlOut()), createAttribute(defaultBorder.getHlOut())); + setAttribute(elemBorder, "shadow", createAttribute(border.getShadowOut()), createAttribute(defaultBorder.getShadowOut())); + break; + } + case LINE: { + setAttribute(elemBorder, "color", createAttribute(border.getColor()), createAttribute(defaultBorder.getColor())); + setAttribute(elemBorder, "thickness", createAttribute(border.getThickness()), createAttribute(defaultBorder.getThickness())); + setAttribute(elemBorder, "rounded", createAttribute(border.getRounded()), createAttribute(defaultBorder.getRounded())); + break; + } + case MATTE: { + setAttribute(elemBorder, "position", createAttribute(border.getPosition()), createAttribute(defaultBorder.getPosition())); + setAttribute(elemBorder, "color", createAttribute(border.getColor()), createAttribute(defaultBorder.getColor())); + break; + } + case SOFTBEVEL: { + setAttribute(elemBorder, "type", createAttribute(border.getBorderType()), createAttribute(defaultBorder.getBorderType())); + setAttribute(elemBorder, "hlout", createAttribute(border.getHlOut()), createAttribute(defaultBorder.getHlOut())); + setAttribute(elemBorder, "hlin", createAttribute(border.getHlIn()), createAttribute(defaultBorder.getHlIn())); + setAttribute(elemBorder, "shadowout", createAttribute(border.getShadowOut()), createAttribute(defaultBorder.getShadowOut())); + setAttribute(elemBorder, "shadowin", createAttribute(border.getShadowIn()), createAttribute(defaultBorder.getShadowIn())); + break; + } + case TITLED: { + setAttribute(elemBorder, "title", createAttribute(border.getTitle()), createAttribute(defaultBorder.getTitle())); + setAttribute(elemBorder, "justification", createAttribute(border.getJustification()), createAttribute(defaultBorder.getJustification())); + setAttribute(elemBorder, "titleposition", createAttribute(border.getTitlePosition()), createAttribute(defaultBorder.getTitlePosition())); + setAttribute(elemBorder, "fontname", createAttribute(border.getFontName()), createAttribute(defaultBorder.getFontName())); + setAttribute(elemBorder, "fontangle", createAttribute(border.getFontAngle()), createAttribute(defaultBorder.getFontAngle())); + setAttribute(elemBorder, "fontsize", createAttribute(border.getFontSize()), createAttribute(defaultBorder.getFontSize())); + setAttribute(elemBorder, "fontweight", createAttribute(border.getFontWeight()), createAttribute(defaultBorder.getFontWeight())); + setAttribute(elemBorder, "color", createAttribute(border.getColor()), createAttribute(defaultBorder.getColor())); + Element title = createBorder(doc, border.getTitleBorder(), "title"); + if (title != null) { + appendChild(elemBorder, title); + } + break; + } + case NONE: + default: { + break; + } + } + return elemBorder; + } + + private static Element createUicontrol(Document doc, Integer id, boolean reverseChildren) { + GraphicController controller = GraphicController.getController(); + Uicontrol uic = (Uicontrol)controller.getObjectFromId(id); + Uicontrol defaultUi = initDefaultui(uic.getStyle()); + Element elemUi = doc.createElement(uic.getStyleAsEnum().toString().toLowerCase()); + + //BackgroundColor + setAttribute(elemUi, "backgroundcolor", createAttribute(uic.getBackgroundColor()), createAttribute(defaultUi.getBackgroundColor())); + //Enable + setAttribute(elemUi, "enable", createAttribute(uic.getEnable()), createAttribute(defaultUi.getEnable())); + //FontAngle + setAttribute(elemUi, "fontangle", createAttribute(uic.getFontAngle()), createAttribute(defaultUi.getFontAngle())); + //FontName + setAttribute(elemUi, "fontname", createAttribute(uic.getFontName()), createAttribute(defaultUi.getFontName())); + //FontSize + setAttribute(elemUi, "fontsize", createAttribute(uic.getFontSize()), createAttribute(defaultUi.getFontSize())); + //FontUnits + setAttribute(elemUi, "fontunits", createAttribute(uic.getFontUnits()), createAttribute(defaultUi.getFontUnits())); + //FontWeight + setAttribute(elemUi, "fontweight", createAttribute(uic.getFontWeight()), createAttribute(defaultUi.getFontWeight())); + //ForegroundColor + setAttribute(elemUi, "foregroundcolor", createAttribute(uic.getForegroundColor()), createAttribute(defaultUi.getForegroundColor())); + //HorizontalAlignment + setAttribute(elemUi, "horizontalalignment", createAttribute(uic.getHorizontalAlignment()), createAttribute(defaultUi.getHorizontalAlignment())); + //ListboxTop + setAttribute(elemUi, "listboxtop", createAttribute(uic.getListboxTop()), createAttribute(defaultUi.getListboxTop())); + //Max + setAttribute(elemUi, "max", createAttribute(uic.getMax()), createAttribute(defaultUi.getMax())); + //Min + setAttribute(elemUi, "min", createAttribute(uic.getMin()), createAttribute(defaultUi.getMin())); + //Relief + setAttribute(elemUi, "relief", createAttribute(uic.getRelief()), createAttribute(defaultUi.getRelief())); + //SliderStep + setAttribute(elemUi, "sliderstep", createAttribute(uic.getSliderStep()), createAttribute(defaultUi.getSliderStep())); + //String + //do not save string and value of tab/layer to avoid setting bad index during loading + if (uic.getStyle() != __GO_UI_TAB__ && uic.getStyle() != __GO_UI_LAYER__) { + String[] uicSstr = uic.getString(); + String[] modelStr = defaultUi.getString(); + if (Arrays.deepEquals(uicSstr, modelStr) == false) { + createStringArray(doc, elemUi, "string", uicSstr, uic.getStringColNb()); + } + } + //TooltipString + String[] uicToolTip = uic.getTooltipString(); + String[] modelToolTip = defaultUi.getTooltipString(); + if (Arrays.deepEquals(uicToolTip, modelToolTip) == false) { + createStringArray(doc, elemUi, "tooltipstring", uicToolTip, 1); + } + //Units + setAttribute(elemUi, "units", createAttribute(uic.getUnits()), createAttribute(defaultUi.getUnits())); + //Value + //do not save string and value of tab/layer to avoid setting bad index during loading + if (uic.getStyle() != __GO_UI_TAB__ && uic.getStyle() != __GO_UI_LAYER__) { + setAttribute(elemUi, "value", createAttribute(uic.getUiValue()), createAttribute(defaultUi.getUiValue())); + } + //VerticalAlignment + setAttribute(elemUi, "verticalalignment", createAttribute(uic.getVerticalAlignment()), createAttribute(defaultUi.getVerticalAlignment())); + //Visible + setAttribute(elemUi, "visible", createAttribute(uic.getVisible()), createAttribute(!defaultUi.getVisible())); + //Callback + setAttribute(elemUi, "callback", createAttribute(uic.getCallbackString()), createAttribute(defaultUi.getCallbackString())); + //Callback_Type + setAttribute(elemUi, "callback_type", createAttribute(uic.getCallbackType()), createAttribute(defaultUi.getCallbackType())); + + //Constraints + Integer parent = (Integer)controller.getProperty(uic.getIdentifier(), __GO_PARENT__); + Integer iLayout = (Integer)controller.getProperty(parent, __GO_LAYOUT__); + LayoutType layout = LayoutType.intToEnum(iLayout); + + if (layout == LayoutType.GRIDBAG) { + setAttribute(elemUi, "gridbaggrid", createAttribute(uic.getGridBagGrid()), createAttribute(defaultUi.getGridBagGrid())); + setAttribute(elemUi, "gridbagweight", createAttribute(uic.getGridBagWeight()), createAttribute(defaultUi.getGridBagWeight())); + setAttribute(elemUi, "gridbagfill", createAttribute(Uicontrol.FillType.enumToString(uic.getGridBagFillAsEnum())), createAttribute(Uicontrol.FillType.enumToString(defaultUi.getGridBagFillAsEnum()))); + setAttribute(elemUi, "gridbaganchor", createAttribute(Uicontrol.AnchorType.enumToString(uic.getGridBagAnchorAsEnum())), createAttribute(Uicontrol.AnchorType.enumToString(defaultUi.getGridBagAnchorAsEnum()))); + setAttribute(elemUi, "gridbagpadding", createAttribute(uic.getGridBagPadding()), createAttribute(defaultUi.getGridBagPadding())); + setAttribute(elemUi, "gridbagpreferredsize", createAttribute(uic.getGridBagPreferredSize()), createAttribute(defaultUi.getGridBagPreferredSize())); + } else if (layout == LayoutType.BORDER) { + setAttribute(elemUi, "borderposition", createAttribute(Uicontrol.BorderLayoutType.enumToString(uic.getBorderPositionAsEnum())), createAttribute(Uicontrol.BorderLayoutType.enumToString(defaultUi.getBorderPositionAsEnum()))); + setAttribute(elemUi, "borderpreferredsize", createAttribute(uic.getBorderPreferredSize()), createAttribute(defaultUi.getBorderPreferredSize())); + } else if (layout == LayoutType.NONE) { + //Position + setAttribute(elemUi, "position", createAttribute(uic.getUiPosition()), createAttribute(defaultUi.getUiPosition())); + } + + //Margins + setAttribute(elemUi, "margins", createAttribute(uic.getMargins()), createAttribute(defaultUi.getMargins())); + //Groupname + setAttribute(elemUi, "groupname", createAttribute(uic.getGroupName()), createAttribute(defaultUi.getGroupName())); + + //icon + setAttribute(elemUi, "icon", createAttribute(uic.getIcon()), createAttribute(defaultUi.getIcon())); + //Tag + setAttribute(elemUi, "tag", createAttribute(uic.getTag()), createAttribute(defaultUi.getTag())); + + //only for frame type + if (uic.getStyleAsEnum() == UicontrolStyle.FRAME) { + //Border + Integer iBorder = uic.getFrameBorder(); + Element border = createBorder(doc, iBorder); + if (border != null) { + appendChild(elemUi, createBorder(doc, iBorder)); + } + + //Layout + setAttribute(elemUi, "layout", createAttribute(LayoutType.enumToString(uic.getLayoutAsEnum())), createAttribute(LayoutType.enumToString(defaultUi.getLayoutAsEnum()))); + //Layout_options + if (uic.getLayoutAsEnum() == LayoutType.GRID) { + setAttribute(elemUi, "gridoptgrid", createAttribute(uic.getGridOptGrid()), createAttribute(defaultUi.getGridOptGrid())); + setAttribute(elemUi, "gridoptpadding", createAttribute(uic.getGridOptPadding()), createAttribute(defaultUi.getGridOptPadding())); + } else if (uic.getLayoutAsEnum() == LayoutType.BORDER) { + setAttribute(elemUi, "borderoptpadding", createAttribute(uic.getBorderOptPadding()), createAttribute(defaultUi.getBorderOptPadding())); + } + } + + if (uic.getStyleAsEnum() == UicontrolStyle.FRAME || uic.getStyleAsEnum() == UicontrolStyle.EDIT) { + //Scrollable + setAttribute(elemUi, "scrollable", createAttribute(uic.getScrollable()), createAttribute(defaultUi.getScrollable())); + } + + controller.deleteObject(defaultUi.getIdentifier()); + //children + Integer[] children = uic.getChildren(); + if (reverseChildren) { + for (int i = children.length - 1 ; i >= 0 ; i--) { + if ((Integer)controller.getProperty(children[i], __GO_TYPE__) != __GO_UI_FRAME_BORDER__) { + appendChild(elemUi, createElement(doc, children[i], reverseChildren)); + } + } + } else { + for (int i = 0 ; i < children.length ; i++) { + if ((Integer)controller.getProperty(children[i], __GO_TYPE__) != __GO_UI_FRAME_BORDER__) { + appendChild(elemUi, createElement(doc, children[i], reverseChildren)); + } + } + } + return elemUi; + } + + private static Element createUimenu(Document doc, Integer id, boolean reverseChildren) { + GraphicController controller = GraphicController.getController(); + Uimenu uim = (Uimenu)controller.getObjectFromId(id); + //bypass hidden menu + if (uim.isHidden()) { + return null; + } + + Uimenu defaultMenu = initDefaultMenu(); + Element elemMenu = doc.createElement("menu"); + + //enable + setAttribute(elemMenu, "enable", createAttribute(uim.getEnable()), createAttribute(defaultMenu.getEnable())); + //foregroundcolor + setAttribute(elemMenu, "foregroundcolor", createAttribute(uim.getForegroundColor()), createAttribute(defaultMenu.getForegroundColor())); + //label + setAttribute(elemMenu, "label", createAttribute(uim.getLabel()), createAttribute(defaultMenu.getLabel())); + //handle_visible + setAttribute(elemMenu, "hidden", createAttribute(uim.isHidden()), createAttribute(defaultMenu.isHidden())); + //visible + setAttribute(elemMenu, "visible", createAttribute(uim.getVisible()), createAttribute(defaultMenu.getVisible())); + //callback + setAttribute(elemMenu, "callback", createAttribute(uim.getCallbackString()), createAttribute(defaultMenu.getCallbackString())); + //callback_type + setAttribute(elemMenu, "callback_type", createAttribute(uim.getCallbackType()), createAttribute(defaultMenu.getCallbackType())); + //checked + setAttribute(elemMenu, "checked", createAttribute(uim.getChecked()), createAttribute(defaultMenu.getChecked())); + //icon + setAttribute(elemMenu, "icon", createAttribute(uim.getIcon()), createAttribute(defaultMenu.getIcon())); + //tag + setAttribute(elemMenu, "tag", createAttribute(uim.getTag()), createAttribute(defaultMenu.getTag())); + + //children + Integer[] children = uim.getChildren(); + for (int i = 0; i < children.length; i++) { + appendChild(elemMenu, createElement(doc, children[i], reverseChildren)); + } + + return elemMenu; + } + + private static String createAttribute(Boolean val) { + if (val == null) { + return "off"; + } + + if (val) { + return "on"; + } else { + return "off"; + } + } + + private static String createAttribute(Integer val) { + if (val == null) { + return null; + } + + StringBuilder builder = new StringBuilder(); + builder.append(val.intValue()); + return builder.toString(); + } + + private static String createAttribute(String val) { + if (val == null) { + return null; + } + return val; + } + + private static String createAttribute(Double val) { + if (val == null) { + return null; + } + + StringBuilder builder = new StringBuilder(); + builder.append(val.doubleValue()); + return builder.toString(); + } + + // private static String createAttribute(Boolean[] val) { + // if(val == null || val.length == 0) { + // return null; + // } + // + // StringBuilder str = new StringBuilder(); + // + // str.append(createAttribute(val[0])); + // + // for(int i = 1 ; i < val.length; i++) + // { + // str.append(","); + // str.append(createAttribute(val[i])); + // } + // + // return str.toString(); + // } + + + private static String createAttribute(String[] val) { + if (val == null || val.length == 0) { + return null; + } + + StringBuilder str = new StringBuilder(); + + str.append(createAttribute(val[0])); + + for (int i = 1 ; i < val.length; i++) { + str.append(","); + str.append(createAttribute(val[i])); + } + + return str.toString(); + } + + private static String createAttribute(Double[] val) { + if (val == null || val.length == 0) { + return null; + } + + StringBuilder str = new StringBuilder(); + + str.append(createAttribute(val[0])); + + for (int i = 1 ; i < val.length; i++) { + str.append(","); + str.append(createAttribute(val[i])); + } + + return str.toString(); + } + + private static String createAttribute(Integer[] val) { + if (val == null || val.length == 0) { + return null; + } + + StringBuilder str = new StringBuilder(); + + str.append(createAttribute(val[0])); + + for (int i = 1 ; i < val.length; i++) { + str.append(","); + str.append(createAttribute(val[i])); + } + + return str.toString(); + } + + private static void setAttribute(Element elem, String property, String value, String ref) { + if (value == null || property == null || elem == null || (ref != null && value.equals(ref))) { + return; + } + + elem.setAttribute(property, value); + } + + private static Uicontrol initDefaultui(Integer uicontrolStyle) { + Integer uic = GraphicController.getController().askObject(GraphicObject.getTypeFromName(uicontrolStyle)); + return (Uicontrol) GraphicController.getController().getObjectFromId(uic); + } + + private static Uimenu initDefaultMenu() { + Integer uic = GraphicController.getController().askObject(GraphicObject.getTypeFromName(__GO_UIMENU__)); + return (Uimenu) GraphicController.getController().getObjectFromId(uic); + } + + private static void createStringArray(Document doc, Element parent, String property, String[] value, Integer cols) { + //create a new Node to store string + Element elemString = doc.createElement("string"); + Integer rows = value.length / cols; + + setAttribute(elemString, "property", property, ""); + setAttribute(elemString, "rows", rows.toString(), ""); + setAttribute(elemString, "cols", cols.toString(), ""); + + for (int i = 0 ; i < rows * cols ; i++) { + Element elemSub = doc.createElement("stringitem"); + setAttribute(elemSub, "value", value[i], null); + elemString.appendChild(elemSub); + } + + parent.appendChild(elemString); + } + + private static void createColorMap(Document doc, Element parent, Double[] value) { + //create a new Node to store string + Element elemString = doc.createElement("colormap"); + Integer rows = value.length / 3; + + setAttribute(elemString, "size", rows.toString(), ""); + + for (int i = 0 ; i < rows ; i++) { + Element elemSub = doc.createElement("colormapitem"); + Color c = new Color(value[i].floatValue(), value[i + rows].floatValue(), value[i + 2 * rows].floatValue()); + Integer color = c.getRGB(); + setAttribute(elemSub, "color", color.toString(), null); + elemString.appendChild(elemSub); + } + + parent.appendChild(elemString); + } + +} diff --git a/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/XmlTools.java b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/XmlTools.java new file mode 100755 index 000000000..c088c06a3 --- /dev/null +++ b/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/xmlloader/XmlTools.java @@ -0,0 +1,162 @@ +package org.scilab.modules.graphic_objects.xmlloader; + +import java.util.Map; +import java.util.StringTokenizer; + +import org.scilab.modules.graphic_objects.graphicController.GraphicController; + +public class XmlTools { + public static Boolean setPropAsDouble(Integer uid, Integer prop, String propString) { + if (propString == null || propString.equals("")) { + return false; + } + + GraphicController.getController().setProperty(uid, prop, Double.parseDouble(propString)); + return true; + } + + public static Boolean setPropAsDoubleVector(Integer uid, Integer prop, Map<String, String> map, String[] propString) { + if (propString == null || propString.length == 0) { + return false; + } + + Double[] values = new Double[propString.length]; + for (int i = 0; i < propString.length; i++) { + String value = map.get(propString[i]); + if (value == null || value.equals("")) { + values[i] = 0.0; + } else { + values[i] = Double.parseDouble(value); + } + } + + GraphicController.getController().setProperty(uid, prop, values); + return true; + } + + public static Boolean setPropAsDoubleVector(Integer uid, Integer prop, String propString, Integer size) { + if (propString == null || propString.equals("")) { + return false; + } + + Double[] values = new Double[size]; + + StringTokenizer tokens = new StringTokenizer(propString, ","); + if (tokens.countTokens() > size) { + return false; + } + + int i = 0; + while (tokens.hasMoreTokens()) { + values[i++] = Double.parseDouble(tokens.nextToken()); + } + + GraphicController.getController().setProperty(uid, prop, values); + return true; + } + + public static Boolean setPropAsBoolean(Integer uid, Integer prop, String propString) { + if (propString == null || propString.equals("")) { + return false; + } + + GraphicController.getController().setProperty(uid, prop, Boolean.parseBoolean(propString)); + return true; + } + + public static Boolean setPropAsBooleanVector(Integer uid, Integer prop, String propString, Integer size) { + if (propString == null || propString.equals("")) { + return false; + } + + Boolean[] values = new Boolean[size]; + + StringTokenizer tokens = new StringTokenizer(propString, ","); + if (tokens.countTokens() > size) { + return false; + } + + int i = 0; + while (tokens.hasMoreTokens()) { + values[i++] = Boolean.parseBoolean(tokens.nextToken()); + } + + GraphicController.getController().setProperty(uid, prop, values); + return true; + } + + public static Boolean setPropAsInteger(Integer uid, Integer prop, String propString) { + if (propString == null || propString.equals("")) { + return false; + } + + GraphicController.getController().setProperty(uid, prop, Integer.parseInt(propString)); + return true; + } + + public static Boolean setPropAsIntegerVector(Integer uid, Integer prop, String propString, Integer size) { + if (propString == null || propString.equals("")) { + return false; + } + + Integer[] values = new Integer[size]; + + StringTokenizer tokens = new StringTokenizer(propString, ","); + if (tokens.countTokens() > size) { + return false; + } + + int i = 0; + while (tokens.hasMoreTokens()) { + values[i++] = Integer.parseInt(tokens.nextToken()); + } + + GraphicController.getController().setProperty(uid, prop, values); + return true; + } + + public static Boolean setPropAsString(Integer uid, Integer prop, String propString) { + if (propString == null || propString.equals("")) { + return false; + } + + GraphicController.getController().setProperty(uid, prop, propString); + return true; + } + + public static Boolean setPropAsStringVector(Integer uid, Integer prop, String propString, Integer size) { + if (propString == null || propString.equals("")) { + return false; + } + + String[] values = new String[size]; + + StringTokenizer tokens = new StringTokenizer(propString, ","); + if (tokens.countTokens() > size) { + return false; + } + + int i = 0; + while (tokens.hasMoreTokens()) { + values[i++] = tokens.nextToken(); + } + + GraphicController.getController().setProperty(uid, prop, values); + return true; + } + + public static String getFromMap(Map<String, String> map, String field, String defaultValue) { + if (map != null) { + String ret = map.get(field); + if (ret != null) { + map.remove(field); + return ret; + } + } + return defaultValue; + } + + public static String getFromMap(Map<String, String> map, String field) { + return getFromMap(map, field, ""); + } +} diff --git a/modules/graphic_objects/src/jni/.deps/.dirstamp b/modules/graphic_objects/src/jni/.deps/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/graphic_objects/src/jni/.deps/.dirstamp diff --git a/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-Builder.Plo b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-Builder.Plo new file mode 100755 index 000000000..31503a5bf --- /dev/null +++ b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-Builder.Plo @@ -0,0 +1,341 @@ +src/jni/libscigraphic_objects_la-Builder.lo: src/jni/Builder.cpp \ + /usr/include/stdc-predef.h src/jni/Builder.hxx \ + /usr/include/c++/5/iostream \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + ../../modules/commons/src/jni/GiwsException.hxx + +/usr/include/stdc-predef.h: + +src/jni/Builder.hxx: + +/usr/include/c++/5/iostream: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +../../modules/commons/src/jni/GiwsException.hxx: diff --git a/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-CallGraphicController.Plo b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-CallGraphicController.Plo new file mode 100755 index 000000000..527ef9103 --- /dev/null +++ b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-CallGraphicController.Plo @@ -0,0 +1,341 @@ +src/jni/libscigraphic_objects_la-CallGraphicController.lo: \ + src/jni/CallGraphicController.cpp /usr/include/stdc-predef.h \ + src/jni/CallGraphicController.hxx /usr/include/c++/5/iostream \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + ../../modules/commons/src/jni/GiwsException.hxx + +/usr/include/stdc-predef.h: + +src/jni/CallGraphicController.hxx: + +/usr/include/c++/5/iostream: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +../../modules/commons/src/jni/GiwsException.hxx: diff --git a/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-CallXmlLoader.Plo b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-CallXmlLoader.Plo new file mode 100755 index 000000000..b97fe14b7 --- /dev/null +++ b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-CallXmlLoader.Plo @@ -0,0 +1,341 @@ +src/jni/libscigraphic_objects_la-CallXmlLoader.lo: \ + src/jni/CallXmlLoader.cpp /usr/include/stdc-predef.h \ + src/jni/CallXmlLoader.hxx /usr/include/c++/5/iostream \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h \ + /usr/include/c++/5/ostream /usr/include/c++/5/ios \ + /usr/include/c++/5/iosfwd /usr/include/c++/5/bits/stringfwd.h \ + /usr/include/c++/5/bits/memoryfwd.h /usr/include/c++/5/bits/postypes.h \ + /usr/include/c++/5/cwchar /usr/include/wchar.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/xlocale.h \ + /usr/include/x86_64-linux-gnu/bits/wchar2.h /usr/include/c++/5/exception \ + /usr/include/c++/5/bits/atomic_lockfree_defines.h \ + /usr/include/c++/5/bits/char_traits.h \ + /usr/include/c++/5/bits/stl_algobase.h \ + /usr/include/c++/5/bits/functexcept.h \ + /usr/include/c++/5/bits/exception_defines.h \ + /usr/include/c++/5/bits/cpp_type_traits.h \ + /usr/include/c++/5/ext/type_traits.h \ + /usr/include/c++/5/ext/numeric_traits.h \ + /usr/include/c++/5/bits/stl_pair.h /usr/include/c++/5/bits/move.h \ + /usr/include/c++/5/bits/concept_check.h \ + /usr/include/c++/5/bits/stl_iterator_base_types.h \ + /usr/include/c++/5/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/5/debug/debug.h /usr/include/c++/5/bits/stl_iterator.h \ + /usr/include/c++/5/bits/ptr_traits.h \ + /usr/include/c++/5/bits/predefined_ops.h \ + /usr/include/c++/5/bits/localefwd.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h \ + /usr/include/c++/5/clocale /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/5/cctype \ + /usr/include/ctype.h /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/c++/5/bits/ios_base.h /usr/include/c++/5/ext/atomicity.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/bits/sched.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/timex.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/x86_64-linux-gnu/bits/setjmp.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h \ + /usr/include/c++/5/bits/locale_classes.h /usr/include/c++/5/string \ + /usr/include/c++/5/bits/allocator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h \ + /usr/include/c++/5/ext/new_allocator.h /usr/include/c++/5/new \ + /usr/include/c++/5/bits/ostream_insert.h \ + /usr/include/c++/5/bits/cxxabi_forced.h \ + /usr/include/c++/5/bits/stl_function.h \ + /usr/include/c++/5/backward/binders.h \ + /usr/include/c++/5/bits/range_access.h \ + /usr/include/c++/5/bits/basic_string.h \ + /usr/include/c++/5/ext/alloc_traits.h \ + /usr/include/c++/5/bits/basic_string.tcc \ + /usr/include/c++/5/bits/locale_classes.tcc /usr/include/c++/5/stdexcept \ + /usr/include/c++/5/streambuf /usr/include/c++/5/bits/streambuf.tcc \ + /usr/include/c++/5/bits/basic_ios.h \ + /usr/include/c++/5/bits/locale_facets.h /usr/include/c++/5/cwctype \ + /usr/include/wctype.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h \ + /usr/include/c++/5/bits/streambuf_iterator.h \ + /usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h \ + /usr/include/c++/5/bits/locale_facets.tcc \ + /usr/include/c++/5/bits/basic_ios.tcc \ + /usr/include/c++/5/bits/ostream.tcc /usr/include/c++/5/istream \ + /usr/include/c++/5/bits/istream.tcc /usr/include/string.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h /usr/include/stdlib.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ + /usr/include/x86_64-linux-gnu/sys/types.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + ../../modules/commons/src/jni/GiwsException.hxx + +/usr/include/stdc-predef.h: + +src/jni/CallXmlLoader.hxx: + +/usr/include/c++/5/iostream: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++config.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/cpu_defines.h: + +/usr/include/c++/5/ostream: + +/usr/include/c++/5/ios: + +/usr/include/c++/5/iosfwd: + +/usr/include/c++/5/bits/stringfwd.h: + +/usr/include/c++/5/bits/memoryfwd.h: + +/usr/include/c++/5/bits/postypes.h: + +/usr/include/c++/5/cwchar: + +/usr/include/wchar.h: + +/usr/include/stdio.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/wchar2.h: + +/usr/include/c++/5/exception: + +/usr/include/c++/5/bits/atomic_lockfree_defines.h: + +/usr/include/c++/5/bits/char_traits.h: + +/usr/include/c++/5/bits/stl_algobase.h: + +/usr/include/c++/5/bits/functexcept.h: + +/usr/include/c++/5/bits/exception_defines.h: + +/usr/include/c++/5/bits/cpp_type_traits.h: + +/usr/include/c++/5/ext/type_traits.h: + +/usr/include/c++/5/ext/numeric_traits.h: + +/usr/include/c++/5/bits/stl_pair.h: + +/usr/include/c++/5/bits/move.h: + +/usr/include/c++/5/bits/concept_check.h: + +/usr/include/c++/5/bits/stl_iterator_base_types.h: + +/usr/include/c++/5/bits/stl_iterator_base_funcs.h: + +/usr/include/c++/5/debug/debug.h: + +/usr/include/c++/5/bits/stl_iterator.h: + +/usr/include/c++/5/bits/ptr_traits.h: + +/usr/include/c++/5/bits/predefined_ops.h: + +/usr/include/c++/5/bits/localefwd.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++locale.h: + +/usr/include/c++/5/clocale: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/c++/5/cctype: + +/usr/include/ctype.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/c++/5/bits/ios_base.h: + +/usr/include/c++/5/ext/atomicity.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/bits/sched.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/timex.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/x86_64-linux-gnu/bits/setjmp.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/atomic_word.h: + +/usr/include/c++/5/bits/locale_classes.h: + +/usr/include/c++/5/string: + +/usr/include/c++/5/bits/allocator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/c++allocator.h: + +/usr/include/c++/5/ext/new_allocator.h: + +/usr/include/c++/5/new: + +/usr/include/c++/5/bits/ostream_insert.h: + +/usr/include/c++/5/bits/cxxabi_forced.h: + +/usr/include/c++/5/bits/stl_function.h: + +/usr/include/c++/5/backward/binders.h: + +/usr/include/c++/5/bits/range_access.h: + +/usr/include/c++/5/bits/basic_string.h: + +/usr/include/c++/5/ext/alloc_traits.h: + +/usr/include/c++/5/bits/basic_string.tcc: + +/usr/include/c++/5/bits/locale_classes.tcc: + +/usr/include/c++/5/stdexcept: + +/usr/include/c++/5/streambuf: + +/usr/include/c++/5/bits/streambuf.tcc: + +/usr/include/c++/5/bits/basic_ios.h: + +/usr/include/c++/5/bits/locale_facets.h: + +/usr/include/c++/5/cwctype: + +/usr/include/wctype.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_base.h: + +/usr/include/c++/5/bits/streambuf_iterator.h: + +/usr/include/x86_64-linux-gnu/c++/5/bits/ctype_inline.h: + +/usr/include/c++/5/bits/locale_facets.tcc: + +/usr/include/c++/5/bits/basic_ios.tcc: + +/usr/include/c++/5/bits/ostream.tcc: + +/usr/include/c++/5/istream: + +/usr/include/c++/5/bits/istream.tcc: + +/usr/include/string.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +../../modules/commons/src/jni/GiwsException.hxx: diff --git a/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-DataLoader_wrap.Plo b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-DataLoader_wrap.Plo new file mode 100755 index 000000000..acbafb239 --- /dev/null +++ b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-DataLoader_wrap.Plo @@ -0,0 +1,128 @@ +src/jni/libscigraphic_objects_la-DataLoader_wrap.lo: \ + src/jni/DataLoader_wrap.c /usr/include/stdc-predef.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/DataLoader.hxx + +/usr/include/stdc-predef.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/DataLoader.hxx: diff --git a/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-ObjectData_wrap.Plo b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-ObjectData_wrap.Plo new file mode 100755 index 000000000..0f13c6d0e --- /dev/null +++ b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-ObjectData_wrap.Plo @@ -0,0 +1,183 @@ +src/jni/libscigraphic_objects_la-ObjectData_wrap.lo: \ + src/jni/ObjectData_wrap.c /usr/include/stdc-predef.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/returnType.h \ + includes/getGraphicObjectProperty.h includes/returnType.h \ + includes/dynlib_graphic_objects.h includes/CurrentObject.h \ + ../../modules/core/includes/BOOL.h includes/setGraphicObjectProperty.h \ + includes/graphicObjectProperties.h ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h + +/usr/include/stdc-predef.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/returnType.h: + +includes/getGraphicObjectProperty.h: + +includes/returnType.h: + +includes/dynlib_graphic_objects.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/setGraphicObjectProperty.h: + +includes/graphicObjectProperties.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: diff --git a/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-PolylineData_wrap.Plo b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-PolylineData_wrap.Plo new file mode 100755 index 000000000..a00c1c065 --- /dev/null +++ b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-PolylineData_wrap.Plo @@ -0,0 +1,189 @@ +src/jni/libscigraphic_objects_la-PolylineData_wrap.lo: \ + src/jni/PolylineData_wrap.c /usr/include/stdc-predef.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h \ + includes/createGraphicObject.h includes/dynlib_graphic_objects.h \ + ../../modules/core/includes/BOOL.h includes/deleteGraphicObject.h \ + includes/returnType.h includes/getGraphicObjectProperty.h \ + includes/returnType.h includes/CurrentObject.h \ + includes/setGraphicObjectProperty.h includes/graphicObjectProperties.h \ + ../../modules/core/includes/MALLOC.h \ + ../../modules/core/includes/sci_mem_alloc.h /usr/include/math.h \ + /usr/include/x86_64-linux-gnu/bits/math-vector.h \ + /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \ + /usr/include/x86_64-linux-gnu/bits/huge_val.h \ + /usr/include/x86_64-linux-gnu/bits/huge_valf.h \ + /usr/include/x86_64-linux-gnu/bits/huge_vall.h \ + /usr/include/x86_64-linux-gnu/bits/inf.h \ + /usr/include/x86_64-linux-gnu/bits/nan.h \ + /usr/include/x86_64-linux-gnu/bits/mathdef.h \ + /usr/include/x86_64-linux-gnu/bits/mathcalls.h \ + /usr/include/x86_64-linux-gnu/bits/mathinline.h + +/usr/include/stdc-predef.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/createGraphicObject.h: + +includes/dynlib_graphic_objects.h: + +../../modules/core/includes/BOOL.h: + +includes/deleteGraphicObject.h: + +includes/returnType.h: + +includes/getGraphicObjectProperty.h: + +includes/returnType.h: + +includes/CurrentObject.h: + +includes/setGraphicObjectProperty.h: + +includes/graphicObjectProperties.h: + +../../modules/core/includes/MALLOC.h: + +../../modules/core/includes/sci_mem_alloc.h: + +/usr/include/math.h: + +/usr/include/x86_64-linux-gnu/bits/math-vector.h: + +/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h: + +/usr/include/x86_64-linux-gnu/bits/huge_val.h: + +/usr/include/x86_64-linux-gnu/bits/huge_valf.h: + +/usr/include/x86_64-linux-gnu/bits/huge_vall.h: + +/usr/include/x86_64-linux-gnu/bits/inf.h: + +/usr/include/x86_64-linux-gnu/bits/nan.h: + +/usr/include/x86_64-linux-gnu/bits/mathdef.h: + +/usr/include/x86_64-linux-gnu/bits/mathcalls.h: + +/usr/include/x86_64-linux-gnu/bits/mathinline.h: diff --git a/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-ScilabNativeView_wrap.Plo b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-ScilabNativeView_wrap.Plo new file mode 100755 index 000000000..2ce6019a0 --- /dev/null +++ b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-ScilabNativeView_wrap.Plo @@ -0,0 +1,126 @@ +src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo: \ + src/jni/ScilabNativeView_wrap.c /usr/include/stdc-predef.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h + +/usr/include/stdc-predef.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: diff --git a/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-SurfaceData_wrap.Plo b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-SurfaceData_wrap.Plo new file mode 100755 index 000000000..fbdabe5d0 --- /dev/null +++ b/modules/graphic_objects/src/jni/.deps/libscigraphic_objects_la-SurfaceData_wrap.Plo @@ -0,0 +1,146 @@ +src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo: \ + src/jni/SurfaceData_wrap.c /usr/include/stdc-predef.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/jni.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h \ + /usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h \ + /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h includes/returnType.h \ + includes/getGraphicObjectProperty.h includes/returnType.h \ + includes/dynlib_graphic_objects.h includes/CurrentObject.h \ + ../../modules/core/includes/BOOL.h includes/setGraphicObjectProperty.h \ + includes/graphicObjectProperties.h + +/usr/include/stdc-predef.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +/usr/lib/jvm/java-8-openjdk-amd64/include/linux/jni_md.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +includes/returnType.h: + +includes/getGraphicObjectProperty.h: + +includes/returnType.h: + +includes/dynlib_graphic_objects.h: + +includes/CurrentObject.h: + +../../modules/core/includes/BOOL.h: + +includes/setGraphicObjectProperty.h: + +includes/graphicObjectProperties.h: diff --git a/modules/graphic_objects/src/jni/.dirstamp b/modules/graphic_objects/src/jni/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/graphic_objects/src/jni/.dirstamp diff --git a/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-Builder.o b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-Builder.o Binary files differnew file mode 100755 index 000000000..ff8fa19c3 --- /dev/null +++ b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-Builder.o diff --git a/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-CallGraphicController.o b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-CallGraphicController.o Binary files differnew file mode 100755 index 000000000..7dee9c5d8 --- /dev/null +++ b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-CallGraphicController.o diff --git a/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-CallXmlLoader.o b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-CallXmlLoader.o Binary files differnew file mode 100755 index 000000000..94d008fa1 --- /dev/null +++ b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-CallXmlLoader.o diff --git a/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-DataLoader_wrap.o b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-DataLoader_wrap.o Binary files differnew file mode 100755 index 000000000..bae8aab58 --- /dev/null +++ b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-DataLoader_wrap.o diff --git a/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-ObjectData_wrap.o b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-ObjectData_wrap.o Binary files differnew file mode 100755 index 000000000..2f32f994a --- /dev/null +++ b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-ObjectData_wrap.o diff --git a/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-PolylineData_wrap.o b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-PolylineData_wrap.o Binary files differnew file mode 100755 index 000000000..4ac3c04be --- /dev/null +++ b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-PolylineData_wrap.o diff --git a/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-ScilabNativeView_wrap.o b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-ScilabNativeView_wrap.o Binary files differnew file mode 100755 index 000000000..dd6843f7e --- /dev/null +++ b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-ScilabNativeView_wrap.o diff --git a/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-SurfaceData_wrap.o b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-SurfaceData_wrap.o Binary files differnew file mode 100755 index 000000000..bf1c11a14 --- /dev/null +++ b/modules/graphic_objects/src/jni/.libs/libscigraphic_objects_la-SurfaceData_wrap.o diff --git a/modules/graphic_objects/src/jni/Builder.cpp b/modules/graphic_objects/src/jni/Builder.cpp new file mode 100755 index 000000000..1d1521be0 --- /dev/null +++ b/modules/graphic_objects/src/jni/Builder.cpp @@ -0,0 +1,1199 @@ +#include "Builder.hxx" +/* Generated by GIWS (version 2.0.2) with command: +giws --disable-return-size-array --output-dir src\jni --throws-exception-on-error --description-file src\jni\builder.giws.xml +*/ +/* + +This is generated code. + +This software is a computer program whose purpose is to hide the complexity +of accessing Java objects/methods from C++ code. + +This software is governed by the CeCILL-B license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-B +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-B license and that you accept its terms. +*/ + +namespace org_scilab_modules_graphic_objects_builder { + + // Static declarations (if any) + +// Returns the current env + +JNIEnv * Builder::getCurrentEnv() { +JNIEnv * curEnv = NULL; +jint res=this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +if (res != JNI_OK) { +throw GiwsException::JniException(getCurrentEnv()); +} +return curEnv; +} +// Destructor + +Builder::~Builder() { +JNIEnv * curEnv = NULL; +this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +curEnv->DeleteGlobalRef(this->instance); +curEnv->DeleteGlobalRef(this->instanceClass); +curEnv->DeleteGlobalRef(this->stringArrayClass);} +// Constructors +Builder::Builder(JavaVM * jvm_) { +jmethodID constructObject = NULL ; +jobject localInstance ; +jclass localClass ; + +const std::string construct="<init>"; +const std::string param="()V"; +jvm=jvm_; + +JNIEnv * curEnv = getCurrentEnv(); + +localClass = curEnv->FindClass( this->className().c_str() ) ; +if (localClass == NULL) { + throw GiwsException::JniClassNotFoundException(curEnv, this->className()); +} + +this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass)); + +/* localClass is not needed anymore */ +curEnv->DeleteLocalRef(localClass); + +if (this->instanceClass == NULL) { +throw GiwsException::JniObjectCreationException(curEnv, this->className()); +} + + +constructObject = curEnv->GetMethodID( this->instanceClass, construct.c_str() , param.c_str() ) ; +if(constructObject == NULL){ +throw GiwsException::JniObjectCreationException(curEnv, this->className()); +} + +localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ; +if(localInstance == NULL){ +throw GiwsException::JniObjectCreationException(curEnv, this->className()); +} + +this->instance = curEnv->NewGlobalRef(localInstance) ; +if(this->instance == NULL){ +throw GiwsException::JniObjectCreationException(curEnv, this->className()); +} +/* localInstance not needed anymore */ +curEnv->DeleteLocalRef(localInstance); + + /* Methods ID set to NULL */ +jintcreateRectjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjintintjintintjintintID=NULL; +jintcloneGraphicContextjintintjintintID=NULL; +jintcloneFontContextjintintjintintID=NULL; +jintcreateHiddenLabeljintintID=NULL; +jbooleanisAxesRedrawingjintintID=NULL; +jintcreateLabeljintintjintintID=NULL; +jintcreateNewFigureWithAxesID=NULL; +jintcreateFigurejbooleanbooleanjintintjintintjbooleanbooleanjbooleanbooleanID=NULL; +voidcloneMenusjintintjintintID=NULL; +jintcloneAxesModeljintintID=NULL; +jintcreateSubWinjintintID=NULL; +jintcreateTextjintintjobjectArray_java_lang_Stringjava_lang_StringjintintjintintjdoubledoublejdoubledoublejbooleanbooleanjdoubleArray_doubledoublejintintjintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanjintintID=NULL; +jintcreateArcjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanID=NULL; +jintcreateAxisjintintjintintjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejintintjstringjava_lang_StringjintintjintintjintintjbooleanbooleanID=NULL; +jintcreateCompoundjintintjintArray_intintID=NULL; +jintcreateCompoundSeqjintintjintintID=NULL; +jintcreateFecjintintjdoubleArray_doubledoublejintArray_intintjintArray_intintjbooleanbooleanID=NULL; +jintcreateGrayplotjintintjintintjdoubleArray_doubledoublejintintjintintID=NULL; +jintcreatePolylinejintintjbooleanbooleanjintintjintintjbooleanbooleanjintArray_intintjintintjbooleanbooleanjintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanID=NULL; +jintcreateLegendjintintjobjectArray_java_lang_Stringjava_lang_StringjintArray_intintID=NULL; +jintcreateSegsjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejbooleanbooleanjintArray_intintjdoubledoubleID=NULL; +jintcreateChampjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubledoublejbooleanbooleanID=NULL; +jintcreateSurfacejintintjintintjintintjintintID=NULL; +voidinitSubWinTo3djintintjstringjava_lang_StringjbooleanbooleanjintArray_intintjdoubledoublejdoubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoubleID=NULL; +jintcreateLightjintintjintintjbooleanbooleanjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoubleID=NULL; + + +} + +Builder::Builder(JavaVM * jvm_, jobject JObj) { + jvm=jvm_; + + JNIEnv * curEnv = getCurrentEnv(); + +jclass localClass = curEnv->GetObjectClass(JObj); + this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass)); + curEnv->DeleteLocalRef(localClass); + + if (this->instanceClass == NULL) { +throw GiwsException::JniObjectCreationException(curEnv, this->className()); + } + + this->instance = curEnv->NewGlobalRef(JObj) ; + if(this->instance == NULL){ +throw GiwsException::JniObjectCreationException(curEnv, this->className()); + } + /* Methods ID set to NULL */ + jintcreateRectjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjintintjintintjintintID=NULL; +jintcloneGraphicContextjintintjintintID=NULL; +jintcloneFontContextjintintjintintID=NULL; +jintcreateHiddenLabeljintintID=NULL; +jbooleanisAxesRedrawingjintintID=NULL; +jintcreateLabeljintintjintintID=NULL; +jintcreateNewFigureWithAxesID=NULL; +jintcreateFigurejbooleanbooleanjintintjintintjbooleanbooleanjbooleanbooleanID=NULL; +voidcloneMenusjintintjintintID=NULL; +jintcloneAxesModeljintintID=NULL; +jintcreateSubWinjintintID=NULL; +jintcreateTextjintintjobjectArray_java_lang_Stringjava_lang_StringjintintjintintjdoubledoublejdoubledoublejbooleanbooleanjdoubleArray_doubledoublejintintjintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanjintintID=NULL; +jintcreateArcjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanID=NULL; +jintcreateAxisjintintjintintjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejintintjstringjava_lang_StringjintintjintintjintintjbooleanbooleanID=NULL; +jintcreateCompoundjintintjintArray_intintID=NULL; +jintcreateCompoundSeqjintintjintintID=NULL; +jintcreateFecjintintjdoubleArray_doubledoublejintArray_intintjintArray_intintjbooleanbooleanID=NULL; +jintcreateGrayplotjintintjintintjdoubleArray_doubledoublejintintjintintID=NULL; +jintcreatePolylinejintintjbooleanbooleanjintintjintintjbooleanbooleanjintArray_intintjintintjbooleanbooleanjintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanID=NULL; +jintcreateLegendjintintjobjectArray_java_lang_Stringjava_lang_StringjintArray_intintID=NULL; +jintcreateSegsjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejbooleanbooleanjintArray_intintjdoubledoubleID=NULL; +jintcreateChampjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubledoublejbooleanbooleanID=NULL; +jintcreateSurfacejintintjintintjintintjintintID=NULL; +voidinitSubWinTo3djintintjstringjava_lang_StringjbooleanbooleanjintArray_intintjdoubledoublejdoubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoubleID=NULL; +jintcreateLightjintintjintintjbooleanbooleanjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoubleID=NULL; + + +} + +// Generic methods + +void Builder::synchronize() { +if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK) { +throw GiwsException::JniMonitorException(getCurrentEnv(), "Builder"); +} +} + +void Builder::endSynchronize() { +if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK) { +throw GiwsException::JniMonitorException(getCurrentEnv(), "Builder"); +} +} +// Method(s) + +int Builder::createRect (JavaVM * jvm_, int pparentsubwinUID, double x, double y, double height, double width, int foreground, int background, int isfilled, int isline){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateRectjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjintintjintintjintintID = curEnv->GetStaticMethodID(cls, "createRect", "(IDDDDIIII)I" ) ; +if (jintcreateRectjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjintintjintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createRect"); +} + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateRectjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjintintjintintjintintID ,pparentsubwinUID, x, y, height, width, foreground, background, isfilled, isline)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::cloneGraphicContext (JavaVM * jvm_, int sourceIdentifier, int destIdentifier){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcloneGraphicContextjintintjintintID = curEnv->GetStaticMethodID(cls, "cloneGraphicContext", "(II)I" ) ; +if (jintcloneGraphicContextjintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "cloneGraphicContext"); +} + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcloneGraphicContextjintintjintintID ,sourceIdentifier, destIdentifier)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::cloneFontContext (JavaVM * jvm_, int sourceIdentifier, int destIdentifier){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcloneFontContextjintintjintintID = curEnv->GetStaticMethodID(cls, "cloneFontContext", "(II)I" ) ; +if (jintcloneFontContextjintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "cloneFontContext"); +} + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcloneFontContextjintintjintintID ,sourceIdentifier, destIdentifier)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createHiddenLabel (JavaVM * jvm_, int parent){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateHiddenLabeljintintID = curEnv->GetStaticMethodID(cls, "createHiddenLabel", "(I)I" ) ; +if (jintcreateHiddenLabeljintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createHiddenLabel"); +} + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateHiddenLabeljintintID ,parent)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +bool Builder::isAxesRedrawing (JavaVM * jvm_, int subWin){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jbooleanisAxesRedrawingjintintID = curEnv->GetStaticMethodID(cls, "isAxesRedrawing", "(I)Z" ) ; +if (jbooleanisAxesRedrawingjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "isAxesRedrawing"); +} + + jboolean res = static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleanisAxesRedrawingjintintID ,subWin)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return (res == JNI_TRUE); + +} + +int Builder::createLabel (JavaVM * jvm_, int parent, int type){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateLabeljintintjintintID = curEnv->GetStaticMethodID(cls, "createLabel", "(II)I" ) ; +if (jintcreateLabeljintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createLabel"); +} + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateLabeljintintjintintID ,parent, type)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createNewFigureWithAxes (JavaVM * jvm_){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateNewFigureWithAxesID = curEnv->GetStaticMethodID(cls, "createNewFigureWithAxes", "()I" ) ; +if (jintcreateNewFigureWithAxesID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createNewFigureWithAxes"); +} + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateNewFigureWithAxesID )); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createFigure (JavaVM * jvm_, bool dockable, int menubarType, int toolbarType, bool defaultAxes, bool visible){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateFigurejbooleanbooleanjintintjintintjbooleanbooleanjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "createFigure", "(ZIIZZ)I" ) ; +if (jintcreateFigurejbooleanbooleanjintintjintintjbooleanbooleanjbooleanbooleanID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createFigure"); +} + +jboolean dockable_ = (static_cast<bool>(dockable) ? JNI_TRUE : JNI_FALSE); + +jboolean defaultAxes_ = (static_cast<bool>(defaultAxes) ? JNI_TRUE : JNI_FALSE); + +jboolean visible_ = (static_cast<bool>(visible) ? JNI_TRUE : JNI_FALSE); + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateFigurejbooleanbooleanjintintjintintjbooleanbooleanjbooleanbooleanID ,dockable_, menubarType, toolbarType, defaultAxes_, visible_)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +void Builder::cloneMenus (JavaVM * jvm_, int model, int newParent){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID voidcloneMenusjintintjintintID = curEnv->GetStaticMethodID(cls, "cloneMenus", "(II)V" ) ; +if (voidcloneMenusjintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "cloneMenus"); +} + + curEnv->CallStaticVoidMethod(cls, voidcloneMenusjintintjintintID ,model, newParent); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +} + +int Builder::cloneAxesModel (JavaVM * jvm_, int parent){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcloneAxesModeljintintID = curEnv->GetStaticMethodID(cls, "cloneAxesModel", "(I)I" ) ; +if (jintcloneAxesModeljintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "cloneAxesModel"); +} + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcloneAxesModeljintintID ,parent)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createSubWin (JavaVM * jvm_, int parent){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateSubWinjintintID = curEnv->GetStaticMethodID(cls, "createSubWin", "(I)I" ) ; +if (jintcreateSubWinjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createSubWin"); +} + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateSubWinjintintID ,parent)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createText (JavaVM * jvm_, int parent, char const* const* text, int textSize, int rows, int cols, double x, double y, bool autoSize, double const* userSize, int userSizeSize, int centerPos, int foreground, bool isForeground, int background, bool isBackground, bool boxed, bool line, bool filled, int align){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateTextjintintjobjectArray_java_lang_Stringjava_lang_StringjintintjintintjdoubledoublejdoubledoublejbooleanbooleanjdoubleArray_doubledoublejintintjintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanjintintID = curEnv->GetStaticMethodID(cls, "createText", "(I[Ljava/lang/String;IIDDZ[DIIZIZZZZI)I" ) ; +if (jintcreateTextjintintjobjectArray_java_lang_Stringjava_lang_StringjintintjintintjdoubledoublejdoubledoublejbooleanbooleanjdoubleArray_doubledoublejintintjintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createText"); +} +jclass stringArrayClass = curEnv->FindClass("java/lang/String"); + +// create java array of strings. +jobjectArray text_ = curEnv->NewObjectArray( textSize, stringArrayClass, NULL); +if (text_ == NULL) +{ +throw GiwsException::JniBadAllocException(curEnv); +} + +// convert each char * to java strings and fill the java array. +for ( int i = 0; i < textSize; i++) +{ +jstring TempString = curEnv->NewStringUTF( text[i] ); +if (TempString == NULL) +{ +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetObjectArrayElement( text_, i, TempString); + +// avoid keeping reference on too many strings +curEnv->DeleteLocalRef(TempString); +} +jboolean autoSize_ = (static_cast<bool>(autoSize) ? JNI_TRUE : JNI_FALSE); + +jdoubleArray userSize_ = curEnv->NewDoubleArray( userSizeSize ) ; + +if (userSize_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( userSize_, 0, userSizeSize, (jdouble*)(userSize) ) ; + + +jboolean isForeground_ = (static_cast<bool>(isForeground) ? JNI_TRUE : JNI_FALSE); + +jboolean isBackground_ = (static_cast<bool>(isBackground) ? JNI_TRUE : JNI_FALSE); + +jboolean boxed_ = (static_cast<bool>(boxed) ? JNI_TRUE : JNI_FALSE); + +jboolean line_ = (static_cast<bool>(line) ? JNI_TRUE : JNI_FALSE); + +jboolean filled_ = (static_cast<bool>(filled) ? JNI_TRUE : JNI_FALSE); + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateTextjintintjobjectArray_java_lang_Stringjava_lang_StringjintintjintintjdoubledoublejdoubledoublejbooleanbooleanjdoubleArray_doubledoublejintintjintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanjintintID ,parent, text_, rows, cols, x, y, autoSize_, userSize_, centerPos, foreground, isForeground_, background, isBackground_, boxed_, line_, filled_, align)); + curEnv->DeleteLocalRef(stringArrayClass); +curEnv->DeleteLocalRef(text_); +curEnv->DeleteLocalRef(userSize_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createArc (JavaVM * jvm_, int parent, double x, double y, double h, double w, double start, double end, int foreground, bool isForeground, int background, bool isBackground, bool filled, bool line){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateArcjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "createArc", "(IDDDDDDIZIZZZ)I" ) ; +if (jintcreateArcjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createArc"); +} + +jboolean isForeground_ = (static_cast<bool>(isForeground) ? JNI_TRUE : JNI_FALSE); + +jboolean isBackground_ = (static_cast<bool>(isBackground) ? JNI_TRUE : JNI_FALSE); + +jboolean filled_ = (static_cast<bool>(filled) ? JNI_TRUE : JNI_FALSE); + +jboolean line_ = (static_cast<bool>(line) ? JNI_TRUE : JNI_FALSE); + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateArcjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanID ,parent, x, y, h, w, start, end, foreground, isForeground_, background, isBackground_, filled_, line_)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createAxis (JavaVM * jvm_, int parent, int dir, int tics, double const* vx, int vxSize, double const* vy, int vySize, int subint, char const* format, int fontSize, int textColor, int ticsColor, bool seg){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateAxisjintintjintintjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejintintjstringjava_lang_StringjintintjintintjintintjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "createAxis", "(III[D[DILjava/lang/String;IIIZ)I" ) ; +if (jintcreateAxisjintintjintintjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejintintjstringjava_lang_StringjintintjintintjintintjbooleanbooleanID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createAxis"); +} + +jdoubleArray vx_ = curEnv->NewDoubleArray( vxSize ) ; + +if (vx_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( vx_, 0, vxSize, (jdouble*)(vx) ) ; + + +jdoubleArray vy_ = curEnv->NewDoubleArray( vySize ) ; + +if (vy_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( vy_, 0, vySize, (jdouble*)(vy) ) ; + + +jstring format_ = curEnv->NewStringUTF( format ); +if (format != NULL && format_ == NULL) +{ +throw GiwsException::JniBadAllocException(curEnv); +} + + +jboolean seg_ = (static_cast<bool>(seg) ? JNI_TRUE : JNI_FALSE); + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateAxisjintintjintintjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejintintjstringjava_lang_StringjintintjintintjintintjbooleanbooleanID ,parent, dir, tics, vx_, vy_, subint, format_, fontSize, textColor, ticsColor, seg_)); + curEnv->DeleteLocalRef(vx_); +curEnv->DeleteLocalRef(vy_); +curEnv->DeleteLocalRef(format_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createCompound (JavaVM * jvm_, int parent, int const* children, int childrenSize){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateCompoundjintintjintArray_intintID = curEnv->GetStaticMethodID(cls, "createCompound", "(I[I)I" ) ; +if (jintcreateCompoundjintintjintArray_intintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createCompound"); +} + +jintArray children_ = curEnv->NewIntArray( childrenSize ) ; + +if (children_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetIntArrayRegion( children_, 0, childrenSize, (jint*)(children) ) ; + + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateCompoundjintintjintArray_intintID ,parent, children_)); + curEnv->DeleteLocalRef(children_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createCompoundSeq (JavaVM * jvm_, int parent, int childrenCount){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateCompoundSeqjintintjintintID = curEnv->GetStaticMethodID(cls, "createCompoundSeq", "(II)I" ) ; +if (jintcreateCompoundSeqjintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createCompoundSeq"); +} + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateCompoundSeqjintintjintintID ,parent, childrenCount)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createFec (JavaVM * jvm_, int parent, double const* zminmax, int zminmaxSize, int const* colminmax, int colminmaxSize, int const* colout, int coloutSize, bool with_mesh){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateFecjintintjdoubleArray_doubledoublejintArray_intintjintArray_intintjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "createFec", "(I[D[I[IZ)I" ) ; +if (jintcreateFecjintintjdoubleArray_doubledoublejintArray_intintjintArray_intintjbooleanbooleanID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createFec"); +} + +jdoubleArray zminmax_ = curEnv->NewDoubleArray( zminmaxSize ) ; + +if (zminmax_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( zminmax_, 0, zminmaxSize, (jdouble*)(zminmax) ) ; + + +jintArray colminmax_ = curEnv->NewIntArray( colminmaxSize ) ; + +if (colminmax_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetIntArrayRegion( colminmax_, 0, colminmaxSize, (jint*)(colminmax) ) ; + + +jintArray colout_ = curEnv->NewIntArray( coloutSize ) ; + +if (colout_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetIntArrayRegion( colout_, 0, coloutSize, (jint*)(colout) ) ; + + +jboolean with_mesh_ = (static_cast<bool>(with_mesh) ? JNI_TRUE : JNI_FALSE); + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateFecjintintjdoubleArray_doubledoublejintArray_intintjintArray_intintjbooleanbooleanID ,parent, zminmax_, colminmax_, colout_, with_mesh_)); + curEnv->DeleteLocalRef(zminmax_); +curEnv->DeleteLocalRef(colminmax_); +curEnv->DeleteLocalRef(colout_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createGrayplot (JavaVM * jvm_, int parent, int type, double const* pvecx, int pvecxSize, int n1, int n2){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateGrayplotjintintjintintjdoubleArray_doubledoublejintintjintintID = curEnv->GetStaticMethodID(cls, "createGrayplot", "(II[DII)I" ) ; +if (jintcreateGrayplotjintintjintintjdoubleArray_doubledoublejintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createGrayplot"); +} + +jdoubleArray pvecx_ = curEnv->NewDoubleArray( pvecxSize ) ; + +if (pvecx_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( pvecx_, 0, pvecxSize, (jdouble*)(pvecx) ) ; + + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateGrayplotjintintjintintjdoubleArray_doubledoublejintintjintintID ,parent, type, pvecx_, n1, n2)); + curEnv->DeleteLocalRef(pvecx_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createPolyline (JavaVM * jvm_, int parent, bool closed, int plot, int foreground, bool isForeground, int const* background, int backgroundSize, int mark_style, bool isMarkStyle, int mark_foreground, bool isMarkForeground, int mark_background, bool isMarkBackground, bool isline, bool isfilled, bool ismark, bool isinterp){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreatePolylinejintintjbooleanbooleanjintintjintintjbooleanbooleanjintArray_intintjintintjbooleanbooleanjintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "createPolyline", "(IZIIZ[IIZIZIZZZZZ)I" ) ; +if (jintcreatePolylinejintintjbooleanbooleanjintintjintintjbooleanbooleanjintArray_intintjintintjbooleanbooleanjintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createPolyline"); +} + +jboolean closed_ = (static_cast<bool>(closed) ? JNI_TRUE : JNI_FALSE); + +jboolean isForeground_ = (static_cast<bool>(isForeground) ? JNI_TRUE : JNI_FALSE); + +jintArray background_ = curEnv->NewIntArray( backgroundSize ) ; + +if (background_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetIntArrayRegion( background_, 0, backgroundSize, (jint*)(background) ) ; + + +jboolean isMarkStyle_ = (static_cast<bool>(isMarkStyle) ? JNI_TRUE : JNI_FALSE); + +jboolean isMarkForeground_ = (static_cast<bool>(isMarkForeground) ? JNI_TRUE : JNI_FALSE); + +jboolean isMarkBackground_ = (static_cast<bool>(isMarkBackground) ? JNI_TRUE : JNI_FALSE); + +jboolean isline_ = (static_cast<bool>(isline) ? JNI_TRUE : JNI_FALSE); + +jboolean isfilled_ = (static_cast<bool>(isfilled) ? JNI_TRUE : JNI_FALSE); + +jboolean ismark_ = (static_cast<bool>(ismark) ? JNI_TRUE : JNI_FALSE); + +jboolean isinterp_ = (static_cast<bool>(isinterp) ? JNI_TRUE : JNI_FALSE); + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreatePolylinejintintjbooleanbooleanjintintjintintjbooleanbooleanjintArray_intintjintintjbooleanbooleanjintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanID ,parent, closed_, plot, foreground, isForeground_, background_, mark_style, isMarkStyle_, mark_foreground, isMarkForeground_, mark_background, isMarkBackground_, isline_, isfilled_, ismark_, isinterp_)); + curEnv->DeleteLocalRef(background_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createLegend (JavaVM * jvm_, int parent, char const* const* text, int textSize, int const* handles, int handlesSize){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateLegendjintintjobjectArray_java_lang_Stringjava_lang_StringjintArray_intintID = curEnv->GetStaticMethodID(cls, "createLegend", "(I[Ljava/lang/String;[I)I" ) ; +if (jintcreateLegendjintintjobjectArray_java_lang_Stringjava_lang_StringjintArray_intintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createLegend"); +} +jclass stringArrayClass = curEnv->FindClass("java/lang/String"); + +// create java array of strings. +jobjectArray text_ = curEnv->NewObjectArray( textSize, stringArrayClass, NULL); +if (text_ == NULL) +{ +throw GiwsException::JniBadAllocException(curEnv); +} + +// convert each char * to java strings and fill the java array. +for ( int i = 0; i < textSize; i++) +{ +jstring TempString = curEnv->NewStringUTF( text[i] ); +if (TempString == NULL) +{ +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetObjectArrayElement( text_, i, TempString); + +// avoid keeping reference on too many strings +curEnv->DeleteLocalRef(TempString); +} +jintArray handles_ = curEnv->NewIntArray( handlesSize ) ; + +if (handles_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetIntArrayRegion( handles_, 0, handlesSize, (jint*)(handles) ) ; + + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateLegendjintintjobjectArray_java_lang_Stringjava_lang_StringjintArray_intintID ,parent, text_, handles_)); + curEnv->DeleteLocalRef(stringArrayClass); +curEnv->DeleteLocalRef(text_); +curEnv->DeleteLocalRef(handles_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createSegs (JavaVM * jvm_, int parent, double const* vx, int vxSize, double const* vy, int vySize, double const* vz, int vzSize, bool isVZ, int const* style, int styleSize, double arsize){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateSegsjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejbooleanbooleanjintArray_intintjdoubledoubleID = curEnv->GetStaticMethodID(cls, "createSegs", "(I[D[D[DZ[ID)I" ) ; +if (jintcreateSegsjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejbooleanbooleanjintArray_intintjdoubledoubleID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createSegs"); +} + +jdoubleArray vx_ = curEnv->NewDoubleArray( vxSize ) ; + +if (vx_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( vx_, 0, vxSize, (jdouble*)(vx) ) ; + + +jdoubleArray vy_ = curEnv->NewDoubleArray( vySize ) ; + +if (vy_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( vy_, 0, vySize, (jdouble*)(vy) ) ; + + +jdoubleArray vz_ = curEnv->NewDoubleArray( vzSize ) ; + +if (vz_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( vz_, 0, vzSize, (jdouble*)(vz) ) ; + + +jboolean isVZ_ = (static_cast<bool>(isVZ) ? JNI_TRUE : JNI_FALSE); + +jintArray style_ = curEnv->NewIntArray( styleSize ) ; + +if (style_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetIntArrayRegion( style_, 0, styleSize, (jint*)(style) ) ; + + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateSegsjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejbooleanbooleanjintArray_intintjdoubledoubleID ,parent, vx_, vy_, vz_, isVZ_, style_, arsize)); + curEnv->DeleteLocalRef(vx_); +curEnv->DeleteLocalRef(vy_); +curEnv->DeleteLocalRef(vz_); +curEnv->DeleteLocalRef(style_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createChamp (JavaVM * jvm_, int parent, double const* vx, int vxSize, double const* vy, int vySize, double const* vfx, int vfxSize, double const* vfy, int vfySize, double arsize, bool typeofchamp){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateChampjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubledoublejbooleanbooleanID = curEnv->GetStaticMethodID(cls, "createChamp", "(I[D[D[D[DDZ)I" ) ; +if (jintcreateChampjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubledoublejbooleanbooleanID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createChamp"); +} + +jdoubleArray vx_ = curEnv->NewDoubleArray( vxSize ) ; + +if (vx_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( vx_, 0, vxSize, (jdouble*)(vx) ) ; + + +jdoubleArray vy_ = curEnv->NewDoubleArray( vySize ) ; + +if (vy_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( vy_, 0, vySize, (jdouble*)(vy) ) ; + + +jdoubleArray vfx_ = curEnv->NewDoubleArray( vfxSize ) ; + +if (vfx_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( vfx_, 0, vfxSize, (jdouble*)(vfx) ) ; + + +jdoubleArray vfy_ = curEnv->NewDoubleArray( vfySize ) ; + +if (vfy_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( vfy_, 0, vfySize, (jdouble*)(vfy) ) ; + + +jboolean typeofchamp_ = (static_cast<bool>(typeofchamp) ? JNI_TRUE : JNI_FALSE); + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateChampjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubledoublejbooleanbooleanID ,parent, vx_, vy_, vfx_, vfy_, arsize, typeofchamp_)); + curEnv->DeleteLocalRef(vx_); +curEnv->DeleteLocalRef(vy_); +curEnv->DeleteLocalRef(vfx_); +curEnv->DeleteLocalRef(vfy_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int Builder::createSurface (JavaVM * jvm_, int parent, int typeof3d, int colorFlag, int colorMode){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateSurfacejintintjintintjintintjintintID = curEnv->GetStaticMethodID(cls, "createSurface", "(IIII)I" ) ; +if (jintcreateSurfacejintintjintintjintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createSurface"); +} + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateSurfacejintintjintintjintintjintintID ,parent, typeof3d, colorFlag, colorMode)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +void Builder::initSubWinTo3d (JavaVM * jvm_, int parent, char const* legend, bool isLegend, int const* flag, int flagSize, double alpha, double theta, double const* ebox, int eboxSize, double const* x, int xSize, double const* y, int ySize, double const* z, int zSize){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID voidinitSubWinTo3djintintjstringjava_lang_StringjbooleanbooleanjintArray_intintjdoubledoublejdoubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoubleID = curEnv->GetStaticMethodID(cls, "initSubWinTo3d", "(ILjava/lang/String;Z[IDD[D[D[D[D)V" ) ; +if (voidinitSubWinTo3djintintjstringjava_lang_StringjbooleanbooleanjintArray_intintjdoubledoublejdoubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoubleID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "initSubWinTo3d"); +} + +jstring legend_ = curEnv->NewStringUTF( legend ); +if (legend != NULL && legend_ == NULL) +{ +throw GiwsException::JniBadAllocException(curEnv); +} + + +jboolean isLegend_ = (static_cast<bool>(isLegend) ? JNI_TRUE : JNI_FALSE); + +jintArray flag_ = curEnv->NewIntArray( flagSize ) ; + +if (flag_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetIntArrayRegion( flag_, 0, flagSize, (jint*)(flag) ) ; + + +jdoubleArray ebox_ = curEnv->NewDoubleArray( eboxSize ) ; + +if (ebox_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( ebox_, 0, eboxSize, (jdouble*)(ebox) ) ; + + +jdoubleArray x_ = curEnv->NewDoubleArray( xSize ) ; + +if (x_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( x_, 0, xSize, (jdouble*)(x) ) ; + + +jdoubleArray y_ = curEnv->NewDoubleArray( ySize ) ; + +if (y_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( y_, 0, ySize, (jdouble*)(y) ) ; + + +jdoubleArray z_ = curEnv->NewDoubleArray( zSize ) ; + +if (z_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( z_, 0, zSize, (jdouble*)(z) ) ; + + + curEnv->CallStaticVoidMethod(cls, voidinitSubWinTo3djintintjstringjava_lang_StringjbooleanbooleanjintArray_intintjdoubledoublejdoubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoubleID ,parent, legend_, isLegend_, flag_, alpha, theta, ebox_, x_, y_, z_); + curEnv->DeleteLocalRef(legend_); +curEnv->DeleteLocalRef(flag_); +curEnv->DeleteLocalRef(ebox_); +curEnv->DeleteLocalRef(x_); +curEnv->DeleteLocalRef(y_); +curEnv->DeleteLocalRef(z_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +} + +int Builder::createLight (JavaVM * jvm_, int parent, int type, bool visible, double const* pos, int posSize, double const* dir, int dirSize, double const* ambient, int ambientSize, double const* diffuse, int diffuseSize, double const* specular, int specularSize){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcreateLightjintintjintintjbooleanbooleanjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoubleID = curEnv->GetStaticMethodID(cls, "createLight", "(IIZ[D[D[D[D[D)I" ) ; +if (jintcreateLightjintintjintintjbooleanbooleanjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoubleID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "createLight"); +} + +jboolean visible_ = (static_cast<bool>(visible) ? JNI_TRUE : JNI_FALSE); + +jdoubleArray pos_ = curEnv->NewDoubleArray( posSize ) ; + +if (pos_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( pos_, 0, posSize, (jdouble*)(pos) ) ; + + +jdoubleArray dir_ = curEnv->NewDoubleArray( dirSize ) ; + +if (dir_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( dir_, 0, dirSize, (jdouble*)(dir) ) ; + + +jdoubleArray ambient_ = curEnv->NewDoubleArray( ambientSize ) ; + +if (ambient_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( ambient_, 0, ambientSize, (jdouble*)(ambient) ) ; + + +jdoubleArray diffuse_ = curEnv->NewDoubleArray( diffuseSize ) ; + +if (diffuse_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( diffuse_, 0, diffuseSize, (jdouble*)(diffuse) ) ; + + +jdoubleArray specular_ = curEnv->NewDoubleArray( specularSize ) ; + +if (specular_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( specular_, 0, specularSize, (jdouble*)(specular) ) ; + + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateLightjintintjintintjbooleanbooleanjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoubleID ,parent, type, visible_, pos_, dir_, ambient_, diffuse_, specular_)); + curEnv->DeleteLocalRef(pos_); +curEnv->DeleteLocalRef(dir_); +curEnv->DeleteLocalRef(ambient_); +curEnv->DeleteLocalRef(diffuse_); +curEnv->DeleteLocalRef(specular_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +} diff --git a/modules/graphic_objects/src/jni/Builder.hxx b/modules/graphic_objects/src/jni/Builder.hxx new file mode 100755 index 000000000..888d6b003 --- /dev/null +++ b/modules/graphic_objects/src/jni/Builder.hxx @@ -0,0 +1,251 @@ +/* Generated by GIWS (version 2.0.2) with command: +giws --disable-return-size-array --output-dir src\jni --throws-exception-on-error --description-file src\jni\builder.giws.xml +*/ +/* + +This is generated code. + +This software is a computer program whose purpose is to hide the complexity +of accessing Java objects/methods from C++ code. + +This software is governed by the CeCILL-B license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-B +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-B license and that you accept its terms. +*/ + + +#ifndef __ORG_SCILAB_MODULES_GRAPHIC_OBJECTS_BUILDER_BUILDER__ +#define __ORG_SCILAB_MODULES_GRAPHIC_OBJECTS_BUILDER_BUILDER__ +#include <iostream> +#include <string> +#include <string.h> +#include <stdlib.h> +#include <jni.h> + +#include "GiwsException.hxx" + + #if defined(_MSC_VER) /* Defined anyway with Visual */ + #include <Windows.h> + #else + typedef signed char byte; + #endif + + +#ifndef GIWSEXPORT +# if defined(_MSC_VER) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define GIWSEXPORT +# else +# define GIWSEXPORT __declspec(dllexport) +# endif +# else +# if __GNUC__ >= 4 +# define GIWSEXPORT __attribute__ ((visibility ("default"))) +# else +# define GIWSEXPORT +# endif +# endif +#endif + +namespace org_scilab_modules_graphic_objects_builder { +class GIWSEXPORT Builder { + +private: +JavaVM * jvm; + +protected: +jmethodID jintcreateRectjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjintintjintintjintintID; // cache method id +jmethodID jintcloneGraphicContextjintintjintintID; // cache method id +jmethodID jintcloneFontContextjintintjintintID; // cache method id +jmethodID jintcreateHiddenLabeljintintID; // cache method id +jmethodID jbooleanisAxesRedrawingjintintID; // cache method id +jmethodID jintcreateLabeljintintjintintID; // cache method id +jmethodID jintcreateNewFigureWithAxesID; // cache method id +jmethodID jintcreateFigurejbooleanbooleanjintintjintintjbooleanbooleanjbooleanbooleanID; // cache method id +jmethodID voidcloneMenusjintintjintintID; // cache method id +jmethodID jintcloneAxesModeljintintID; // cache method id +jmethodID jintcreateSubWinjintintID; // cache method id +jmethodID jintcreateTextjintintjobjectArray_java_lang_Stringjava_lang_StringjintintjintintjdoubledoublejdoubledoublejbooleanbooleanjdoubleArray_doubledoublejintintjintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanjintintID; // cache method id +jclass stringArrayClass; +jmethodID jintcreateArcjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanID; // cache method id +jmethodID jintcreateAxisjintintjintintjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejintintjstringjava_lang_StringjintintjintintjintintjbooleanbooleanID; // cache method id +jmethodID jintcreateCompoundjintintjintArray_intintID; // cache method id +jmethodID jintcreateCompoundSeqjintintjintintID; // cache method id +jmethodID jintcreateFecjintintjdoubleArray_doubledoublejintArray_intintjintArray_intintjbooleanbooleanID; // cache method id +jmethodID jintcreateGrayplotjintintjintintjdoubleArray_doubledoublejintintjintintID; // cache method id +jmethodID jintcreatePolylinejintintjbooleanbooleanjintintjintintjbooleanbooleanjintArray_intintjintintjbooleanbooleanjintintjbooleanbooleanjintintjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanjbooleanbooleanID; // cache method id +jmethodID jintcreateLegendjintintjobjectArray_java_lang_Stringjava_lang_StringjintArray_intintID; // cache method id +jmethodID jintcreateSegsjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejbooleanbooleanjintArray_intintjdoubledoubleID; // cache method id +jmethodID jintcreateChampjintintjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubledoublejbooleanbooleanID; // cache method id +jmethodID jintcreateSurfacejintintjintintjintintjintintID; // cache method id +jmethodID voidinitSubWinTo3djintintjstringjava_lang_StringjbooleanbooleanjintArray_intintjdoubledoublejdoubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoubleID; // cache method id +jmethodID jintcreateLightjintintjintintjbooleanbooleanjdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoublejdoubleArray_doubledoubleID; // cache method id + + + +jobject instance; +jclass instanceClass; // cache class + + +// Caching (if any) + + +/** +* Get the environment matching to the current thread. +*/ +virtual JNIEnv * getCurrentEnv(); + +public: +// Constructor +/** +* Create a wrapping of the object from a JNIEnv. +* It will call the default constructor +* @param JEnv_ the Java Env +*/ +Builder(JavaVM * jvm_); + +/** +* Create a wrapping of an already existing object from a JNIEnv. +* The object must have already been instantiated +* @param JEnv_ the Java Env +* @param JObj the object +*/ +Builder(JavaVM * jvm_, jobject JObj); + + +/** +* This is a fake constructor to avoid the constructor +* chaining when dealing with extended giws classes +*/ +#ifdef FAKEGIWSDATATYPE +Builder(fakeGiwsDataType::fakeGiwsDataType /* unused */) {} +#endif + +// Destructor +~Builder(); + +// Generic method +// Synchronization methods +/** +* Enter monitor associated with the object. +* Equivalent of creating a "synchronized(obj)" scope in Java. +*/ +void synchronize(); + +/** +* Exit monitor associated with the object. +* Equivalent of ending a "synchronized(obj)" scope. +*/ +void endSynchronize(); + +// Methods +static int createRect(JavaVM * jvm_, int pparentsubwinUID, double x, double y, double height, double width, int foreground, int background, int isfilled, int isline); + +static int cloneGraphicContext(JavaVM * jvm_, int sourceIdentifier, int destIdentifier); + +static int cloneFontContext(JavaVM * jvm_, int sourceIdentifier, int destIdentifier); + +static int createHiddenLabel(JavaVM * jvm_, int parent); + +static bool isAxesRedrawing(JavaVM * jvm_, int subWin); + +static int createLabel(JavaVM * jvm_, int parent, int type); + +static int createNewFigureWithAxes(JavaVM * jvm_); + +static int createFigure(JavaVM * jvm_, bool dockable, int menubarType, int toolbarType, bool defaultAxes, bool visible); + +static void cloneMenus(JavaVM * jvm_, int model, int newParent); + +static int cloneAxesModel(JavaVM * jvm_, int parent); + +static int createSubWin(JavaVM * jvm_, int parent); + +static int createText(JavaVM * jvm_, int parent, char const* const* text, int textSize, int rows, int cols, double x, double y, bool autoSize, double const* userSize, int userSizeSize, int centerPos, int foreground, bool isForeground, int background, bool isBackground, bool boxed, bool line, bool filled, int align); + +static int createArc(JavaVM * jvm_, int parent, double x, double y, double h, double w, double start, double end, int foreground, bool isForeground, int background, bool isBackground, bool filled, bool line); + +static int createAxis(JavaVM * jvm_, int parent, int dir, int tics, double const* vx, int vxSize, double const* vy, int vySize, int subint, char const* format, int fontSize, int textColor, int ticsColor, bool seg); + +static int createCompound(JavaVM * jvm_, int parent, int const* children, int childrenSize); + +static int createCompoundSeq(JavaVM * jvm_, int parent, int childrenCount); + +static int createFec(JavaVM * jvm_, int parent, double const* zminmax, int zminmaxSize, int const* colminmax, int colminmaxSize, int const* colout, int coloutSize, bool with_mesh); + +static int createGrayplot(JavaVM * jvm_, int parent, int type, double const* pvecx, int pvecxSize, int n1, int n2); + +static int createPolyline(JavaVM * jvm_, int parent, bool closed, int plot, int foreground, bool isForeground, int const* background, int backgroundSize, int mark_style, bool isMarkStyle, int mark_foreground, bool isMarkForeground, int mark_background, bool isMarkBackground, bool isline, bool isfilled, bool ismark, bool isinterp); + +static int createLegend(JavaVM * jvm_, int parent, char const* const* text, int textSize, int const* handles, int handlesSize); + +static int createSegs(JavaVM * jvm_, int parent, double const* vx, int vxSize, double const* vy, int vySize, double const* vz, int vzSize, bool isVZ, int const* style, int styleSize, double arsize); + +static int createChamp(JavaVM * jvm_, int parent, double const* vx, int vxSize, double const* vy, int vySize, double const* vfx, int vfxSize, double const* vfy, int vfySize, double arsize, bool typeofchamp); + +static int createSurface(JavaVM * jvm_, int parent, int typeof3d, int colorFlag, int colorMode); + +static void initSubWinTo3d(JavaVM * jvm_, int parent, char const* legend, bool isLegend, int const* flag, int flagSize, double alpha, double theta, double const* ebox, int eboxSize, double const* x, int xSize, double const* y, int ySize, double const* z, int zSize); + +static int createLight(JavaVM * jvm_, int parent, int type, bool visible, double const* pos, int posSize, double const* dir, int dirSize, double const* ambient, int ambientSize, double const* diffuse, int diffuseSize, double const* specular, int specularSize); + + + /** + * Get class name to use for static methods + * @return class name to use for static methods + */ + + static const std::string className() + { + return "org/scilab/modules/graphic_objects/builder/Builder"; + } + + + /** + * Get class to use for static methods + * @return class to use for static methods + */ + + static jclass initClass(JNIEnv * curEnv) + { + static jclass cls = 0; + + if (cls == 0) + { + jclass _cls = curEnv->FindClass(className().c_str()); + if (_cls) + { + cls = static_cast<jclass>(curEnv->NewGlobalRef(_cls)); + } + } + + return cls; + } + +}; + + +} +#endif diff --git a/modules/graphic_objects/src/jni/CallGraphicController.cpp b/modules/graphic_objects/src/jni/CallGraphicController.cpp new file mode 100755 index 000000000..29389997b --- /dev/null +++ b/modules/graphic_objects/src/jni/CallGraphicController.cpp @@ -0,0 +1,813 @@ +#include "CallGraphicController.hxx" +/* Generated by GIWS (version 2.0.2) with command: +giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/graphic_objects.giws.xml +*/ +/* + +This is generated code. + +This software is a computer program whose purpose is to hide the complexity +of accessing Java objects/methods from C++ code. + +This software is governed by the CeCILL-B license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-B +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-B license and that you accept its terms. +*/ + +namespace org_scilab_modules_graphic_objects { + + // Static declarations (if any) + +// Returns the current env + +JNIEnv * CallGraphicController::getCurrentEnv() { +JNIEnv * curEnv = NULL; +jint res=this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +if (res != JNI_OK) { +throw GiwsException::JniException(getCurrentEnv()); +} +return curEnv; +} +// Destructor + +CallGraphicController::~CallGraphicController() { +JNIEnv * curEnv = NULL; +this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +curEnv->DeleteGlobalRef(this->instance); +curEnv->DeleteGlobalRef(this->instanceClass); +curEnv->DeleteGlobalRef(this->stringArrayClass);} +// Constructors +CallGraphicController::CallGraphicController(JavaVM * jvm_) { +jmethodID constructObject = NULL ; +jobject localInstance ; +jclass localClass ; + +const std::string construct="<init>"; +const std::string param="()V"; +jvm=jvm_; + +JNIEnv * curEnv = getCurrentEnv(); + +localClass = curEnv->FindClass( this->className().c_str() ) ; +if (localClass == NULL) { + throw GiwsException::JniClassNotFoundException(curEnv, this->className()); +} + +this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass)); + +/* localClass is not needed anymore */ +curEnv->DeleteLocalRef(localClass); + +if (this->instanceClass == NULL) { +throw GiwsException::JniObjectCreationException(curEnv, this->className()); +} + + +constructObject = curEnv->GetMethodID( this->instanceClass, construct.c_str() , param.c_str() ) ; +if(constructObject == NULL){ +throw GiwsException::JniObjectCreationException(curEnv, this->className()); +} + +localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ; +if(localInstance == NULL){ +throw GiwsException::JniObjectCreationException(curEnv, this->className()); +} + +this->instance = curEnv->NewGlobalRef(localInstance) ; +if(this->instance == NULL){ +throw GiwsException::JniObjectCreationException(curEnv, this->className()); +} +/* localInstance not needed anymore */ +curEnv->DeleteLocalRef(localInstance); + + /* Methods ID set to NULL */ +voiddeleteGraphicObjectjintintID=NULL; +jintcloneGraphicObjectjintintID=NULL; +jintaskGraphicObjectjintintID=NULL; +voidsetGraphicObjectRelationshipjintintjintintID=NULL; +voidremoveRelationShipAndDeletejintintID=NULL; +jstringgetGraphicObjectPropertyAsStringjintintjintintID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjstringjava_lang_StringID=NULL; +jobjectArray_getGraphicObjectPropertyAsStringVectorjintintjintintID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjdoubledoubleID=NULL; +jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjintintjintintID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjdoubleArray_doubledoubleID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjintintID=NULL; +jintArray_getGraphicObjectPropertyAsIntegerVectorjintintjintintID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjintArray_intintID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjbooleanbooleanID=NULL; +jintArray_getGraphicObjectPropertyAsBooleanVectorjintintjintintID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjbooleanArray_booleanbooleanID=NULL; +voidregisterScilabViewID=NULL; +voidunregisterScilabViewID=NULL; +jintgetConsoleIdentifierID=NULL; +voidbuildFigureMenuBarjintintID=NULL; + + +} + +CallGraphicController::CallGraphicController(JavaVM * jvm_, jobject JObj) { + jvm=jvm_; + + JNIEnv * curEnv = getCurrentEnv(); + +jclass localClass = curEnv->GetObjectClass(JObj); + this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass)); + curEnv->DeleteLocalRef(localClass); + + if (this->instanceClass == NULL) { +throw GiwsException::JniObjectCreationException(curEnv, this->className()); + } + + this->instance = curEnv->NewGlobalRef(JObj) ; + if(this->instance == NULL){ +throw GiwsException::JniObjectCreationException(curEnv, this->className()); + } + /* Methods ID set to NULL */ + voiddeleteGraphicObjectjintintID=NULL; +jintcloneGraphicObjectjintintID=NULL; +jintaskGraphicObjectjintintID=NULL; +voidsetGraphicObjectRelationshipjintintjintintID=NULL; +voidremoveRelationShipAndDeletejintintID=NULL; +jstringgetGraphicObjectPropertyAsStringjintintjintintID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjstringjava_lang_StringID=NULL; +jobjectArray_getGraphicObjectPropertyAsStringVectorjintintjintintID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjobjectArray_java_lang_Stringjava_lang_StringID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjdoubledoubleID=NULL; +jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjintintjintintID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjdoubleArray_doubledoubleID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjintintID=NULL; +jintArray_getGraphicObjectPropertyAsIntegerVectorjintintjintintID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjintArray_intintID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjbooleanbooleanID=NULL; +jintArray_getGraphicObjectPropertyAsBooleanVectorjintintjintintID=NULL; +jbooleansetGraphicObjectPropertyjintintjintintjbooleanArray_booleanbooleanID=NULL; +voidregisterScilabViewID=NULL; +voidunregisterScilabViewID=NULL; +jintgetConsoleIdentifierID=NULL; +voidbuildFigureMenuBarjintintID=NULL; + + +} + +// Generic methods + +void CallGraphicController::synchronize() { +if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK) { +throw GiwsException::JniMonitorException(getCurrentEnv(), "CallGraphicController"); +} +} + +void CallGraphicController::endSynchronize() { +if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK) { +throw GiwsException::JniMonitorException(getCurrentEnv(), "CallGraphicController"); +} +} +// Method(s) + +void CallGraphicController::deleteGraphicObject (JavaVM * jvm_, int id){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID voiddeleteGraphicObjectjintintID = curEnv->GetStaticMethodID(cls, "deleteGraphicObject", "(I)V" ) ; +if (voiddeleteGraphicObjectjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "deleteGraphicObject"); +} + + curEnv->CallStaticVoidMethod(cls, voiddeleteGraphicObjectjintintID ,id); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +} + +int CallGraphicController::cloneGraphicObject (JavaVM * jvm_, int id){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintcloneGraphicObjectjintintID = curEnv->GetStaticMethodID(cls, "cloneGraphicObject", "(I)I" ) ; +if (jintcloneGraphicObjectjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "cloneGraphicObject"); +} + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcloneGraphicObjectjintintID ,id)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +int CallGraphicController::askGraphicObject (JavaVM * jvm_, int typeName){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintaskGraphicObjectjintintID = curEnv->GetStaticMethodID(cls, "askGraphicObject", "(I)I" ) ; +if (jintaskGraphicObjectjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "askGraphicObject"); +} + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintaskGraphicObjectjintintID ,typeName)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +void CallGraphicController::setGraphicObjectRelationship (JavaVM * jvm_, int parentId, int childId){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID voidsetGraphicObjectRelationshipjintintjintintID = curEnv->GetStaticMethodID(cls, "setGraphicObjectRelationship", "(II)V" ) ; +if (voidsetGraphicObjectRelationshipjintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectRelationship"); +} + + curEnv->CallStaticVoidMethod(cls, voidsetGraphicObjectRelationshipjintintjintintID ,parentId, childId); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +} + +void CallGraphicController::removeRelationShipAndDelete (JavaVM * jvm_, int id){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID voidremoveRelationShipAndDeletejintintID = curEnv->GetStaticMethodID(cls, "removeRelationShipAndDelete", "(I)V" ) ; +if (voidremoveRelationShipAndDeletejintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "removeRelationShipAndDelete"); +} + + curEnv->CallStaticVoidMethod(cls, voidremoveRelationShipAndDeletejintintID ,id); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +} + +char* CallGraphicController::getGraphicObjectPropertyAsString (JavaVM * jvm_, int id, int propertyName){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jstringgetGraphicObjectPropertyAsStringjintintjintintID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsString", "(II)Ljava/lang/String;" ) ; +if (jstringgetGraphicObjectPropertyAsStringjintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsString"); +} + + jstring res = static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringgetGraphicObjectPropertyAsStringjintintjintintID ,id, propertyName)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +}if (res != NULL) { + +const char *tempString = curEnv->GetStringUTFChars(res, 0); +char * myStringBuffer = new char[strlen(tempString) + 1]; +strcpy(myStringBuffer, tempString); +curEnv->ReleaseStringUTFChars(res, tempString); +curEnv->DeleteLocalRef(res); +if (curEnv->ExceptionCheck()) { +delete[] myStringBuffer; + throw GiwsException::JniCallMethodException(curEnv); +} +return myStringBuffer; + } else { +curEnv->DeleteLocalRef(res); +return NULL; +} +} + +bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, int id, int propertyName, char const* value){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jbooleansetGraphicObjectPropertyjintintjintintjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(IILjava/lang/String;)Z" ) ; +if (jbooleansetGraphicObjectPropertyjintintjintintjstringjava_lang_StringID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty"); +} + +jstring value_ = curEnv->NewStringUTF( value ); +if (value != NULL && value_ == NULL) +{ +throw GiwsException::JniBadAllocException(curEnv); +} + + + jboolean res = static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjintintjintintjstringjava_lang_StringID ,id, propertyName, value_)); + curEnv->DeleteLocalRef(value_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return (res == JNI_TRUE); + +} + +char** CallGraphicController::getGraphicObjectPropertyAsStringVector (JavaVM * jvm_, int id, int propertyName){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jobjectArray_getGraphicObjectPropertyAsStringVectorjintintjintintID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsStringVector", "(II)[Ljava/lang/String;" ) ; +if (jobjectArray_getGraphicObjectPropertyAsStringVectorjintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsStringVector"); +} + + jobjectArray res = static_cast<jobjectArray>( curEnv->CallStaticObjectMethod(cls, jobjectArray_getGraphicObjectPropertyAsStringVectorjintintjintintID ,id, propertyName)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +}if (res != NULL) { int lenRow; + lenRow = curEnv->GetArrayLength(res); + +char **arrayOfString; +arrayOfString = new char *[lenRow]; +for (jsize i = 0; i < lenRow; i++){ +jstring resString = reinterpret_cast<jstring>(curEnv->GetObjectArrayElement(res, i)); +const char *tempString = curEnv->GetStringUTFChars(resString, 0); +arrayOfString[i] = new char[strlen(tempString) + 1]; + +strcpy(arrayOfString[i], tempString); +curEnv->ReleaseStringUTFChars(resString, tempString); +curEnv->DeleteLocalRef(resString); +} +if (curEnv->ExceptionCheck()) { +delete[] arrayOfString; + throw GiwsException::JniCallMethodException(curEnv); +} +curEnv->DeleteLocalRef(res); +return arrayOfString; + } else { +curEnv->DeleteLocalRef(res); +return NULL; +} +} + +bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, int id, int propertyName, char const* const* value, int valueSize){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jbooleansetGraphicObjectPropertyjintintjintintjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(II[Ljava/lang/String;)Z" ) ; +if (jbooleansetGraphicObjectPropertyjintintjintintjobjectArray_java_lang_Stringjava_lang_StringID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty"); +} +jclass stringArrayClass = curEnv->FindClass("java/lang/String"); + +// create java array of strings. +jobjectArray value_ = curEnv->NewObjectArray( valueSize, stringArrayClass, NULL); +if (value_ == NULL) +{ +throw GiwsException::JniBadAllocException(curEnv); +} + +// convert each char * to java strings and fill the java array. +for ( int i = 0; i < valueSize; i++) +{ +jstring TempString = curEnv->NewStringUTF( value[i] ); +if (TempString == NULL) +{ +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetObjectArrayElement( value_, i, TempString); + +// avoid keeping reference on too many strings +curEnv->DeleteLocalRef(TempString); +} + jboolean res = static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjintintjintintjobjectArray_java_lang_Stringjava_lang_StringID ,id, propertyName, value_)); + curEnv->DeleteLocalRef(stringArrayClass); +curEnv->DeleteLocalRef(value_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return (res == JNI_TRUE); + +} + +bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, int id, int propertyName, double value){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jbooleansetGraphicObjectPropertyjintintjintintjdoubledoubleID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(IID)Z" ) ; +if (jbooleansetGraphicObjectPropertyjintintjintintjdoubledoubleID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty"); +} + + jboolean res = static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjintintjintintjdoubledoubleID ,id, propertyName, value)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return (res == JNI_TRUE); + +} + +double* CallGraphicController::getGraphicObjectPropertyAsDoubleVector (JavaVM * jvm_, int id, int propertyName){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjintintjintintID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsDoubleVector", "(II)[D" ) ; +if (jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsDoubleVector"); +} + + jdoubleArray res = static_cast<jdoubleArray>( curEnv->CallStaticObjectMethod(cls, jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjintintjintintID ,id, propertyName)); + if (res == NULL) { return NULL; } + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +}int lenRow; + lenRow = curEnv->GetArrayLength(res); +jboolean isCopy = JNI_FALSE; + +/* GetPrimitiveArrayCritical is faster than getXXXArrayElements */ +jdouble *resultsArray = static_cast<jdouble *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy)); +double* myArray= new double[ lenRow]; + +for (jsize i = 0; i < lenRow; i++){ +myArray[i]=resultsArray[i]; +} +curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT); + + curEnv->DeleteLocalRef(res); +if (curEnv->ExceptionCheck()) { +delete[] myArray; + throw GiwsException::JniCallMethodException(curEnv); +} +return myArray; + +} + +bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, int id, int propertyName, double const* value, int valueSize){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jbooleansetGraphicObjectPropertyjintintjintintjdoubleArray_doubledoubleID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(II[D)Z" ) ; +if (jbooleansetGraphicObjectPropertyjintintjintintjdoubleArray_doubledoubleID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty"); +} + +jdoubleArray value_ = curEnv->NewDoubleArray( valueSize ) ; + +if (value_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetDoubleArrayRegion( value_, 0, valueSize, (jdouble*)(value) ) ; + + + jboolean res = static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjintintjintintjdoubleArray_doubledoubleID ,id, propertyName, value_)); + curEnv->DeleteLocalRef(value_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return (res == JNI_TRUE); + +} + +bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, int id, int propertyName, int value){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jbooleansetGraphicObjectPropertyjintintjintintjintintID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(III)Z" ) ; +if (jbooleansetGraphicObjectPropertyjintintjintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty"); +} + + jboolean res = static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjintintjintintjintintID ,id, propertyName, value)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return (res == JNI_TRUE); + +} + +int* CallGraphicController::getGraphicObjectPropertyAsIntegerVector (JavaVM * jvm_, int id, int propertyName){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintArray_getGraphicObjectPropertyAsIntegerVectorjintintjintintID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsIntegerVector", "(II)[I" ) ; +if (jintArray_getGraphicObjectPropertyAsIntegerVectorjintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsIntegerVector"); +} + + jintArray res = static_cast<jintArray>( curEnv->CallStaticObjectMethod(cls, jintArray_getGraphicObjectPropertyAsIntegerVectorjintintjintintID ,id, propertyName)); + if (res == NULL) { return NULL; } + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +}int lenRow; + lenRow = curEnv->GetArrayLength(res); +jboolean isCopy = JNI_FALSE; + +/* GetPrimitiveArrayCritical is faster than getXXXArrayElements */ +jint *resultsArray = static_cast<jint *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy)); +int* myArray= new int[ lenRow]; + +for (jsize i = 0; i < lenRow; i++){ +myArray[i]=resultsArray[i]; +} +curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT); + + curEnv->DeleteLocalRef(res); +if (curEnv->ExceptionCheck()) { +delete[] myArray; + throw GiwsException::JniCallMethodException(curEnv); +} +return myArray; + +} + +bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, int id, int propertyName, int const* value, int valueSize){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jbooleansetGraphicObjectPropertyjintintjintintjintArray_intintID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(II[I)Z" ) ; +if (jbooleansetGraphicObjectPropertyjintintjintintjintArray_intintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty"); +} + +jintArray value_ = curEnv->NewIntArray( valueSize ) ; + +if (value_ == NULL) +{ +// check that allocation succeed +throw GiwsException::JniBadAllocException(curEnv); +} + +curEnv->SetIntArrayRegion( value_, 0, valueSize, (jint*)(value) ) ; + + + jboolean res = static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjintintjintintjintArray_intintID ,id, propertyName, value_)); + curEnv->DeleteLocalRef(value_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return (res == JNI_TRUE); + +} + +bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, int id, int propertyName, bool value){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jbooleansetGraphicObjectPropertyjintintjintintjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(IIZ)Z" ) ; +if (jbooleansetGraphicObjectPropertyjintintjintintjbooleanbooleanID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty"); +} + +jboolean value_ = (static_cast<bool>(value) ? JNI_TRUE : JNI_FALSE); + + jboolean res = static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjintintjintintjbooleanbooleanID ,id, propertyName, value_)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return (res == JNI_TRUE); + +} + +int* CallGraphicController::getGraphicObjectPropertyAsBooleanVector (JavaVM * jvm_, int id, int propertyName){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintArray_getGraphicObjectPropertyAsBooleanVectorjintintjintintID = curEnv->GetStaticMethodID(cls, "getGraphicObjectPropertyAsBooleanVector", "(II)[I" ) ; +if (jintArray_getGraphicObjectPropertyAsBooleanVectorjintintjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "getGraphicObjectPropertyAsBooleanVector"); +} + + jintArray res = static_cast<jintArray>( curEnv->CallStaticObjectMethod(cls, jintArray_getGraphicObjectPropertyAsBooleanVectorjintintjintintID ,id, propertyName)); + if (res == NULL) { return NULL; } + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +}int lenRow; + lenRow = curEnv->GetArrayLength(res); +jboolean isCopy = JNI_FALSE; + +/* GetPrimitiveArrayCritical is faster than getXXXArrayElements */ +jint *resultsArray = static_cast<jint *>(curEnv->GetPrimitiveArrayCritical(res, &isCopy)); +int* myArray= new int[ lenRow]; + +for (jsize i = 0; i < lenRow; i++){ +myArray[i]=resultsArray[i]; +} +curEnv->ReleasePrimitiveArrayCritical(res, resultsArray, JNI_ABORT); + + curEnv->DeleteLocalRef(res); +if (curEnv->ExceptionCheck()) { +delete[] myArray; + throw GiwsException::JniCallMethodException(curEnv); +} +return myArray; + +} + +bool CallGraphicController::setGraphicObjectProperty (JavaVM * jvm_, int id, int propertyName, bool const* value, int valueSize){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jbooleansetGraphicObjectPropertyjintintjintintjbooleanArray_booleanbooleanID = curEnv->GetStaticMethodID(cls, "setGraphicObjectProperty", "(II[Z)Z" ) ; +if (jbooleansetGraphicObjectPropertyjintintjintintjbooleanArray_booleanbooleanID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "setGraphicObjectProperty"); +} + +jbooleanArray value_ = curEnv->NewBooleanArray( valueSize ) ; +curEnv->SetBooleanArrayRegion( value_, 0, valueSize, (jboolean*)value ) ; + + jboolean res = static_cast<jboolean>( curEnv->CallStaticBooleanMethod(cls, jbooleansetGraphicObjectPropertyjintintjintintjbooleanArray_booleanbooleanID ,id, propertyName, value_)); + curEnv->DeleteLocalRef(value_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return (res == JNI_TRUE); + +} + +void CallGraphicController::registerScilabView (JavaVM * jvm_){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID voidregisterScilabViewID = curEnv->GetStaticMethodID(cls, "registerScilabView", "()V" ) ; +if (voidregisterScilabViewID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "registerScilabView"); +} + + curEnv->CallStaticVoidMethod(cls, voidregisterScilabViewID ); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +} + +void CallGraphicController::unregisterScilabView (JavaVM * jvm_){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID voidunregisterScilabViewID = curEnv->GetStaticMethodID(cls, "unregisterScilabView", "()V" ) ; +if (voidunregisterScilabViewID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "unregisterScilabView"); +} + + curEnv->CallStaticVoidMethod(cls, voidunregisterScilabViewID ); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +} + +int CallGraphicController::getConsoleIdentifier (JavaVM * jvm_){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintgetConsoleIdentifierID = curEnv->GetStaticMethodID(cls, "getConsoleIdentifier", "()I" ) ; +if (jintgetConsoleIdentifierID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "getConsoleIdentifier"); +} + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintgetConsoleIdentifierID )); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +void CallGraphicController::buildFigureMenuBar (JavaVM * jvm_, int figureId){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID voidbuildFigureMenuBarjintintID = curEnv->GetStaticMethodID(cls, "buildFigureMenuBar", "(I)V" ) ; +if (voidbuildFigureMenuBarjintintID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "buildFigureMenuBar"); +} + + curEnv->CallStaticVoidMethod(cls, voidbuildFigureMenuBarjintintID ,figureId); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +} + +} diff --git a/modules/graphic_objects/src/jni/CallGraphicController.hxx b/modules/graphic_objects/src/jni/CallGraphicController.hxx new file mode 100755 index 000000000..d79a52186 --- /dev/null +++ b/modules/graphic_objects/src/jni/CallGraphicController.hxx @@ -0,0 +1,242 @@ +/* Generated by GIWS (version 2.0.2) with command: +giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/graphic_objects.giws.xml +*/ +/* + +This is generated code. + +This software is a computer program whose purpose is to hide the complexity +of accessing Java objects/methods from C++ code. + +This software is governed by the CeCILL-B license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-B +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-B license and that you accept its terms. +*/ + + +#ifndef __ORG_SCILAB_MODULES_GRAPHIC_OBJECTS_CALLGRAPHICCONTROLLER__ +#define __ORG_SCILAB_MODULES_GRAPHIC_OBJECTS_CALLGRAPHICCONTROLLER__ +#include <iostream> +#include <string> +#include <string.h> +#include <stdlib.h> +#include <jni.h> + +#include "GiwsException.hxx" + + #if defined(_MSC_VER) /* Defined anyway with Visual */ + #include <Windows.h> + #else + typedef signed char byte; + #endif + + +#ifndef GIWSEXPORT +# if defined(_MSC_VER) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define GIWSEXPORT +# else +# define GIWSEXPORT __declspec(dllexport) +# endif +# else +# if __GNUC__ >= 4 +# define GIWSEXPORT __attribute__ ((visibility ("default"))) +# else +# define GIWSEXPORT +# endif +# endif +#endif + +namespace org_scilab_modules_graphic_objects { +class GIWSEXPORT CallGraphicController { + +private: +JavaVM * jvm; + +protected: +jmethodID voiddeleteGraphicObjectjintintID; // cache method id +jmethodID jintcloneGraphicObjectjintintID; // cache method id +jmethodID jintaskGraphicObjectjintintID; // cache method id +jmethodID voidsetGraphicObjectRelationshipjintintjintintID; // cache method id +jmethodID voidremoveRelationShipAndDeletejintintID; // cache method id +jmethodID jstringgetGraphicObjectPropertyAsStringjintintjintintID; // cache method id +jmethodID jbooleansetGraphicObjectPropertyjintintjintintjstringjava_lang_StringID; // cache method id +jmethodID jobjectArray_getGraphicObjectPropertyAsStringVectorjintintjintintID; // cache method id +jmethodID jbooleansetGraphicObjectPropertyjintintjintintjobjectArray_java_lang_Stringjava_lang_StringID; // cache method id +jclass stringArrayClass; +jmethodID jbooleansetGraphicObjectPropertyjintintjintintjdoubledoubleID; // cache method id +jmethodID jdoubleArray_getGraphicObjectPropertyAsDoubleVectorjintintjintintID; // cache method id +jmethodID jbooleansetGraphicObjectPropertyjintintjintintjdoubleArray_doubledoubleID; // cache method id +jmethodID jbooleansetGraphicObjectPropertyjintintjintintjintintID; // cache method id +jmethodID jintArray_getGraphicObjectPropertyAsIntegerVectorjintintjintintID; // cache method id +jmethodID jbooleansetGraphicObjectPropertyjintintjintintjintArray_intintID; // cache method id +jmethodID jbooleansetGraphicObjectPropertyjintintjintintjbooleanbooleanID; // cache method id +jmethodID jintArray_getGraphicObjectPropertyAsBooleanVectorjintintjintintID; // cache method id +jmethodID jbooleansetGraphicObjectPropertyjintintjintintjbooleanArray_booleanbooleanID; // cache method id +jmethodID voidregisterScilabViewID; // cache method id +jmethodID voidunregisterScilabViewID; // cache method id +jmethodID jintgetConsoleIdentifierID; // cache method id +jmethodID voidbuildFigureMenuBarjintintID; // cache method id + + + +jobject instance; +jclass instanceClass; // cache class + + +// Caching (if any) + + +/** +* Get the environment matching to the current thread. +*/ +virtual JNIEnv * getCurrentEnv(); + +public: +// Constructor +/** +* Create a wrapping of the object from a JNIEnv. +* It will call the default constructor +* @param JEnv_ the Java Env +*/ +CallGraphicController(JavaVM * jvm_); + +/** +* Create a wrapping of an already existing object from a JNIEnv. +* The object must have already been instantiated +* @param JEnv_ the Java Env +* @param JObj the object +*/ +CallGraphicController(JavaVM * jvm_, jobject JObj); + + +/** +* This is a fake constructor to avoid the constructor +* chaining when dealing with extended giws classes +*/ +#ifdef FAKEGIWSDATATYPE +CallGraphicController(fakeGiwsDataType::fakeGiwsDataType /* unused */) {} +#endif + +// Destructor +~CallGraphicController(); + +// Generic method +// Synchronization methods +/** +* Enter monitor associated with the object. +* Equivalent of creating a "synchronized(obj)" scope in Java. +*/ +void synchronize(); + +/** +* Exit monitor associated with the object. +* Equivalent of ending a "synchronized(obj)" scope. +*/ +void endSynchronize(); + +// Methods +static void deleteGraphicObject(JavaVM * jvm_, int id); + +static int cloneGraphicObject(JavaVM * jvm_, int id); + +static int askGraphicObject(JavaVM * jvm_, int typeName); + +static void setGraphicObjectRelationship(JavaVM * jvm_, int parentId, int childId); + +static void removeRelationShipAndDelete(JavaVM * jvm_, int id); + +static char* getGraphicObjectPropertyAsString(JavaVM * jvm_, int id, int propertyName); + +static bool setGraphicObjectProperty(JavaVM * jvm_, int id, int propertyName, char const* value); + +static char** getGraphicObjectPropertyAsStringVector(JavaVM * jvm_, int id, int propertyName); + +static bool setGraphicObjectProperty(JavaVM * jvm_, int id, int propertyName, char const* const* value, int valueSize); + +static bool setGraphicObjectProperty(JavaVM * jvm_, int id, int propertyName, double value); + +static double* getGraphicObjectPropertyAsDoubleVector(JavaVM * jvm_, int id, int propertyName); + +static bool setGraphicObjectProperty(JavaVM * jvm_, int id, int propertyName, double const* value, int valueSize); + +static bool setGraphicObjectProperty(JavaVM * jvm_, int id, int propertyName, int value); + +static int* getGraphicObjectPropertyAsIntegerVector(JavaVM * jvm_, int id, int propertyName); + +static bool setGraphicObjectProperty(JavaVM * jvm_, int id, int propertyName, int const* value, int valueSize); + +static bool setGraphicObjectProperty(JavaVM * jvm_, int id, int propertyName, bool value); + +static int* getGraphicObjectPropertyAsBooleanVector(JavaVM * jvm_, int id, int propertyName); + +static bool setGraphicObjectProperty(JavaVM * jvm_, int id, int propertyName, bool const* value, int valueSize); + +static void registerScilabView(JavaVM * jvm_); + +static void unregisterScilabView(JavaVM * jvm_); + +static int getConsoleIdentifier(JavaVM * jvm_); + +static void buildFigureMenuBar(JavaVM * jvm_, int figureId); + + + /** + * Get class name to use for static methods + * @return class name to use for static methods + */ + + static const std::string className() + { + return "org/scilab/modules/graphic_objects/CallGraphicController"; + } + + + /** + * Get class to use for static methods + * @return class to use for static methods + */ + + static jclass initClass(JNIEnv * curEnv) + { + static jclass cls = 0; + + if (cls == 0) + { + jclass _cls = curEnv->FindClass(className().c_str()); + if (_cls) + { + cls = static_cast<jclass>(curEnv->NewGlobalRef(_cls)); + } + } + + return cls; + } + +}; + + +} +#endif diff --git a/modules/graphic_objects/src/jni/CallXmlLoader.cpp b/modules/graphic_objects/src/jni/CallXmlLoader.cpp new file mode 100755 index 000000000..5fc0c955f --- /dev/null +++ b/modules/graphic_objects/src/jni/CallXmlLoader.cpp @@ -0,0 +1,258 @@ +#include "CallXmlLoader.hxx" +/* Generated by GIWS (version 2.0.2) with command: +giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/graphic_objects.giws.xml +*/ +/* + +This is generated code. + +This software is a computer program whose purpose is to hide the complexity +of accessing Java objects/methods from C++ code. + +This software is governed by the CeCILL-B license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-B +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-B license and that you accept its terms. +*/ + +namespace org_scilab_modules_graphic_objects { + + // Static declarations (if any) + +// Returns the current env + +JNIEnv * CallXmlLoader::getCurrentEnv() { +JNIEnv * curEnv = NULL; +jint res=this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +if (res != JNI_OK) { +throw GiwsException::JniException(getCurrentEnv()); +} +return curEnv; +} +// Destructor + +CallXmlLoader::~CallXmlLoader() { +JNIEnv * curEnv = NULL; +this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +curEnv->DeleteGlobalRef(this->instance); +curEnv->DeleteGlobalRef(this->instanceClass); +} +// Constructors +CallXmlLoader::CallXmlLoader(JavaVM * jvm_) { +jmethodID constructObject = NULL ; +jobject localInstance ; +jclass localClass ; + +const std::string construct="<init>"; +const std::string param="()V"; +jvm=jvm_; + +JNIEnv * curEnv = getCurrentEnv(); + +localClass = curEnv->FindClass( this->className().c_str() ) ; +if (localClass == NULL) { + throw GiwsException::JniClassNotFoundException(curEnv, this->className()); +} + +this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass)); + +/* localClass is not needed anymore */ +curEnv->DeleteLocalRef(localClass); + +if (this->instanceClass == NULL) { +throw GiwsException::JniObjectCreationException(curEnv, this->className()); +} + + +constructObject = curEnv->GetMethodID( this->instanceClass, construct.c_str() , param.c_str() ) ; +if(constructObject == NULL){ +throw GiwsException::JniObjectCreationException(curEnv, this->className()); +} + +localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ; +if(localInstance == NULL){ +throw GiwsException::JniObjectCreationException(curEnv, this->className()); +} + +this->instance = curEnv->NewGlobalRef(localInstance) ; +if(this->instance == NULL){ +throw GiwsException::JniObjectCreationException(curEnv, this->className()); +} +/* localInstance not needed anymore */ +curEnv->DeleteLocalRef(localInstance); + + /* Methods ID set to NULL */ +jintLoadjstringjava_lang_StringID=NULL; +jstringSavejintintjstringjava_lang_StringjbooleanbooleanID=NULL; +jintDomLoadjstringjava_lang_StringID=NULL; + + +} + +CallXmlLoader::CallXmlLoader(JavaVM * jvm_, jobject JObj) { + jvm=jvm_; + + JNIEnv * curEnv = getCurrentEnv(); + +jclass localClass = curEnv->GetObjectClass(JObj); + this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass)); + curEnv->DeleteLocalRef(localClass); + + if (this->instanceClass == NULL) { +throw GiwsException::JniObjectCreationException(curEnv, this->className()); + } + + this->instance = curEnv->NewGlobalRef(JObj) ; + if(this->instance == NULL){ +throw GiwsException::JniObjectCreationException(curEnv, this->className()); + } + /* Methods ID set to NULL */ + jintLoadjstringjava_lang_StringID=NULL; +jstringSavejintintjstringjava_lang_StringjbooleanbooleanID=NULL; +jintDomLoadjstringjava_lang_StringID=NULL; + + +} + +// Generic methods + +void CallXmlLoader::synchronize() { +if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK) { +throw GiwsException::JniMonitorException(getCurrentEnv(), "CallXmlLoader"); +} +} + +void CallXmlLoader::endSynchronize() { +if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK) { +throw GiwsException::JniMonitorException(getCurrentEnv(), "CallXmlLoader"); +} +} +// Method(s) + +int CallXmlLoader::Load (JavaVM * jvm_, char const* filename){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintLoadjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "Load", "(Ljava/lang/String;)I" ) ; +if (jintLoadjstringjava_lang_StringID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "Load"); +} + +jstring filename_ = curEnv->NewStringUTF( filename ); +if (filename != NULL && filename_ == NULL) +{ +throw GiwsException::JniBadAllocException(curEnv); +} + + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintLoadjstringjava_lang_StringID ,filename_)); + curEnv->DeleteLocalRef(filename_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +char* CallXmlLoader::Save (JavaVM * jvm_, int figure, char const* filename, bool isReverse){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jstringSavejintintjstringjava_lang_StringjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "Save", "(ILjava/lang/String;Z)Ljava/lang/String;" ) ; +if (jstringSavejintintjstringjava_lang_StringjbooleanbooleanID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "Save"); +} + +jstring filename_ = curEnv->NewStringUTF( filename ); +if (filename != NULL && filename_ == NULL) +{ +throw GiwsException::JniBadAllocException(curEnv); +} + + +jboolean isReverse_ = (static_cast<bool>(isReverse) ? JNI_TRUE : JNI_FALSE); + + jstring res = static_cast<jstring>( curEnv->CallStaticObjectMethod(cls, jstringSavejintintjstringjava_lang_StringjbooleanbooleanID ,figure, filename_, isReverse_)); + if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +}if (res != NULL) { + +const char *tempString = curEnv->GetStringUTFChars(res, 0); +char * myStringBuffer = new char[strlen(tempString) + 1]; +strcpy(myStringBuffer, tempString); +curEnv->ReleaseStringUTFChars(res, tempString); +curEnv->DeleteLocalRef(res); +curEnv->DeleteLocalRef(filename_); +if (curEnv->ExceptionCheck()) { +delete[] myStringBuffer; + throw GiwsException::JniCallMethodException(curEnv); +} +return myStringBuffer; + } else { +curEnv->DeleteLocalRef(res); +return NULL; +} +} + +int CallXmlLoader::DomLoad (JavaVM * jvm_, char const* filename){ + +JNIEnv * curEnv = NULL; +jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL); +jclass cls = initClass(curEnv); +if ( cls == NULL) { +throw GiwsException::JniCallMethodException(curEnv); +} + +static jmethodID jintDomLoadjstringjava_lang_StringID = curEnv->GetStaticMethodID(cls, "DomLoad", "(Ljava/lang/String;)I" ) ; +if (jintDomLoadjstringjava_lang_StringID == NULL) { +throw GiwsException::JniMethodNotFoundException(curEnv, "DomLoad"); +} + +jstring filename_ = curEnv->NewStringUTF( filename ); +if (filename != NULL && filename_ == NULL) +{ +throw GiwsException::JniBadAllocException(curEnv); +} + + + jint res = static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintDomLoadjstringjava_lang_StringID ,filename_)); + curEnv->DeleteLocalRef(filename_); +if (curEnv->ExceptionCheck()) { +throw GiwsException::JniCallMethodException(curEnv); +} +return res; + +} + +} diff --git a/modules/graphic_objects/src/jni/CallXmlLoader.hxx b/modules/graphic_objects/src/jni/CallXmlLoader.hxx new file mode 100755 index 000000000..9951851ba --- /dev/null +++ b/modules/graphic_objects/src/jni/CallXmlLoader.hxx @@ -0,0 +1,184 @@ +/* Generated by GIWS (version 2.0.2) with command: +giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/graphic_objects.giws.xml +*/ +/* + +This is generated code. + +This software is a computer program whose purpose is to hide the complexity +of accessing Java objects/methods from C++ code. + +This software is governed by the CeCILL-B license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-B +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-B license and that you accept its terms. +*/ + + +#ifndef __ORG_SCILAB_MODULES_GRAPHIC_OBJECTS_CALLXMLLOADER__ +#define __ORG_SCILAB_MODULES_GRAPHIC_OBJECTS_CALLXMLLOADER__ +#include <iostream> +#include <string> +#include <string.h> +#include <stdlib.h> +#include <jni.h> + +#include "GiwsException.hxx" + + #if defined(_MSC_VER) /* Defined anyway with Visual */ + #include <Windows.h> + #else + typedef signed char byte; + #endif + + +#ifndef GIWSEXPORT +# if defined(_MSC_VER) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define GIWSEXPORT +# else +# define GIWSEXPORT __declspec(dllexport) +# endif +# else +# if __GNUC__ >= 4 +# define GIWSEXPORT __attribute__ ((visibility ("default"))) +# else +# define GIWSEXPORT +# endif +# endif +#endif + +namespace org_scilab_modules_graphic_objects { +class GIWSEXPORT CallXmlLoader { + +private: +JavaVM * jvm; + +protected: +jmethodID jintLoadjstringjava_lang_StringID; // cache method id +jmethodID jstringSavejintintjstringjava_lang_StringjbooleanbooleanID; // cache method id +jmethodID jintDomLoadjstringjava_lang_StringID; // cache method id + + + +jobject instance; +jclass instanceClass; // cache class + + +// Caching (if any) + + +/** +* Get the environment matching to the current thread. +*/ +virtual JNIEnv * getCurrentEnv(); + +public: +// Constructor +/** +* Create a wrapping of the object from a JNIEnv. +* It will call the default constructor +* @param JEnv_ the Java Env +*/ +CallXmlLoader(JavaVM * jvm_); + +/** +* Create a wrapping of an already existing object from a JNIEnv. +* The object must have already been instantiated +* @param JEnv_ the Java Env +* @param JObj the object +*/ +CallXmlLoader(JavaVM * jvm_, jobject JObj); + + +/** +* This is a fake constructor to avoid the constructor +* chaining when dealing with extended giws classes +*/ +#ifdef FAKEGIWSDATATYPE +CallXmlLoader(fakeGiwsDataType::fakeGiwsDataType /* unused */) {} +#endif + +// Destructor +~CallXmlLoader(); + +// Generic method +// Synchronization methods +/** +* Enter monitor associated with the object. +* Equivalent of creating a "synchronized(obj)" scope in Java. +*/ +void synchronize(); + +/** +* Exit monitor associated with the object. +* Equivalent of ending a "synchronized(obj)" scope. +*/ +void endSynchronize(); + +// Methods +static int Load(JavaVM * jvm_, char const* filename); + +static char* Save(JavaVM * jvm_, int figure, char const* filename, bool isReverse); + +static int DomLoad(JavaVM * jvm_, char const* filename); + + + /** + * Get class name to use for static methods + * @return class name to use for static methods + */ + + static const std::string className() + { + return "org/scilab/modules/graphic_objects/CallXmlLoader"; + } + + + /** + * Get class to use for static methods + * @return class to use for static methods + */ + + static jclass initClass(JNIEnv * curEnv) + { + static jclass cls = 0; + + if (cls == 0) + { + jclass _cls = curEnv->FindClass(className().c_str()); + if (_cls) + { + cls = static_cast<jclass>(curEnv->NewGlobalRef(_cls)); + } + } + + return cls; + } + +}; + + +} +#endif diff --git a/modules/graphic_objects/src/jni/DataLoader.i b/modules/graphic_objects/src/jni/DataLoader.i new file mode 100755 index 000000000..38dd18220 --- /dev/null +++ b/modules/graphic_objects/src/jni/DataLoader.i @@ -0,0 +1,93 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010-2012 - DIGITEO - Pierre LANDO + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + */ + +%module DataLoader + +%include "arrays_java.i" + +%define NIO_BUFFER_TYPEMAP(CTYPE, LABEL, BUFFERTYPE) + %typemap(jni) CTYPE* LABEL "jobject" + %typemap(jtype) CTYPE* LABEL "BUFFERTYPE" + %typemap(jstype) CTYPE* LABEL "BUFFERTYPE" + %typemap(javain, pre=" assert $javainput.isDirect() : \"Buffer must be allocated direct.\";") CTYPE* LABEL "$javainput" + %typemap(javaout) CTYPE* LABEL { + return $jnicall; + } + %typemap(in) CTYPE* LABEL { + $1 = (*jenv)->GetDirectBufferAddress(jenv, $input); + if ($1 == NULL) { + SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct."); + } + } + %typemap(memberin) CTYPE* LABEL { + if ($input) { + $1 = $input; + } else { + $1 = 0; + } + } +%enddef + +/* +NIO_BUFFER_TYPEMAP(void, BUFF, java.nio.Buffer); +NIO_BUFFER_TYPEMAP(char, BUFF, java.nio.ByteBuffer); +NIO_BUFFER_TYPEMAP(char, CBUFF, java.nio.CharBuffer); +NIO_BUFFER_TYPEMAP(short, BUFF, java.nio.ShortBuffer); +NIO_BUFFER_TYPEMAP(unsigned short, BUFF, java.nio.IntBuffer); +NIO_BUFFER_TYPEMAP(unsigned int, BUFF, java.nio.LongBuffer); +NIO_BUFFER_TYPEMAP(long, BUFF, java.nio.IntBuffer); +NIO_BUFFER_TYPEMAP(unsigned long, BUFF, java.nio.LongBuffer); +NIO_BUFFER_TYPEMAP(long long, BUFF, java.nio.LongBuffer); +NIO_BUFFER_TYPEMAP(double, BUFF, java.nio.DoubleBuffer); +*/ +NIO_BUFFER_TYPEMAP(int, BUFF, java.nio.IntBuffer); +NIO_BUFFER_TYPEMAP(unsigned char, BUFF, java.nio.ByteBuffer); +NIO_BUFFER_TYPEMAP(float, BUFF, java.nio.FloatBuffer); +#undef NIO_BUFFER_TYPEMAP + +%pragma(java) jniclasscode=%{ + static { + try { + System.loadLibrary("scigraphic_objects"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native library failed to load. \n" + e); + System.exit(1); + } + } +%} + +%apply int* BUFF {int* buffer}; +%apply unsigned char* BUFF {unsigned char* buffer}; +%apply float* BUFF {float* buffer}; +%apply float* BUFF {float* position}; + +%typemap(jni) JavaDirectBuffer "jobject" +%typemap(jtype) JavaDirectBuffer "java.nio.ByteBuffer" +%typemap(jstype) JavaDirectBuffer "java.nio.ByteBuffer" + +%typemap(out) JavaDirectBuffer { + if ($1.address) + { + jresult = (*jenv)->NewDirectByteBuffer(jenv, $1.address, $1.size); + } + } + +%typemap(javaout) JavaDirectBuffer { + return $jnicall; +} + +%ignore JavaDirectBuffer; + +%include "../../includes/DataLoader.hxx" + +%inline +%{ + #include "DataLoader.hxx" +%} diff --git a/modules/graphic_objects/src/jni/DataLoader_wrap.c b/modules/graphic_objects/src/jni/DataLoader_wrap.c new file mode 100755 index 000000000..76f5e3eb8 --- /dev/null +++ b/modules/graphic_objects/src/jni/DataLoader_wrap.c @@ -0,0 +1,1186 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.7 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + +#define SWIGJAVA + +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + + +/* Fix for jlong on some versions of gcc on Windows */ +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) + typedef long long __int64; +#endif + +/* Fix for jlong on 64-bit x86 Solaris */ +#if defined(__x86_64) +# ifdef _LP64 +# undef _LP64 +# endif +#endif + +#include <jni.h> +#include <stdlib.h> +#include <string.h> + + +/* Support for throwing Java exceptions */ +typedef enum { + SWIG_JavaOutOfMemoryError = 1, + SWIG_JavaIOException, + SWIG_JavaRuntimeException, + SWIG_JavaIndexOutOfBoundsException, + SWIG_JavaArithmeticException, + SWIG_JavaIllegalArgumentException, + SWIG_JavaNullPointerException, + SWIG_JavaDirectorPureVirtual, + SWIG_JavaUnknownError +} SWIG_JavaExceptionCodes; + +typedef struct { + SWIG_JavaExceptionCodes code; + const char *java_exception; +} SWIG_JavaExceptions_t; + + +static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) { + jclass excep; + static const SWIG_JavaExceptions_t java_exceptions[] = { + { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" }, + { SWIG_JavaIOException, "java/io/IOException" }, + { SWIG_JavaRuntimeException, "java/lang/RuntimeException" }, + { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" }, + { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" }, + { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" }, + { SWIG_JavaNullPointerException, "java/lang/NullPointerException" }, + { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" }, + { SWIG_JavaUnknownError, "java/lang/UnknownError" }, + { (SWIG_JavaExceptionCodes)0, "java/lang/UnknownError" } + }; + const SWIG_JavaExceptions_t *except_ptr = java_exceptions; + + while (except_ptr->code != code && except_ptr->code) + except_ptr++; + + (*jenv)->ExceptionClear(jenv); + excep = (*jenv)->FindClass(jenv, except_ptr->java_exception); + if (excep) + (*jenv)->ThrowNew(jenv, excep, msg); +} + + +/* Contract support */ + +#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else + + +#if defined(SWIG_NOINCLUDE) || defined(SWIG_NOARRAYS) + + +static int SWIG_JavaArrayInSchar (JNIEnv *jenv, jbyte **jarr, signed char **carr, jbyteArray input); +static void SWIG_JavaArrayArgoutSchar (JNIEnv *jenv, jbyte *jarr, signed char *carr, jbyteArray input); +static jbyteArray SWIG_JavaArrayOutSchar (JNIEnv *jenv, signed char *result, jsize sz); + + +static int SWIG_JavaArrayInUchar (JNIEnv *jenv, jshort **jarr, unsigned char **carr, jshortArray input); +static void SWIG_JavaArrayArgoutUchar (JNIEnv *jenv, jshort *jarr, unsigned char *carr, jshortArray input); +static jshortArray SWIG_JavaArrayOutUchar (JNIEnv *jenv, unsigned char *result, jsize sz); + + +static int SWIG_JavaArrayInShort (JNIEnv *jenv, jshort **jarr, short **carr, jshortArray input); +static void SWIG_JavaArrayArgoutShort (JNIEnv *jenv, jshort *jarr, short *carr, jshortArray input); +static jshortArray SWIG_JavaArrayOutShort (JNIEnv *jenv, short *result, jsize sz); + + +static int SWIG_JavaArrayInUshort (JNIEnv *jenv, jint **jarr, unsigned short **carr, jintArray input); +static void SWIG_JavaArrayArgoutUshort (JNIEnv *jenv, jint *jarr, unsigned short *carr, jintArray input); +static jintArray SWIG_JavaArrayOutUshort (JNIEnv *jenv, unsigned short *result, jsize sz); + + +static int SWIG_JavaArrayInInt (JNIEnv *jenv, jint **jarr, int **carr, jintArray input); +static void SWIG_JavaArrayArgoutInt (JNIEnv *jenv, jint *jarr, int *carr, jintArray input); +static jintArray SWIG_JavaArrayOutInt (JNIEnv *jenv, int *result, jsize sz); + + +static int SWIG_JavaArrayInUint (JNIEnv *jenv, jlong **jarr, unsigned int **carr, jlongArray input); +static void SWIG_JavaArrayArgoutUint (JNIEnv *jenv, jlong *jarr, unsigned int *carr, jlongArray input); +static jlongArray SWIG_JavaArrayOutUint (JNIEnv *jenv, unsigned int *result, jsize sz); + + +static int SWIG_JavaArrayInLong (JNIEnv *jenv, jint **jarr, long **carr, jintArray input); +static void SWIG_JavaArrayArgoutLong (JNIEnv *jenv, jint *jarr, long *carr, jintArray input); +static jintArray SWIG_JavaArrayOutLong (JNIEnv *jenv, long *result, jsize sz); + + +static int SWIG_JavaArrayInUlong (JNIEnv *jenv, jlong **jarr, unsigned long **carr, jlongArray input); +static void SWIG_JavaArrayArgoutUlong (JNIEnv *jenv, jlong *jarr, unsigned long *carr, jlongArray input); +static jlongArray SWIG_JavaArrayOutUlong (JNIEnv *jenv, unsigned long *result, jsize sz); + + +static int SWIG_JavaArrayInLonglong (JNIEnv *jenv, jlong **jarr, jlong **carr, jlongArray input); +static void SWIG_JavaArrayArgoutLonglong (JNIEnv *jenv, jlong *jarr, jlong *carr, jlongArray input); +static jlongArray SWIG_JavaArrayOutLonglong (JNIEnv *jenv, jlong *result, jsize sz); + + +static int SWIG_JavaArrayInFloat (JNIEnv *jenv, jfloat **jarr, float **carr, jfloatArray input); +static void SWIG_JavaArrayArgoutFloat (JNIEnv *jenv, jfloat *jarr, float *carr, jfloatArray input); +static jfloatArray SWIG_JavaArrayOutFloat (JNIEnv *jenv, float *result, jsize sz); + + +static int SWIG_JavaArrayInDouble (JNIEnv *jenv, jdouble **jarr, double **carr, jdoubleArray input); +static void SWIG_JavaArrayArgoutDouble (JNIEnv *jenv, jdouble *jarr, double *carr, jdoubleArray input); +static jdoubleArray SWIG_JavaArrayOutDouble (JNIEnv *jenv, double *result, jsize sz); + + +#else + + +/* signed char[] support */ +static int SWIG_JavaArrayInSchar (JNIEnv *jenv, jbyte **jarr, signed char **carr, jbyteArray input) { + int i; + jsize sz; + if (!input) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); + return 0; + } + sz = (*jenv)->GetArrayLength(jenv, input); + *jarr = (*jenv)->GetByteArrayElements(jenv, input, 0); + if (!*jarr) + return 0; + *carr = (signed char*) calloc(sz, sizeof(signed char)); + if (!*carr) { + SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); + return 0; + } + for (i=0; i<sz; i++) + (*carr)[i] = (signed char)(*jarr)[i]; + return 1; +} + +static void SWIG_JavaArrayArgoutSchar (JNIEnv *jenv, jbyte *jarr, signed char *carr, jbyteArray input) { + int i; + jsize sz = (*jenv)->GetArrayLength(jenv, input); + for (i=0; i<sz; i++) + jarr[i] = (jbyte)carr[i]; + (*jenv)->ReleaseByteArrayElements(jenv, input, jarr, 0); +} + +static jbyteArray SWIG_JavaArrayOutSchar (JNIEnv *jenv, signed char *result, jsize sz) { + jbyte *arr; + int i; + jbyteArray jresult = (*jenv)->NewByteArray(jenv, sz); + if (!jresult) + return NULL; + arr = (*jenv)->GetByteArrayElements(jenv, jresult, 0); + if (!arr) + return NULL; + for (i=0; i<sz; i++) + arr[i] = (jbyte)result[i]; + (*jenv)->ReleaseByteArrayElements(jenv, jresult, arr, 0); + return jresult; +} + + +/* unsigned char[] support */ +static int SWIG_JavaArrayInUchar (JNIEnv *jenv, jshort **jarr, unsigned char **carr, jshortArray input) { + int i; + jsize sz; + if (!input) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); + return 0; + } + sz = (*jenv)->GetArrayLength(jenv, input); + *jarr = (*jenv)->GetShortArrayElements(jenv, input, 0); + if (!*jarr) + return 0; + *carr = (unsigned char*) calloc(sz, sizeof(unsigned char)); + if (!*carr) { + SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); + return 0; + } + for (i=0; i<sz; i++) + (*carr)[i] = (unsigned char)(*jarr)[i]; + return 1; +} + +static void SWIG_JavaArrayArgoutUchar (JNIEnv *jenv, jshort *jarr, unsigned char *carr, jshortArray input) { + int i; + jsize sz = (*jenv)->GetArrayLength(jenv, input); + for (i=0; i<sz; i++) + jarr[i] = (jshort)carr[i]; + (*jenv)->ReleaseShortArrayElements(jenv, input, jarr, 0); +} + +static jshortArray SWIG_JavaArrayOutUchar (JNIEnv *jenv, unsigned char *result, jsize sz) { + jshort *arr; + int i; + jshortArray jresult = (*jenv)->NewShortArray(jenv, sz); + if (!jresult) + return NULL; + arr = (*jenv)->GetShortArrayElements(jenv, jresult, 0); + if (!arr) + return NULL; + for (i=0; i<sz; i++) + arr[i] = (jshort)result[i]; + (*jenv)->ReleaseShortArrayElements(jenv, jresult, arr, 0); + return jresult; +} + + +/* short[] support */ +static int SWIG_JavaArrayInShort (JNIEnv *jenv, jshort **jarr, short **carr, jshortArray input) { + int i; + jsize sz; + if (!input) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); + return 0; + } + sz = (*jenv)->GetArrayLength(jenv, input); + *jarr = (*jenv)->GetShortArrayElements(jenv, input, 0); + if (!*jarr) + return 0; + *carr = (short*) calloc(sz, sizeof(short)); + if (!*carr) { + SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); + return 0; + } + for (i=0; i<sz; i++) + (*carr)[i] = (short)(*jarr)[i]; + return 1; +} + +static void SWIG_JavaArrayArgoutShort (JNIEnv *jenv, jshort *jarr, short *carr, jshortArray input) { + int i; + jsize sz = (*jenv)->GetArrayLength(jenv, input); + for (i=0; i<sz; i++) + jarr[i] = (jshort)carr[i]; + (*jenv)->ReleaseShortArrayElements(jenv, input, jarr, 0); +} + +static jshortArray SWIG_JavaArrayOutShort (JNIEnv *jenv, short *result, jsize sz) { + jshort *arr; + int i; + jshortArray jresult = (*jenv)->NewShortArray(jenv, sz); + if (!jresult) + return NULL; + arr = (*jenv)->GetShortArrayElements(jenv, jresult, 0); + if (!arr) + return NULL; + for (i=0; i<sz; i++) + arr[i] = (jshort)result[i]; + (*jenv)->ReleaseShortArrayElements(jenv, jresult, arr, 0); + return jresult; +} + + +/* unsigned short[] support */ +static int SWIG_JavaArrayInUshort (JNIEnv *jenv, jint **jarr, unsigned short **carr, jintArray input) { + int i; + jsize sz; + if (!input) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); + return 0; + } + sz = (*jenv)->GetArrayLength(jenv, input); + *jarr = (*jenv)->GetIntArrayElements(jenv, input, 0); + if (!*jarr) + return 0; + *carr = (unsigned short*) calloc(sz, sizeof(unsigned short)); + if (!*carr) { + SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); + return 0; + } + for (i=0; i<sz; i++) + (*carr)[i] = (unsigned short)(*jarr)[i]; + return 1; +} + +static void SWIG_JavaArrayArgoutUshort (JNIEnv *jenv, jint *jarr, unsigned short *carr, jintArray input) { + int i; + jsize sz = (*jenv)->GetArrayLength(jenv, input); + for (i=0; i<sz; i++) + jarr[i] = (jint)carr[i]; + (*jenv)->ReleaseIntArrayElements(jenv, input, jarr, 0); +} + +static jintArray SWIG_JavaArrayOutUshort (JNIEnv *jenv, unsigned short *result, jsize sz) { + jint *arr; + int i; + jintArray jresult = (*jenv)->NewIntArray(jenv, sz); + if (!jresult) + return NULL; + arr = (*jenv)->GetIntArrayElements(jenv, jresult, 0); + if (!arr) + return NULL; + for (i=0; i<sz; i++) + arr[i] = (jint)result[i]; + (*jenv)->ReleaseIntArrayElements(jenv, jresult, arr, 0); + return jresult; +} + + +/* int[] support */ +static int SWIG_JavaArrayInInt (JNIEnv *jenv, jint **jarr, int **carr, jintArray input) { + int i; + jsize sz; + if (!input) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); + return 0; + } + sz = (*jenv)->GetArrayLength(jenv, input); + *jarr = (*jenv)->GetIntArrayElements(jenv, input, 0); + if (!*jarr) + return 0; + *carr = (int*) calloc(sz, sizeof(int)); + if (!*carr) { + SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); + return 0; + } + for (i=0; i<sz; i++) + (*carr)[i] = (int)(*jarr)[i]; + return 1; +} + +static void SWIG_JavaArrayArgoutInt (JNIEnv *jenv, jint *jarr, int *carr, jintArray input) { + int i; + jsize sz = (*jenv)->GetArrayLength(jenv, input); + for (i=0; i<sz; i++) + jarr[i] = (jint)carr[i]; + (*jenv)->ReleaseIntArrayElements(jenv, input, jarr, 0); +} + +static jintArray SWIG_JavaArrayOutInt (JNIEnv *jenv, int *result, jsize sz) { + jint *arr; + int i; + jintArray jresult = (*jenv)->NewIntArray(jenv, sz); + if (!jresult) + return NULL; + arr = (*jenv)->GetIntArrayElements(jenv, jresult, 0); + if (!arr) + return NULL; + for (i=0; i<sz; i++) + arr[i] = (jint)result[i]; + (*jenv)->ReleaseIntArrayElements(jenv, jresult, arr, 0); + return jresult; +} + + +/* unsigned int[] support */ +static int SWIG_JavaArrayInUint (JNIEnv *jenv, jlong **jarr, unsigned int **carr, jlongArray input) { + int i; + jsize sz; + if (!input) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); + return 0; + } + sz = (*jenv)->GetArrayLength(jenv, input); + *jarr = (*jenv)->GetLongArrayElements(jenv, input, 0); + if (!*jarr) + return 0; + *carr = (unsigned int*) calloc(sz, sizeof(unsigned int)); + if (!*carr) { + SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); + return 0; + } + for (i=0; i<sz; i++) + (*carr)[i] = (unsigned int)(*jarr)[i]; + return 1; +} + +static void SWIG_JavaArrayArgoutUint (JNIEnv *jenv, jlong *jarr, unsigned int *carr, jlongArray input) { + int i; + jsize sz = (*jenv)->GetArrayLength(jenv, input); + for (i=0; i<sz; i++) + jarr[i] = (jlong)carr[i]; + (*jenv)->ReleaseLongArrayElements(jenv, input, jarr, 0); +} + +static jlongArray SWIG_JavaArrayOutUint (JNIEnv *jenv, unsigned int *result, jsize sz) { + jlong *arr; + int i; + jlongArray jresult = (*jenv)->NewLongArray(jenv, sz); + if (!jresult) + return NULL; + arr = (*jenv)->GetLongArrayElements(jenv, jresult, 0); + if (!arr) + return NULL; + for (i=0; i<sz; i++) + arr[i] = (jlong)result[i]; + (*jenv)->ReleaseLongArrayElements(jenv, jresult, arr, 0); + return jresult; +} + + +/* long[] support */ +static int SWIG_JavaArrayInLong (JNIEnv *jenv, jint **jarr, long **carr, jintArray input) { + int i; + jsize sz; + if (!input) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); + return 0; + } + sz = (*jenv)->GetArrayLength(jenv, input); + *jarr = (*jenv)->GetIntArrayElements(jenv, input, 0); + if (!*jarr) + return 0; + *carr = (long*) calloc(sz, sizeof(long)); + if (!*carr) { + SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); + return 0; + } + for (i=0; i<sz; i++) + (*carr)[i] = (long)(*jarr)[i]; + return 1; +} + +static void SWIG_JavaArrayArgoutLong (JNIEnv *jenv, jint *jarr, long *carr, jintArray input) { + int i; + jsize sz = (*jenv)->GetArrayLength(jenv, input); + for (i=0; i<sz; i++) + jarr[i] = (jint)carr[i]; + (*jenv)->ReleaseIntArrayElements(jenv, input, jarr, 0); +} + +static jintArray SWIG_JavaArrayOutLong (JNIEnv *jenv, long *result, jsize sz) { + jint *arr; + int i; + jintArray jresult = (*jenv)->NewIntArray(jenv, sz); + if (!jresult) + return NULL; + arr = (*jenv)->GetIntArrayElements(jenv, jresult, 0); + if (!arr) + return NULL; + for (i=0; i<sz; i++) + arr[i] = (jint)result[i]; + (*jenv)->ReleaseIntArrayElements(jenv, jresult, arr, 0); + return jresult; +} + + +/* unsigned long[] support */ +static int SWIG_JavaArrayInUlong (JNIEnv *jenv, jlong **jarr, unsigned long **carr, jlongArray input) { + int i; + jsize sz; + if (!input) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); + return 0; + } + sz = (*jenv)->GetArrayLength(jenv, input); + *jarr = (*jenv)->GetLongArrayElements(jenv, input, 0); + if (!*jarr) + return 0; + *carr = (unsigned long*) calloc(sz, sizeof(unsigned long)); + if (!*carr) { + SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); + return 0; + } + for (i=0; i<sz; i++) + (*carr)[i] = (unsigned long)(*jarr)[i]; + return 1; +} + +static void SWIG_JavaArrayArgoutUlong (JNIEnv *jenv, jlong *jarr, unsigned long *carr, jlongArray input) { + int i; + jsize sz = (*jenv)->GetArrayLength(jenv, input); + for (i=0; i<sz; i++) + jarr[i] = (jlong)carr[i]; + (*jenv)->ReleaseLongArrayElements(jenv, input, jarr, 0); +} + +static jlongArray SWIG_JavaArrayOutUlong (JNIEnv *jenv, unsigned long *result, jsize sz) { + jlong *arr; + int i; + jlongArray jresult = (*jenv)->NewLongArray(jenv, sz); + if (!jresult) + return NULL; + arr = (*jenv)->GetLongArrayElements(jenv, jresult, 0); + if (!arr) + return NULL; + for (i=0; i<sz; i++) + arr[i] = (jlong)result[i]; + (*jenv)->ReleaseLongArrayElements(jenv, jresult, arr, 0); + return jresult; +} + + +/* jlong[] support */ +static int SWIG_JavaArrayInLonglong (JNIEnv *jenv, jlong **jarr, jlong **carr, jlongArray input) { + int i; + jsize sz; + if (!input) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); + return 0; + } + sz = (*jenv)->GetArrayLength(jenv, input); + *jarr = (*jenv)->GetLongArrayElements(jenv, input, 0); + if (!*jarr) + return 0; + *carr = (jlong*) calloc(sz, sizeof(jlong)); + if (!*carr) { + SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); + return 0; + } + for (i=0; i<sz; i++) + (*carr)[i] = (jlong)(*jarr)[i]; + return 1; +} + +static void SWIG_JavaArrayArgoutLonglong (JNIEnv *jenv, jlong *jarr, jlong *carr, jlongArray input) { + int i; + jsize sz = (*jenv)->GetArrayLength(jenv, input); + for (i=0; i<sz; i++) + jarr[i] = (jlong)carr[i]; + (*jenv)->ReleaseLongArrayElements(jenv, input, jarr, 0); +} + +static jlongArray SWIG_JavaArrayOutLonglong (JNIEnv *jenv, jlong *result, jsize sz) { + jlong *arr; + int i; + jlongArray jresult = (*jenv)->NewLongArray(jenv, sz); + if (!jresult) + return NULL; + arr = (*jenv)->GetLongArrayElements(jenv, jresult, 0); + if (!arr) + return NULL; + for (i=0; i<sz; i++) + arr[i] = (jlong)result[i]; + (*jenv)->ReleaseLongArrayElements(jenv, jresult, arr, 0); + return jresult; +} + + +/* float[] support */ +static int SWIG_JavaArrayInFloat (JNIEnv *jenv, jfloat **jarr, float **carr, jfloatArray input) { + int i; + jsize sz; + if (!input) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); + return 0; + } + sz = (*jenv)->GetArrayLength(jenv, input); + *jarr = (*jenv)->GetFloatArrayElements(jenv, input, 0); + if (!*jarr) + return 0; + *carr = (float*) calloc(sz, sizeof(float)); + if (!*carr) { + SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); + return 0; + } + for (i=0; i<sz; i++) + (*carr)[i] = (float)(*jarr)[i]; + return 1; +} + +static void SWIG_JavaArrayArgoutFloat (JNIEnv *jenv, jfloat *jarr, float *carr, jfloatArray input) { + int i; + jsize sz = (*jenv)->GetArrayLength(jenv, input); + for (i=0; i<sz; i++) + jarr[i] = (jfloat)carr[i]; + (*jenv)->ReleaseFloatArrayElements(jenv, input, jarr, 0); +} + +static jfloatArray SWIG_JavaArrayOutFloat (JNIEnv *jenv, float *result, jsize sz) { + jfloat *arr; + int i; + jfloatArray jresult = (*jenv)->NewFloatArray(jenv, sz); + if (!jresult) + return NULL; + arr = (*jenv)->GetFloatArrayElements(jenv, jresult, 0); + if (!arr) + return NULL; + for (i=0; i<sz; i++) + arr[i] = (jfloat)result[i]; + (*jenv)->ReleaseFloatArrayElements(jenv, jresult, arr, 0); + return jresult; +} + + +/* double[] support */ +static int SWIG_JavaArrayInDouble (JNIEnv *jenv, jdouble **jarr, double **carr, jdoubleArray input) { + int i; + jsize sz; + if (!input) { + SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "null array"); + return 0; + } + sz = (*jenv)->GetArrayLength(jenv, input); + *jarr = (*jenv)->GetDoubleArrayElements(jenv, input, 0); + if (!*jarr) + return 0; + *carr = (double*) calloc(sz, sizeof(double)); + if (!*carr) { + SWIG_JavaThrowException(jenv, SWIG_JavaOutOfMemoryError, "array memory allocation failed"); + return 0; + } + for (i=0; i<sz; i++) + (*carr)[i] = (double)(*jarr)[i]; + return 1; +} + +static void SWIG_JavaArrayArgoutDouble (JNIEnv *jenv, jdouble *jarr, double *carr, jdoubleArray input) { + int i; + jsize sz = (*jenv)->GetArrayLength(jenv, input); + for (i=0; i<sz; i++) + jarr[i] = (jdouble)carr[i]; + (*jenv)->ReleaseDoubleArrayElements(jenv, input, jarr, 0); +} + +static jdoubleArray SWIG_JavaArrayOutDouble (JNIEnv *jenv, double *result, jsize sz) { + jdouble *arr; + int i; + jdoubleArray jresult = (*jenv)->NewDoubleArray(jenv, sz); + if (!jresult) + return NULL; + arr = (*jenv)->GetDoubleArrayElements(jenv, jresult, 0); + if (!arr) + return NULL; + for (i=0; i<sz; i++) + arr[i] = (jdouble)result[i]; + (*jenv)->ReleaseDoubleArrayElements(jenv, jresult, arr, 0); + return jresult; +} + + +#endif + + + #include "DataLoader.hxx" + + +#ifdef __cplusplus +extern "C" { +#endif + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureWidth(JNIEnv *jenv, jclass jcls, jint jarg1) { + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)getTextureWidth(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureHeight(JNIEnv *jenv, jclass jcls, jint jarg1) { + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)getTextureHeight(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillTextureData(JNIEnv *jenv, jclass jcls, jint jarg1, jobject jarg2, jint jarg3) { + jint jresult = 0 ; + int arg1 ; + unsigned char *arg2 = (unsigned char *) 0 ; + int arg3 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + { + arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2); + if (arg2 == NULL) { + SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct."); + } + } + arg3 = (int)jarg3; + result = (int)fillTextureData(arg1,arg2,arg3); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillSubTextureData(JNIEnv *jenv, jclass jcls, jint jarg1, jobject jarg2, jint jarg3, jint jarg4, jint jarg5, jint jarg6, jint jarg7) { + jint jresult = 0 ; + int arg1 ; + unsigned char *arg2 = (unsigned char *) 0 ; + int arg3 ; + int arg4 ; + int arg5 ; + int arg6 ; + int arg7 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + { + arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2); + if (arg2 == NULL) { + SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct."); + } + } + arg3 = (int)jarg3; + arg4 = (int)jarg4; + arg5 = (int)jarg5; + arg6 = (int)jarg6; + arg7 = (int)jarg7; + result = (int)fillSubTextureData(arg1,arg2,arg3,arg4,arg5,arg6,arg7); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getDataSize(JNIEnv *jenv, jclass jcls, jint jarg1) { + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)getDataSize(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillVertices(JNIEnv *jenv, jclass jcls, jint jarg1, jobject jarg2, jint jarg3, jint jarg4, jint jarg5, jdoubleArray jarg6, jdoubleArray jarg7, jint jarg8) { + int arg1 ; + float *arg2 = (float *) 0 ; + int arg3 ; + int arg4 ; + int arg5 ; + double *arg6 ; + double *arg7 ; + int arg8 ; + jdouble *jarr6 ; + jdouble *jarr7 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + { + arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2); + if (arg2 == NULL) { + SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct."); + } + } + arg3 = (int)jarg3; + arg4 = (int)jarg4; + arg5 = (int)jarg5; + if (!SWIG_JavaArrayInDouble(jenv, &jarr6, (double **)&arg6, jarg6)) return ; + if (!SWIG_JavaArrayInDouble(jenv, &jarr7, (double **)&arg7, jarg7)) return ; + arg8 = (int)jarg8; + fillVertices(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8); + SWIG_JavaArrayArgoutDouble(jenv, jarr6, (double *)arg6, jarg6); + SWIG_JavaArrayArgoutDouble(jenv, jarr7, (double *)arg7, jarg7); + free(arg6); + free(arg7); +} + + +SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillNormals(JNIEnv *jenv, jclass jcls, jint jarg1, jobject jarg2, jobject jarg3, jint jarg4, jint jarg5) { + int arg1 ; + float *arg2 = (float *) 0 ; + float *arg3 = (float *) 0 ; + int arg4 ; + int arg5 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + { + arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2); + if (arg2 == NULL) { + SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct."); + } + } + { + arg3 = (*jenv)->GetDirectBufferAddress(jenv, jarg3); + if (arg3 == NULL) { + SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct."); + } + } + arg4 = (int)jarg4; + arg5 = (int)jarg5; + fillNormals(arg1,arg2,arg3,arg4,arg5); +} + + +SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillColors(JNIEnv *jenv, jclass jcls, jint jarg1, jobject jarg2, jint jarg3, jint jarg4) { + int arg1 ; + float *arg2 = (float *) 0 ; + int arg3 ; + int arg4 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + { + arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2); + if (arg2 == NULL) { + SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct."); + } + } + arg3 = (int)jarg3; + arg4 = (int)jarg4; + fillColors(arg1,arg2,arg3,arg4); +} + + +SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillTextureCoordinates(JNIEnv *jenv, jclass jcls, jint jarg1, jobject jarg2, jint jarg3) { + int arg1 ; + float *arg2 = (float *) 0 ; + int arg3 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + { + arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2); + if (arg2 == NULL) { + SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct."); + } + } + arg3 = (int)jarg3; + fillTextureCoordinates(arg1,arg2,arg3); +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getIndicesSize(JNIEnv *jenv, jclass jcls, jint jarg1) { + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)getIndicesSize(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillIndices(JNIEnv *jenv, jclass jcls, jint jarg1, jobject jarg2, jint jarg3, jint jarg4) { + jint jresult = 0 ; + int arg1 ; + int *arg2 = (int *) 0 ; + int arg3 ; + int arg4 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + { + arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2); + if (arg2 == NULL) { + SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct."); + } + } + arg3 = (int)jarg3; + arg4 = (int)jarg4; + result = (int)fillIndices(arg1,arg2,arg3,arg4); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getWireIndicesSize(JNIEnv *jenv, jclass jcls, jint jarg1) { + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)getWireIndicesSize(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillWireIndices(JNIEnv *jenv, jclass jcls, jint jarg1, jobject jarg2, jint jarg3, jint jarg4) { + jint jresult = 0 ; + int arg1 ; + int *arg2 = (int *) 0 ; + int arg3 ; + int arg4 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + { + arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2); + if (arg2 == NULL) { + SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct."); + } + } + arg3 = (int)jarg3; + arg4 = (int)jarg4; + result = (int)fillWireIndices(arg1,arg2,arg3,arg4); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getMarkIndicesSize(JNIEnv *jenv, jclass jcls, jint jarg1) { + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)getMarkIndicesSize(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_fillMarkIndices(JNIEnv *jenv, jclass jcls, jint jarg1, jobject jarg2, jint jarg3) { + jint jresult = 0 ; + int arg1 ; + int *arg2 = (int *) 0 ; + int arg3 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + { + arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2); + if (arg2 == NULL) { + SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct."); + } + } + arg3 = (int)jarg3; + result = (int)fillMarkIndices(arg1,arg2,arg3); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureData(JNIEnv *jenv, jclass jcls, jint jarg1) { + jobject jresult = 0 ; + int arg1 ; + JavaDirectBuffer result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = getTextureData(arg1); + { + if ((&result)->address) + { + jresult = (*jenv)->NewDirectByteBuffer(jenv, (&result)->address, (&result)->size); + } + } + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureImageType(JNIEnv *jenv, jclass jcls, jint jarg1) { + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)getTextureImageType(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureDataType(JNIEnv *jenv, jclass jcls, jint jarg1) { + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)getTextureDataType(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_getTextureGLType(JNIEnv *jenv, jclass jcls, jint jarg1) { + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)getTextureGLType(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_disposeTextureData(JNIEnv *jenv, jclass jcls, jint jarg1, jobject jarg2) { + int arg1 ; + unsigned char *arg2 = (unsigned char *) 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + { + arg2 = (*jenv)->GetDirectBufferAddress(jenv, jarg2); + if (arg2 == NULL) { + SWIG_JavaThrowException(jenv, SWIG_JavaRuntimeException, "Unable to get address of direct buffer. Buffer must be allocated direct."); + } + } + disposeTextureData(arg1,arg2); +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_isTextureRowOrder(JNIEnv *jenv, jclass jcls, jint jarg1) { + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)isTextureRowOrder(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_DataLoaderJNI_setABGRExt(JNIEnv *jenv, jclass jcls, jint jarg1) { + int arg1 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + setABGRExt(arg1); +} + + +#ifdef __cplusplus +} +#endif + diff --git a/modules/graphic_objects/src/jni/ObjectData.i b/modules/graphic_objects/src/jni/ObjectData.i new file mode 100755 index 000000000..878eb006c --- /dev/null +++ b/modules/graphic_objects/src/jni/ObjectData.i @@ -0,0 +1,286 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - Pedro Arthur dos S. Souza + * Copyright (C) 2012 - Caio Lucas dos S. Souza + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +// swig -java -package org.scilab.modules.graphic_objects -outdir ../java/org/scilab/modules/graphic_objects/ ObjectData.i + +%module ObjectData + + +%pragma(java) jniclasscode=%{ + static { + try { + System.loadLibrary("scigraphic_objects"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native library failed to load. \n" + e); + System.exit(1); + } + } +%} + + +%typemap(jni) double * "jobject" +%typemap(jtype) double * "Object" +%typemap(jstype) double * "Object" +%typemap(javain) double * "$javainput" +%typemap(javaout) double * { return $jnicall; } + +%typemap(in) double * { + $1 = (*jenv)->GetDoubleArrayElements(jenv, $input, NULL); +} + +%typemap(argout) double * { + (*jenv)->ReleaseDoubleArrayElements(jenv, $input, $1, 0); +} + +%typemap(jni) int * "jobject" +%typemap(jtype) int * "Object" +%typemap(jstype) int * "Object" +%typemap(javain) int * "$javainput" +%typemap(javaout) int * { return $jnicall; } + +%typemap(in) int * { + $1 = (*jenv)->GetIntArrayElements(jenv, $input, NULL); +} + +%typemap(argout) int * { + (*jenv)->ReleaseIntArrayElements(jenv, $input, $1, 0); +} + +%typemap(out) double * CHAMPX { + $result = (*jenv)->NewDoubleArray(jenv, _getChampXSize(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, _getChampXSize(arg1), $1); +} + +%apply double * CHAMPX { double * getChampX(int uid)} + + +%{ + +#include "returnType.h" +#include "getGraphicObjectProperty.h" +#include "setGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +#include "MALLOC.h" +#include "math.h" + +double * getChampX(int uid) +{ + double * vx; + getGraphicObjectProperty(uid, __GO_BASE_X__, jni_double_vector, (void**)&vx); + return vx; +} + +int _getChampXSize(int uid) { + + int * dimension; + getGraphicObjectProperty(uid, __GO_CHAMP_DIMENSIONS__, jni_int_vector, (void**)&dimension); + return dimension[0]; +} +%} + + + +%typemap(out) double * CHAMPY { + $result = (*jenv)->NewDoubleArray(jenv, _getChampYSize(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, _getChampYSize(arg1), $1); +} + +%apply double * CHAMPY { double * getChampY(int uid) } +%{ + +double * getChampY(int uid) { + + double * vy; + getGraphicObjectProperty(uid, __GO_BASE_Y__, jni_double_vector, (void**)&vy); + return vy; +} + +int _getChampYSize(int uid) { + + int * dimension; + getGraphicObjectProperty(uid, __GO_CHAMP_DIMENSIONS__, jni_int_vector, (void**)&dimension); + return dimension[1]; +} +%} + + + +%typemap(out) double * ARROWS { + $result = (*jenv)->NewDoubleArray(jenv, _getArrowsSize(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, _getArrowsSize(arg1), $1); +} + +%apply double * ARROWS { double * getArrows(int uid) } +%{ + +double * getArrows(int uid) { + + double * arrows; + getGraphicObjectProperty(uid, __GO_DIRECTION__, jni_double_vector, (void**)&arrows); + return arrows; +} + +int _getArrowsSize(int uid) { + + int numArrows; + int * pNumArrows = &numArrows; + getGraphicObjectProperty(uid, __GO_NUMBER_ARROWS__, jni_int, (void**)&pNumArrows); + return numArrows * 3; +} +%} + + + +%typemap(out) double * SEGS { + $result = (*jenv)->NewDoubleArray(jenv, _getSegsSize(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, _getSegsSize(arg1), $1); +} + +%apply double * SEGS { double * getSegsData(int uid) } +%{ + +double * getSegsData(int uid) { + + double * data; + getGraphicObjectProperty(uid, __GO_BASE__, jni_double_vector, (void**)&data); + return data; +} + +int _getSegsSize(int uid) { + + int base; + int * pBase = &base; + getGraphicObjectProperty(uid, __GO_NUMBER_ARROWS__, jni_int, (void**)&pBase); + return base * 3; +} +%} + +%typemap(out) double * FEC { + $result = (*jenv)->NewDoubleArray(jenv, _getFecElementsSize(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, _getFecElementsSize(arg1), $1); +} + +%apply double * FEC { double * getFecElements(int uid) } +%{ + +double * getFecElements(int uid) { + + double * elements; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_FEC_ELEMENTS__, jni_double_vector, (void**)&elements); + return elements; +} + +int _getFecElementsSize(int uid) { + + int indices; + int * pIndices = &indices; + int nVertex = 0; + int* piNVertex = &nVertex; + + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_INDICES__, jni_int, (void**)&pIndices); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__, jni_int, (void**) &piNVertex); + + return indices * (nVertex + 2); +} + +int getFecNumVerticesByElement(int uid) { + + int nVertex = 0; + int* piNVertex = &nVertex; + + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__, jni_int, (void**) &piNVertex); + + return nVertex; +} + +%} + +%typemap(out) double * FEC_XY { + $result = (*jenv)->NewDoubleArray(jenv, _getFecDataSize(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, _getFecDataSize(arg1), $1); +} + +%apply double * FEC_XY { double * getFecData(int uid) } +%{ + +double * getFecData(int uid) { + + double * data; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_COORDINATES__, jni_double_vector, (void**)&data); + return data; +} + +int _getFecDataSize(int uid) { + + int size; + int * pSize = &size; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_VERTICES__, jni_int, (void**)&pSize); + return size * 3; +} + +%} + + +%typemap(out) double * ARC_ULP { + $result = (*jenv)->NewDoubleArray(jenv, 3); + (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, 3, $1); +} + +%apply double * ARC_ULP { double * getArcUpperLeftPoint(int uid) } +%{ + +double * getArcUpperLeftPoint(int uid) { + + double * upperLeftPoint; + getGraphicObjectProperty(uid, __GO_UPPER_LEFT_POINT__, jni_double_vector, (void**)&upperLeftPoint); + return upperLeftPoint; +} + +%} + +%typemap(out) double * ARC_DATA { + $result = (*jenv)->NewDoubleArray(jenv, 4); + (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, 4, $1); +} + +%apply double * ARC_DATA { double * getArcData(int uid) } +%{ + +double * getArcData(int uid) { + + double * data = (double *)MALLOC(sizeof(double)*4); + double value; + double * temp = &value; + getGraphicObjectProperty(uid, __GO_HEIGHT__, jni_double, (void**)&temp); + data[0] = value; + getGraphicObjectProperty(uid, __GO_WIDTH__, jni_double, (void**)&temp); + data[1] = value; + getGraphicObjectProperty(uid, __GO_START_ANGLE__, jni_double, (void**)&temp); + data[2] = value; + getGraphicObjectProperty(uid, __GO_END_ANGLE__, jni_double, (void**)&temp); + data[3] = value; + return data; +} + +%} + + +double * getChampX(int uid); +double * getChampY(int uid); +double * getArrows(int uid); +double * getSegsData(int uid); +double * getFecElements(int uid); +double * getFecData(int uid); +double * getArcUpperLeftPoint(int uid); +double * getArcData(int uid); +int getFecNumVerticesByElement(int uid); diff --git a/modules/graphic_objects/src/jni/ObjectData_wrap.c b/modules/graphic_objects/src/jni/ObjectData_wrap.c new file mode 100755 index 000000000..f46629111 --- /dev/null +++ b/modules/graphic_objects/src/jni/ObjectData_wrap.c @@ -0,0 +1,500 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.7 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + +#define SWIGJAVA + +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + + +/* Fix for jlong on some versions of gcc on Windows */ +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) + typedef long long __int64; +#endif + +/* Fix for jlong on 64-bit x86 Solaris */ +#if defined(__x86_64) +# ifdef _LP64 +# undef _LP64 +# endif +#endif + +#include <jni.h> +#include <stdlib.h> +#include <string.h> + + +/* Support for throwing Java exceptions */ +typedef enum { + SWIG_JavaOutOfMemoryError = 1, + SWIG_JavaIOException, + SWIG_JavaRuntimeException, + SWIG_JavaIndexOutOfBoundsException, + SWIG_JavaArithmeticException, + SWIG_JavaIllegalArgumentException, + SWIG_JavaNullPointerException, + SWIG_JavaDirectorPureVirtual, + SWIG_JavaUnknownError +} SWIG_JavaExceptionCodes; + +typedef struct { + SWIG_JavaExceptionCodes code; + const char *java_exception; +} SWIG_JavaExceptions_t; + + +static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) { + jclass excep; + static const SWIG_JavaExceptions_t java_exceptions[] = { + { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" }, + { SWIG_JavaIOException, "java/io/IOException" }, + { SWIG_JavaRuntimeException, "java/lang/RuntimeException" }, + { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" }, + { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" }, + { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" }, + { SWIG_JavaNullPointerException, "java/lang/NullPointerException" }, + { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" }, + { SWIG_JavaUnknownError, "java/lang/UnknownError" }, + { (SWIG_JavaExceptionCodes)0, "java/lang/UnknownError" } + }; + const SWIG_JavaExceptions_t *except_ptr = java_exceptions; + + while (except_ptr->code != code && except_ptr->code) + except_ptr++; + + (*jenv)->ExceptionClear(jenv); + excep = (*jenv)->FindClass(jenv, except_ptr->java_exception); + if (excep) + (*jenv)->ThrowNew(jenv, excep, msg); +} + + +/* Contract support */ + +#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else + + + +#include "returnType.h" +#include "getGraphicObjectProperty.h" +#include "setGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +#include "MALLOC.h" +#include "math.h" + +double * getChampX(int uid) +{ + double * vx; + getGraphicObjectProperty(uid, __GO_BASE_X__, jni_double_vector, (void**)&vx); + return vx; +} + +int _getChampXSize(int uid) { + + int * dimension; + getGraphicObjectProperty(uid, __GO_CHAMP_DIMENSIONS__, jni_int_vector, (void**)&dimension); + return dimension[0]; +} + + + +double * getChampY(int uid) { + + double * vy; + getGraphicObjectProperty(uid, __GO_BASE_Y__, jni_double_vector, (void**)&vy); + return vy; +} + +int _getChampYSize(int uid) { + + int * dimension; + getGraphicObjectProperty(uid, __GO_CHAMP_DIMENSIONS__, jni_int_vector, (void**)&dimension); + return dimension[1]; +} + + + +double * getArrows(int uid) { + + double * arrows; + getGraphicObjectProperty(uid, __GO_DIRECTION__, jni_double_vector, (void**)&arrows); + return arrows; +} + +int _getArrowsSize(int uid) { + + int numArrows; + int * pNumArrows = &numArrows; + getGraphicObjectProperty(uid, __GO_NUMBER_ARROWS__, jni_int, (void**)&pNumArrows); + return numArrows * 3; +} + + + +double * getSegsData(int uid) { + + double * data; + getGraphicObjectProperty(uid, __GO_BASE__, jni_double_vector, (void**)&data); + return data; +} + +int _getSegsSize(int uid) { + + int base; + int * pBase = &base; + getGraphicObjectProperty(uid, __GO_NUMBER_ARROWS__, jni_int, (void**)&pBase); + return base * 3; +} + + + +double * getFecElements(int uid) { + + double * elements; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_FEC_ELEMENTS__, jni_double_vector, (void**)&elements); + return elements; +} + +int _getFecElementsSize(int uid) { + + int indices; + int * pIndices = &indices; + int nVertex = 0; + int* piNVertex = &nVertex; + + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_INDICES__, jni_int, (void**)&pIndices); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__, jni_int, (void**) &piNVertex); + + return indices * (nVertex + 2); +} + +int getFecNumVerticesByElement(int uid) { + + int nVertex = 0; + int* piNVertex = &nVertex; + + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__, jni_int, (void**) &piNVertex); + + return nVertex; +} + + + + +double * getFecData(int uid) { + + double * data; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_COORDINATES__, jni_double_vector, (void**)&data); + return data; +} + +int _getFecDataSize(int uid) { + + int size; + int * pSize = &size; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_VERTICES__, jni_int, (void**)&pSize); + return size * 3; +} + + + + +double * getArcUpperLeftPoint(int uid) { + + double * upperLeftPoint; + getGraphicObjectProperty(uid, __GO_UPPER_LEFT_POINT__, jni_double_vector, (void**)&upperLeftPoint); + return upperLeftPoint; +} + + + + +double * getArcData(int uid) { + + double * data = (double *)MALLOC(sizeof(double)*4); + double value; + double * temp = &value; + getGraphicObjectProperty(uid, __GO_HEIGHT__, jni_double, (void**)&temp); + data[0] = value; + getGraphicObjectProperty(uid, __GO_WIDTH__, jni_double, (void**)&temp); + data[1] = value; + getGraphicObjectProperty(uid, __GO_START_ANGLE__, jni_double, (void**)&temp); + data[2] = value; + getGraphicObjectProperty(uid, __GO_END_ANGLE__, jni_double, (void**)&temp); + data[3] = value; + return data; +} + + + +#ifdef __cplusplus +extern "C" { +#endif + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_ObjectDataJNI_getChampX(JNIEnv *jenv, jclass jcls, jint jarg1) { + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getChampX(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, _getChampXSize(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, _getChampXSize(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_ObjectDataJNI_getChampY(JNIEnv *jenv, jclass jcls, jint jarg1) { + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getChampY(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, _getChampYSize(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, _getChampYSize(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_ObjectDataJNI_getArrows(JNIEnv *jenv, jclass jcls, jint jarg1) { + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getArrows(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, _getArrowsSize(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, _getArrowsSize(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_ObjectDataJNI_getSegsData(JNIEnv *jenv, jclass jcls, jint jarg1) { + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getSegsData(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, _getSegsSize(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, _getSegsSize(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_ObjectDataJNI_getFecElements(JNIEnv *jenv, jclass jcls, jint jarg1) { + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getFecElements(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, _getFecElementsSize(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, _getFecElementsSize(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_ObjectDataJNI_getFecData(JNIEnv *jenv, jclass jcls, jint jarg1) { + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getFecData(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, _getFecDataSize(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, _getFecDataSize(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_ObjectDataJNI_getArcUpperLeftPoint(JNIEnv *jenv, jclass jcls, jint jarg1) { + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getArcUpperLeftPoint(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, 3); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, 3, result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_ObjectDataJNI_getArcData(JNIEnv *jenv, jclass jcls, jint jarg1) { + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getArcData(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, 4); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, 4, result); + } + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_ObjectDataJNI_getFecNumVerticesByElement(JNIEnv *jenv, jclass jcls, jint jarg1) { + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)getFecNumVerticesByElement(arg1); + jresult = (jint)result; + return jresult; +} + + +#ifdef __cplusplus +} +#endif + diff --git a/modules/graphic_objects/src/jni/PolylineData.i b/modules/graphic_objects/src/jni/PolylineData.i new file mode 100755 index 000000000..25e87fa0a --- /dev/null +++ b/modules/graphic_objects/src/jni/PolylineData.i @@ -0,0 +1,416 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - Pedro Arthur dos S. Souza + * Copyright (C) 2012 - Caio Lucas dos S. Souza + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/* sci_types.i */ +/** + * Windows: swig -java -package org.scilab.modules.graphic_objects -outdir ../java/org/scilab/modules/graphic_objects/ PolylineData.i + * Other: Use the option --enable-build-swig to the configure +*/ + +%module PolylineData + + +%pragma(java) jniclasscode=%{ + static { + try { + System.loadLibrary("scigraphic_objects"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native library failed to load. \n" + e); + System.exit(1); + } + } +%} + + +%typemap(jni) double *BUF "jobject" +%typemap(jtype) double *BUF "Object" +%typemap(jstype) double *BUF "Object" +%typemap(javain) double *BUF "$javainput" +%typemap(javaout) double *BUF { return $jnicall; } + +%typemap(in) double *BUF { + $1 = (*jenv)->GetDoubleArrayElements(jenv, $input, NULL); +} + +%typemap(argout) double *BUF { + (*jenv)->ReleaseDoubleArrayElements(jenv, $input, $1, 0); +} + +%typemap(out) double *BUF { + $result = (*jenv)->NewDoubleArray(jenv, getDataSize_(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, getDataSize_(arg1), $1); +} + +%apply double *BUF { double * } + +%{ + +#include "createGraphicObject.h" +#include "deleteGraphicObject.h" +#include "returnType.h" +#include "getGraphicObjectProperty.h" +#include "setGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +#include "MALLOC.h" +#include "math.h" + +/*help funtion*/ +int getDataSize_(int uid) +{ + int size = 0; + int *j = &size; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**)&j); + return size; +} + +BOOL isZCoordSet(int uid) +{ + int result = 0; + int *pResult = &result; + + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Z_COORDINATES_SET__, jni_int, (void**)&pResult); + return (BOOL)result; +} + +double * getDataX(int uid) +{ + double *vec; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_X__, jni_double_vector, (void**)&vec); + return vec; +} +double * getDataY(int uid) +{ + double *vec; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Y__, jni_double_vector, (void**)&vec); + return vec; +} + +double * getDataZ(int uid) +{ + double *vec; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Z__, jni_double_vector, (void**)&vec); + return vec; +} + +double * getShiftX(int uid) +{ + double *vec; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_X_COORDINATES_SHIFT__, jni_double_vector, (void**)&vec); + return vec; +} + +double * getShiftY(int uid) +{ + double *vec; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Y_COORDINATES_SHIFT__, jni_double_vector, (void**)&vec); + return vec; +} + +double * getShiftZ(int uid) +{ + double *vec; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Z_COORDINATES_SHIFT__, jni_double_vector, (void**)&vec); + return vec; +} + +BOOL isXShiftSet(int uid) +{ + int b = 0; + int * pb = &b; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__, jni_int, (void**)&pb); + return b; +} + +BOOL isYShiftSet(int uid) +{ + int b = 0; + int * pb = &b; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__, jni_int, (void**)&pb); + return b; +} + +BOOL isZShiftSet(int uid) +{ + int b = 0; + int * pb = &b; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__, jni_int, (void**)&pb); + return b; +} + + +int createPolylineData(int uidFrom, int uidTo) +{ + double *dataFrom, *dataTo; + int n[2]; + int size = 63; + int *tmp = &size; + BOOL result; + + int polylineID = createDataObject(uidTo, __GO_POLYLINE__); + if (polylineID == NULL) + { + return NULL; + } + + getGraphicObjectProperty(uidFrom, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**)&tmp); + n[0] = 1; n[1] = size; + + result = setGraphicObjectProperty(polylineID, __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__, &n, jni_int_vector, 2); + if (result == FALSE) + { + deleteDataObject(polylineID); + return NULL; + } + + getGraphicObjectProperty(uidFrom, __GO_DATA_MODEL_X__, jni_double_vector, (void**)&dataFrom); + getGraphicObjectProperty(uidTo, __GO_DATA_MODEL_X__, jni_double_vector, (void**)&dataTo); + + memcpy(dataTo, dataFrom, sizeof(double)*3*size); + return uidTo; + +} + +BOOL translatePolyline(int uid, double x, double y, double z, int flagX, int flagY, int flagZ) +{ + double *datax = NULL; + double *datay = NULL; + double *dataz = NULL; + + int i = 0; + if (x != 0.0) + { + datax = getDataX(uid); + if (datax == NULL) return FALSE; + if (flagX) { + for (i = 0; i < getDataSize_(uid); ++i) + { + datax[i] = pow(10.,log10(datax[i]) + x); + } + } else { + for (i = 0; i < getDataSize_(uid); ++i) + { + datax[i] += x; + } + } + } + if (y != 0.0) + { + datay = getDataY(uid); + if (datay == NULL) return FALSE; + if (flagY) { + for (i = 0; i < getDataSize_(uid); ++i) + { + datay[i] = pow(10.,log10(datay[i]) + y); + } + } else { + for (i = 0; i < getDataSize_(uid); ++i) + { + datay[i] += y; + } + } + } + if (z != 0 && isZCoordSet(uid)) + { + if (flagZ) { + for (i = 0; i < getDataSize_(uid); ++i) + { + dataz[i] = pow(10.,log10(dataz[i]) + z); + } + } else { + for (i = 0; i < getDataSize_(uid); ++i) + { + dataz[i] += z; + } + } + } + + return TRUE; +} + +BOOL translatePoint(int uid, int index, double x, double y, double z, int flagX, int flagY, int flagZ) +{ + double *datax = NULL; + double *datay = NULL; + double *dataz = NULL; + + int size = getDataSize_(uid); + + if (index >= 0 && index < size) + { + datax = getDataX(uid); + if (datax == NULL) return FALSE; + datay = getDataY(uid); + if (datay == NULL) return FALSE; + + if (flagX) { + datax[index] *= pow(10., x); + } else { + datax[index] += x; + } + + if (flagY) { + datay[index] *= pow(10., y); + } else { + datay[index] += y; + } + + if (z != 0 && isZCoordSet(uid)) + { + dataz = getDataZ(uid); + if (flagZ) { + dataz[index] *= pow(10., z); + } else { + dataz[index] += z; + } + } + } + /*update*/ + setGraphicObjectProperty(uid, __GO_DATA_MODEL__, &uid, jni_int, 1); + return TRUE; +} + +BOOL setPointValue(int uid, int index, double x, double y, double z) +{ + double *datax = NULL; + double *datay = NULL; + double *dataz = NULL; + + int size = getDataSize_(uid); + + + if (index >= 0 && index < size) + { + datax = getDataX(uid); + if (datax == NULL) return FALSE; + datay = getDataY(uid); + if (datay == NULL) return FALSE; + + datax[index] = x; + datay[index] = y; + + if (z != 0 && isZCoordSet(uid)) + { + dataz = getDataZ(uid); + dataz[index] = z; + } + } + /*update*/ + setGraphicObjectProperty(uid, __GO_DATA_MODEL__, &uid, jni_int, 1); + return TRUE; +} + +BOOL insertPoint(int uid, int index, double x, double y, double z) +{ + double *curData, *newData; + int size = getDataSize_(uid); + BOOL result; + int i ,j, n[2]; + + // -1 = inset before the first element + if (index >= size || index < -1) return FALSE; + + curData = getDataX(uid); + if (curData == NULL) return FALSE; + + newData = MALLOC(sizeof(double)*3*(size+1)); + if (newData == NULL) return FALSE; + + j = index == -1 ? 1 : 0; + for (i = 0; i < size; ++i, ++j) + { + newData[j] = curData[i]; + newData[(size+1)+j] = curData[size+i]; + newData[(size+1)*2+j] = curData[size*2+i]; + if (i == index) + ++j; + } + + newData[index+1] = x; + newData[size+index+2] = y; + if (isZCoordSet(uid)) + { + newData[(size+1)*2+index+1] = z; + } + else + { + newData[(size+1)*2+index+1] = 0.0; + } + + n[0] = 1; n[1] = size+1; + + result = setGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__, &n, jni_int_vector, 2); + setGraphicObjectProperty(uid, __GO_DATA_MODEL_COORDINATES__, newData, jni_double_vector, size+1); + + FREE(newData); + return TRUE; +} + +BOOL removePoint(int uid, int index) +{ + double *curData, *newData; + int size = getDataSize_(uid); + BOOL result; + int i ,j, n[2]; + + if (index >= size || index < 0) return FALSE; + + curData = getDataX(uid); + if (curData == NULL) return FALSE; + + newData = MALLOC(sizeof(double)*3*(size-1)); + if (newData == NULL) return FALSE; + + j = 0; + for (i = 0; i < size; ++i, ++j) + { + if (i == index) + { + --j; + continue; + } + + newData[j] = curData[i]; + newData[(size-1)+j] = curData[size+i]; + newData[(size-1)*2+j] = curData[size*2+i]; + } + + n[0] = 1; n[1] = size-1; + result = setGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__, &n, jni_int_vector, 2); + setGraphicObjectProperty(uid, __GO_DATA_MODEL_COORDINATES__, newData, jni_double_vector, size-1); + + FREE(newData); + return TRUE; +} +%} + + +double * getDataX(int uid); +double * getDataY(int uid); +double * getDataZ(int uid); +double * getShiftX(int uid); +double * getShiftY(int uid); +double * getShiftZ(int uid); +int isZCoordSet(int uid); +int isXShiftSet(int uid); +int isYShiftSet(int uid); +int isZShiftSet(int uid); +int createPolylineData(int uidFrom, int uidTo); +int translatePolyline(int uid, double x, double y, double z, int flagX, int flagY, int flagZ); +int translatePoint(int uid, int index, double x, double y, double z, int flagX, int flagY, int flagZ); +int setPointValue(int uid, int index, double x, double y, double z); +int insertPoint(int uid, int index, double x, double y, double z); +int removePoint(int uid, int index); + + + + diff --git a/modules/graphic_objects/src/jni/PolylineData_wrap.c b/modules/graphic_objects/src/jni/PolylineData_wrap.c new file mode 100755 index 000000000..dbb82553e --- /dev/null +++ b/modules/graphic_objects/src/jni/PolylineData_wrap.c @@ -0,0 +1,907 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.10 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + +#define SWIGJAVA + +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + + +/* Fix for jlong on some versions of gcc on Windows */ +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) +typedef long long __int64; +#endif + +/* Fix for jlong on 64-bit x86 Solaris */ +#if defined(__x86_64) +# ifdef _LP64 +# undef _LP64 +# endif +#endif + +#include <jni.h> +#include <stdlib.h> +#include <string.h> + + +/* Support for throwing Java exceptions */ +typedef enum +{ + SWIG_JavaOutOfMemoryError = 1, + SWIG_JavaIOException, + SWIG_JavaRuntimeException, + SWIG_JavaIndexOutOfBoundsException, + SWIG_JavaArithmeticException, + SWIG_JavaIllegalArgumentException, + SWIG_JavaNullPointerException, + SWIG_JavaDirectorPureVirtual, + SWIG_JavaUnknownError +} SWIG_JavaExceptionCodes; + +typedef struct +{ + SWIG_JavaExceptionCodes code; + const char *java_exception; +} SWIG_JavaExceptions_t; + + +static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) +{ + jclass excep; + static const SWIG_JavaExceptions_t java_exceptions[] = + { + { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" }, + { SWIG_JavaIOException, "java/io/IOException" }, + { SWIG_JavaRuntimeException, "java/lang/RuntimeException" }, + { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" }, + { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" }, + { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" }, + { SWIG_JavaNullPointerException, "java/lang/NullPointerException" }, + { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" }, + { SWIG_JavaUnknownError, "java/lang/UnknownError" }, + { (SWIG_JavaExceptionCodes)0, "java/lang/UnknownError" } + }; + const SWIG_JavaExceptions_t *except_ptr = java_exceptions; + + while (except_ptr->code != code && except_ptr->code) + { + except_ptr++; + } + + (*jenv)->ExceptionClear(jenv); + excep = (*jenv)->FindClass(jenv, except_ptr->java_exception); + if (excep) + { + (*jenv)->ThrowNew(jenv, excep, msg); + } +} + + +/* Contract support */ + +#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else + + + +#include "createGraphicObject.h" +#include "deleteGraphicObject.h" +#include "returnType.h" +#include "getGraphicObjectProperty.h" +#include "setGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +#include "MALLOC.h" +#include "math.h" + +/*help funtion*/ +int getDataSize_(int uid) +{ + int size = 0; + int *j = &size; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**)&j); + return size; +} + +BOOL isZCoordSet(int uid) +{ + int result = 0; + int *pResult = &result; + + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Z_COORDINATES_SET__, jni_int, (void**)&pResult); + return (BOOL)result; +} + +double * getDataX(int uid) +{ + double *vec; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_X__, jni_double_vector, (void**)&vec); + return vec; +} +double * getDataY(int uid) +{ + double *vec; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Y__, jni_double_vector, (void**)&vec); + return vec; +} + +double * getDataZ(int uid) +{ + double *vec; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Z__, jni_double_vector, (void**)&vec); + return vec; +} + +double * getShiftX(int uid) +{ + double *vec; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_X_COORDINATES_SHIFT__, jni_double_vector, (void**)&vec); + return vec; +} + +double * getShiftY(int uid) +{ + double *vec; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Y_COORDINATES_SHIFT__, jni_double_vector, (void**)&vec); + return vec; +} + +double * getShiftZ(int uid) +{ + double *vec; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Z_COORDINATES_SHIFT__, jni_double_vector, (void**)&vec); + return vec; +} + +BOOL isXShiftSet(int uid) +{ + int b = 0; + int * pb = &b; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__, jni_int, (void**)&pb); + return b; +} + +BOOL isYShiftSet(int uid) +{ + int b = 0; + int * pb = &b; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__, jni_int, (void**)&pb); + return b; +} + +BOOL isZShiftSet(int uid) +{ + int b = 0; + int * pb = &b; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__, jni_int, (void**)&pb); + return b; +} + + +int createPolylineData(int uidFrom, int uidTo) +{ + double *dataFrom, *dataTo; + int n[2]; + int size = 63; + int *tmp = &size; + BOOL result; + + int polylineID = createDataObject(uidTo, __GO_POLYLINE__); + if (polylineID == NULL) + { + return NULL; + } + + getGraphicObjectProperty(uidFrom, __GO_DATA_MODEL_NUM_ELEMENTS__, jni_int, (void**)&tmp); + n[0] = 1; + n[1] = size; + + result = setGraphicObjectProperty(polylineID, __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__, &n, jni_int_vector, 2); + if (result == FALSE) + { + deleteDataObject(polylineID); + return NULL; + } + + getGraphicObjectProperty(uidFrom, __GO_DATA_MODEL_X__, jni_double_vector, (void**)&dataFrom); + getGraphicObjectProperty(uidTo, __GO_DATA_MODEL_X__, jni_double_vector, (void**)&dataTo); + + memcpy(dataTo, dataFrom, sizeof(double) * 3 * size); + return uidTo; + +} + +BOOL translatePolyline(int uid, double x, double y, double z, int flagX, int flagY, int flagZ) +{ + double *datax = NULL; + double *datay = NULL; + double *dataz = NULL; + + int i = 0; + if (x != 0.0) + { + datax = getDataX(uid); + if (datax == NULL) + { + return FALSE; + } + if (flagX) + { + for (i = 0; i < getDataSize_(uid); ++i) + { + datax[i] = pow(10., log10(datax[i]) + x); + } + } + else + { + for (i = 0; i < getDataSize_(uid); ++i) + { + datax[i] += x; + } + } + } + if (y != 0.0) + { + datay = getDataY(uid); + if (datay == NULL) + { + return FALSE; + } + if (flagY) + { + for (i = 0; i < getDataSize_(uid); ++i) + { + datay[i] = pow(10., log10(datay[i]) + y); + } + } + else + { + for (i = 0; i < getDataSize_(uid); ++i) + { + datay[i] += y; + } + } + } + if (z != 0 && isZCoordSet(uid)) + { + if (flagZ) + { + for (i = 0; i < getDataSize_(uid); ++i) + { + dataz[i] = pow(10., log10(dataz[i]) + z); + } + } + else + { + for (i = 0; i < getDataSize_(uid); ++i) + { + dataz[i] += z; + } + } + } + + return TRUE; +} + +BOOL translatePoint(int uid, int index, double x, double y, double z, int flagX, int flagY, int flagZ) +{ + double *datax = NULL; + double *datay = NULL; + double *dataz = NULL; + + int size = getDataSize_(uid); + + if (index >= 0 && index < size) + { + datax = getDataX(uid); + if (datax == NULL) + { + return FALSE; + } + datay = getDataY(uid); + if (datay == NULL) + { + return FALSE; + } + + if (flagX) + { + datax[index] *= pow(10., x); + } + else + { + datax[index] += x; + } + + if (flagY) + { + datay[index] *= pow(10., y); + } + else + { + datay[index] += y; + } + + if (z != 0 && isZCoordSet(uid)) + { + dataz = getDataZ(uid); + if (flagZ) + { + dataz[index] *= pow(10., z); + } + else + { + dataz[index] += z; + } + } + } + /*update*/ + setGraphicObjectProperty(uid, __GO_DATA_MODEL__, &uid, jni_int, 1); + return TRUE; +} + +BOOL setPointValue(int uid, int index, double x, double y, double z) +{ + double *datax = NULL; + double *datay = NULL; + double *dataz = NULL; + + int size = getDataSize_(uid); + + + if (index >= 0 && index < size) + { + datax = getDataX(uid); + if (datax == NULL) + { + return FALSE; + } + datay = getDataY(uid); + if (datay == NULL) + { + return FALSE; + } + + datax[index] = x; + datay[index] = y; + + if (z != 0 && isZCoordSet(uid)) + { + dataz = getDataZ(uid); + dataz[index] = z; + } + } + /*update*/ + setGraphicObjectProperty(uid, __GO_DATA_MODEL__, &uid, jni_int, 1); + return TRUE; +} + +BOOL insertPoint(int uid, int index, double x, double y, double z) +{ + double *curData, *newData; + int size = getDataSize_(uid); + BOOL result; + int i , j, n[2]; + + // -1 = inset before the first element + if (index >= size || index < -1) + { + return FALSE; + } + + curData = getDataX(uid); + if (curData == NULL) + { + return FALSE; + } + + newData = MALLOC(sizeof(double) * 3 * (size + 1)); + if (newData == NULL) + { + return FALSE; + } + + j = index == -1 ? 1 : 0; + for (i = 0; i < size; ++i, ++j) + { + newData[j] = curData[i]; + newData[(size + 1) + j] = curData[size + i]; + newData[(size + 1) * 2 + j] = curData[size * 2 + i]; + if (i == index) + { + ++j; + } + } + + newData[index + 1] = x; + newData[size + index + 2] = y; + if (isZCoordSet(uid)) + { + newData[(size + 1) * 2 + index + 1] = z; + } + else + { + newData[(size + 1) * 2 + index + 1] = 0.0; + } + + n[0] = 1; + n[1] = size + 1; + + result = setGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__, &n, jni_int_vector, 2); + setGraphicObjectProperty(uid, __GO_DATA_MODEL_COORDINATES__, newData, jni_double_vector, size + 1); + + FREE(newData); + return TRUE; +} + +BOOL removePoint(int uid, int index) +{ + double *curData, *newData; + int size = getDataSize_(uid); + BOOL result; + int i , j, n[2]; + + if (index >= size || index < 0) + { + return FALSE; + } + + curData = getDataX(uid); + if (curData == NULL) + { + return FALSE; + } + + newData = MALLOC(sizeof(double) * 3 * (size - 1)); + if (newData == NULL) + { + return FALSE; + } + + j = 0; + for (i = 0; i < size; ++i, ++j) + { + if (i == index) + { + --j; + continue; + } + + newData[j] = curData[i]; + newData[(size - 1) + j] = curData[size + i]; + newData[(size - 1) * 2 + j] = curData[size * 2 + i]; + } + + n[0] = 1; + n[1] = size - 1; + result = setGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__, &n, jni_int_vector, 2); + setGraphicObjectProperty(uid, __GO_DATA_MODEL_COORDINATES__, newData, jni_double_vector, size - 1); + + FREE(newData); + return TRUE; +} + + +#ifdef __cplusplus +extern "C" { +#endif + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_getDataX(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getDataX(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, getDataSize_(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, getDataSize_(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_getDataY(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getDataY(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, getDataSize_(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, getDataSize_(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_getDataZ(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getDataZ(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, getDataSize_(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, getDataSize_(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_getShiftX(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getShiftX(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, getDataSize_(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, getDataSize_(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_getShiftY(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getShiftY(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, getDataSize_(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, getDataSize_(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_getShiftZ(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getShiftZ(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, getDataSize_(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, getDataSize_(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_isZCoordSet(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)isZCoordSet(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_isXShiftSet(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)isXShiftSet(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_isYShiftSet(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)isYShiftSet(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_isZShiftSet(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)isZShiftSet(arg1); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_createPolylineData(JNIEnv *jenv, jclass jcls, jint jarg1, jint jarg2) +{ + jint jresult = 0 ; + int arg1 ; + int arg2 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + arg2 = (int)jarg2; + result = (int)createPolylineData(arg1, arg2); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_translatePolyline(JNIEnv *jenv, jclass jcls, jint jarg1, jdouble jarg2, jdouble jarg3, jdouble jarg4, jint jarg5, jint jarg6, jint jarg7) +{ + jint jresult = 0 ; + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + int arg5 ; + int arg6 ; + int arg7 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + arg2 = (double)jarg2; + arg3 = (double)jarg3; + arg4 = (double)jarg4; + arg5 = (int)jarg5; + arg6 = (int)jarg6; + arg7 = (int)jarg7; + result = (int)translatePolyline(arg1, arg2, arg3, arg4, arg5, arg6, arg7); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_translatePoint(JNIEnv *jenv, jclass jcls, jint jarg1, jint jarg2, jdouble jarg3, jdouble jarg4, jdouble jarg5, jint jarg6, jint jarg7, jint jarg8) +{ + jint jresult = 0 ; + int arg1 ; + int arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + int arg6 ; + int arg7 ; + int arg8 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + arg2 = (int)jarg2; + arg3 = (double)jarg3; + arg4 = (double)jarg4; + arg5 = (double)jarg5; + arg6 = (int)jarg6; + arg7 = (int)jarg7; + arg8 = (int)jarg8; + result = (int)translatePoint(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_setPointValue(JNIEnv *jenv, jclass jcls, jint jarg1, jint jarg2, jdouble jarg3, jdouble jarg4, jdouble jarg5) +{ + jint jresult = 0 ; + int arg1 ; + int arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + arg2 = (int)jarg2; + arg3 = (double)jarg3; + arg4 = (double)jarg4; + arg5 = (double)jarg5; + result = (int)setPointValue(arg1, arg2, arg3, arg4, arg5); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_insertPoint(JNIEnv *jenv, jclass jcls, jint jarg1, jint jarg2, jdouble jarg3, jdouble jarg4, jdouble jarg5) +{ + jint jresult = 0 ; + int arg1 ; + int arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + arg2 = (int)jarg2; + arg3 = (double)jarg3; + arg4 = (double)jarg4; + arg5 = (double)jarg5; + result = (int)insertPoint(arg1, arg2, arg3, arg4, arg5); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_PolylineDataJNI_removePoint(JNIEnv *jenv, jclass jcls, jint jarg1, jint jarg2) +{ + jint jresult = 0 ; + int arg1 ; + int arg2 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + arg2 = (int)jarg2; + result = (int)removePoint(arg1, arg2); + jresult = (jint)result; + return jresult; +} + + +#ifdef __cplusplus +} +#endif + diff --git a/modules/graphic_objects/src/jni/ScilabNativeView.i b/modules/graphic_objects/src/jni/ScilabNativeView.i new file mode 100755 index 000000000..15f011058 --- /dev/null +++ b/modules/graphic_objects/src/jni/ScilabNativeView.i @@ -0,0 +1,40 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +/** + * Windows: swig -java -package org.scilab.modules.graphic_objects -outdir ../java/org/scilab/modules/graphic_objects/ ScilabNativeView.i + * Other: Use the option --enable-build-swig to the configure +*/ + +%module ScilabNativeView + +%pragma(java) jniclasscode=%{ + static { + try { + System.loadLibrary("scigraphic_objects"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native library failed to load. \n" + e); + System.exit(1); + } + } +%} + +%inline %{ + extern void ScilabNativeView__createObject(int id); + extern void ScilabNativeView__deleteObject(int id); + extern void ScilabNativeView__updateObject(int id, int iProperty); + extern void ScilabNativeView__setCurrentFigure(int id); + extern void ScilabNativeView__setCurrentSubWin(int id); + extern void ScilabNativeView__setCurrentObject(int id); + extern int ScilabNativeView__getValidDefaultFigureId(); + extern int ScilabNativeView__getFigureFromIndex(int figNum); + %} diff --git a/modules/graphic_objects/src/jni/ScilabNativeView_wrap.c b/modules/graphic_objects/src/jni/ScilabNativeView_wrap.c new file mode 100755 index 000000000..aa0f32e96 --- /dev/null +++ b/modules/graphic_objects/src/jni/ScilabNativeView_wrap.c @@ -0,0 +1,311 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.11 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + +#define SWIGJAVA + +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + + +/* Fix for jlong on some versions of gcc on Windows */ +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) +typedef long long __int64; +#endif + +/* Fix for jlong on 64-bit x86 Solaris */ +#if defined(__x86_64) +# ifdef _LP64 +# undef _LP64 +# endif +#endif + +#include <jni.h> +#include <stdlib.h> +#include <string.h> + + +/* Support for throwing Java exceptions */ +typedef enum +{ + SWIG_JavaOutOfMemoryError = 1, + SWIG_JavaIOException, + SWIG_JavaRuntimeException, + SWIG_JavaIndexOutOfBoundsException, + SWIG_JavaArithmeticException, + SWIG_JavaIllegalArgumentException, + SWIG_JavaNullPointerException, + SWIG_JavaDirectorPureVirtual, + SWIG_JavaUnknownError +} SWIG_JavaExceptionCodes; + +typedef struct +{ + SWIG_JavaExceptionCodes code; + const char *java_exception; +} SWIG_JavaExceptions_t; + + +static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) +{ + jclass excep; + static const SWIG_JavaExceptions_t java_exceptions[] = + { + { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" }, + { SWIG_JavaIOException, "java/io/IOException" }, + { SWIG_JavaRuntimeException, "java/lang/RuntimeException" }, + { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" }, + { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" }, + { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" }, + { SWIG_JavaNullPointerException, "java/lang/NullPointerException" }, + { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" }, + { SWIG_JavaUnknownError, "java/lang/UnknownError" }, + { (SWIG_JavaExceptionCodes)0, "java/lang/UnknownError" } + }; + const SWIG_JavaExceptions_t *except_ptr = java_exceptions; + + while (except_ptr->code != code && except_ptr->code) + { + except_ptr++; + } + + (*jenv)->ExceptionClear(jenv); + excep = (*jenv)->FindClass(jenv, except_ptr->java_exception); + if (excep) + { + (*jenv)->ThrowNew(jenv, excep, msg); + } +} + + +/* Contract support */ + +#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else + + +extern void ScilabNativeView__createObject(int id); +extern void ScilabNativeView__deleteObject(int id); +extern void ScilabNativeView__updateObject(int id, int iProperty); +extern void ScilabNativeView__setCurrentFigure(int id); +extern void ScilabNativeView__setCurrentSubWin(int id); +extern void ScilabNativeView__setCurrentObject(int id); +extern int ScilabNativeView__getValidDefaultFigureId(); +extern int ScilabNativeView__getFigureFromIndex(int figNum); + + +#ifdef __cplusplus +extern "C" { +#endif + +SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1createObject(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + int arg1 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + ScilabNativeView__createObject(arg1); +} + + +SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1deleteObject(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + int arg1 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + ScilabNativeView__deleteObject(arg1); +} + + +SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1updateObject(JNIEnv *jenv, jclass jcls, jint jarg1, jint jarg2) +{ + int arg1 ; + int arg2 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + arg2 = (int)jarg2; + ScilabNativeView__updateObject(arg1, arg2); +} + + +SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1setCurrentFigure(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + int arg1 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + ScilabNativeView__setCurrentFigure(arg1); +} + + +SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1setCurrentSubWin(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + int arg1 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + ScilabNativeView__setCurrentSubWin(arg1); +} + + +SWIGEXPORT void JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1setCurrentObject(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + int arg1 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + ScilabNativeView__setCurrentObject(arg1); +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1getValidDefaultFigureId(JNIEnv *jenv, jclass jcls) +{ + jint jresult = 0 ; + int result; + + (void)jenv; + (void)jcls; + result = (int)ScilabNativeView__getValidDefaultFigureId(); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_ScilabNativeViewJNI_ScilabNativeView_1_1getFigureFromIndex(JNIEnv *jenv, jclass jcls, jint jarg1) +{ + jint jresult = 0 ; + int arg1 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (int)ScilabNativeView__getFigureFromIndex(arg1); + jresult = (jint)result; + return jresult; +} + + +#ifdef __cplusplus +} +#endif + diff --git a/modules/graphic_objects/src/jni/SurfaceData.i b/modules/graphic_objects/src/jni/SurfaceData.i new file mode 100755 index 000000000..6e63e3c1d --- /dev/null +++ b/modules/graphic_objects/src/jni/SurfaceData.i @@ -0,0 +1,186 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2012 - Pedro Arthur dos S. Souza + * Copyright (C) 2012 - Caio Lucas dos S. Souza + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +%module SurfaceData + + +%pragma(java) jniclasscode=%{ + static { + try { + System.loadLibrary("scigraphic_objects"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native library failed to load. \n" + e); + System.exit(1); + } + } +%} + +%typemap(jni) double * "jobject" +%typemap(jtype) double * "Object" +%typemap(jstype) double * "Object" +%typemap(javain) double * "$javainput" +%typemap(javaout) double * { return $jnicall; } + +%typemap(in) double * getSurfDataX { + $1 = (*jenv)->GetDoubleArrayElements(jenv, $input, NULL); +} +%typemap(argout) double * getSurfDataX { + (*jenv)->ReleaseDoubleArrayElements(jenv, $input, $1, 0); +} +%typemap(out) double * getSurfDataX { + $result = (*jenv)->NewDoubleArray(jenv, getDataSizeX(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, getDataSizeX(arg1), $1); +} + +%typemap(in) double * getSurfDataY { + $1 = (*jenv)->GetDoubleArrayElements(jenv, $input, NULL); +} +%typemap(argout) double * getSurfDataY { + (*jenv)->ReleaseDoubleArrayElements(jenv, $input, $1, 0); +} +%typemap(out) double * getSurfDataY { + $result = (*jenv)->NewDoubleArray(jenv, getDataSizeY(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, getDataSizeY(arg1), $1); +} + +%typemap(in) double * getSurfDataZ { + $1 = (*jenv)->GetDoubleArrayElements(jenv, $input, NULL); +} +%typemap(argout) double * getSurfDataZ { + (*jenv)->ReleaseDoubleArrayElements(jenv, $input, $1, 0); +} +%typemap(out) double * getSurfDataZ { + $result = (*jenv)->NewDoubleArray(jenv, getDataSizeZ(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, getDataSizeZ(arg1), $1); +} + +%{ +#include "returnType.h" +#include "getGraphicObjectProperty.h" +#include "setGraphicObjectProperty.h" +#include "graphicObjectProperties.h" +%} + +%{ +double * getSurfDataX(int uid) +{ + double * X; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_X__, jni_double_vector, (void**) &X); + return X; +} + +int getDataSizeX(int uid) +{ + int type, size = 0, nGon = 0, nVert = 0; + int * pType = &type; + int * pSize = &size; + int * pNGon = &nGon; + int * pNVert = &nVert; + getGraphicObjectProperty(uid, __GO_TYPE__, jni_int, (void**) &pType); + + switch(type) + { + case __GO_PLOT3D__: + case __GO_GRAYPLOT__: + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &pSize); + break; + case __GO_FAC3D__: + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &pNGon); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &pNVert); + size = nGon * nVert; + break; + } + return size; +} +%} + +%{ +double * getSurfDataY(int uid) +{ + double * Y; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Y__, jni_double_vector, (void**) &Y); + return Y; +} + +int getDataSizeY(int uid) +{ + int type, size = 0, nGon = 0, nVert = 0; + int * pType = &type; + int * pSize = &size; + int * pNGon = &nGon; + int * pNVert = &nVert; + getGraphicObjectProperty(uid, __GO_TYPE__, jni_int, (void**) &pType); + + switch(type) + { + case __GO_PLOT3D__: + case __GO_GRAYPLOT__: + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &pSize); + break; + case __GO_FAC3D__: + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &pNGon); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &pNVert); + size = nGon * nVert; + break; + } + return size; +} +%} + +%{ +double * getSurfDataZ(int uid) +{ + double * Z; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &Z); + return Z; +} + +int getDataSizeZ(int uid) +{ + int type, size = 0, nGon = 0, nVert = 0; + int * pType = &type; + int * pSize = &size; + int * pNGon = &nGon; + int * pNVert = &nVert; + getGraphicObjectProperty(uid, __GO_TYPE__, jni_int, (void**) &pType); + + switch(type) + { + case __GO_PLOT3D__: + case __GO_GRAYPLOT__: + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_Z__, jni_int, (void**) &pSize); + break; + case __GO_FAC3D__: + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &pNGon); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &pNVert); + size = nGon * nVert; + break; + } + return size; +} +%} + +%{ +extern int createObject3dData(int obj, int newObj, int type); +extern double pickSurface(int uid, double x, double y, double z, double dx, double dy, double dz, double mx, double my, double mz, double mw); +%} + + +double * getSurfDataX(int uid); +double * getSurfDataY(int uid); +double * getSurfDataZ(int uid); +int createObject3dData(int obj, int newObj, int type); +double pickSurface(int uid, double x, double y, double z, double dx, double dy, double dz, double mx, double my, double mz, double mw); + + + diff --git a/modules/graphic_objects/src/jni/SurfaceData_wrap.c b/modules/graphic_objects/src/jni/SurfaceData_wrap.c new file mode 100755 index 000000000..4118cb6c3 --- /dev/null +++ b/modules/graphic_objects/src/jni/SurfaceData_wrap.c @@ -0,0 +1,406 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 2.0.7 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + +#define SWIGJAVA + +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + + + +/* Fix for jlong on some versions of gcc on Windows */ +#if defined(__GNUC__) && !defined(__INTEL_COMPILER) + typedef long long __int64; +#endif + +/* Fix for jlong on 64-bit x86 Solaris */ +#if defined(__x86_64) +# ifdef _LP64 +# undef _LP64 +# endif +#endif + +#include <jni.h> +#include <stdlib.h> +#include <string.h> + + +/* Support for throwing Java exceptions */ +typedef enum { + SWIG_JavaOutOfMemoryError = 1, + SWIG_JavaIOException, + SWIG_JavaRuntimeException, + SWIG_JavaIndexOutOfBoundsException, + SWIG_JavaArithmeticException, + SWIG_JavaIllegalArgumentException, + SWIG_JavaNullPointerException, + SWIG_JavaDirectorPureVirtual, + SWIG_JavaUnknownError +} SWIG_JavaExceptionCodes; + +typedef struct { + SWIG_JavaExceptionCodes code; + const char *java_exception; +} SWIG_JavaExceptions_t; + + +static void SWIGUNUSED SWIG_JavaThrowException(JNIEnv *jenv, SWIG_JavaExceptionCodes code, const char *msg) { + jclass excep; + static const SWIG_JavaExceptions_t java_exceptions[] = { + { SWIG_JavaOutOfMemoryError, "java/lang/OutOfMemoryError" }, + { SWIG_JavaIOException, "java/io/IOException" }, + { SWIG_JavaRuntimeException, "java/lang/RuntimeException" }, + { SWIG_JavaIndexOutOfBoundsException, "java/lang/IndexOutOfBoundsException" }, + { SWIG_JavaArithmeticException, "java/lang/ArithmeticException" }, + { SWIG_JavaIllegalArgumentException, "java/lang/IllegalArgumentException" }, + { SWIG_JavaNullPointerException, "java/lang/NullPointerException" }, + { SWIG_JavaDirectorPureVirtual, "java/lang/RuntimeException" }, + { SWIG_JavaUnknownError, "java/lang/UnknownError" }, + { (SWIG_JavaExceptionCodes)0, "java/lang/UnknownError" } + }; + const SWIG_JavaExceptions_t *except_ptr = java_exceptions; + + while (except_ptr->code != code && except_ptr->code) + except_ptr++; + + (*jenv)->ExceptionClear(jenv); + excep = (*jenv)->FindClass(jenv, except_ptr->java_exception); + if (excep) + (*jenv)->ThrowNew(jenv, excep, msg); +} + + +/* Contract support */ + +#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_JavaThrowException(jenv, SWIG_JavaIllegalArgumentException, msg); return nullreturn; } else + + +#include "returnType.h" +#include "getGraphicObjectProperty.h" +#include "setGraphicObjectProperty.h" +#include "graphicObjectProperties.h" + + +double * getSurfDataX(int uid) +{ + double * X; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_X__, jni_double_vector, (void**) &X); + return X; +} + +int getDataSizeX(int uid) +{ + int type, size = 0, nGon = 0, nVert = 0; + int * pType = &type; + int * pSize = &size; + int * pNGon = &nGon; + int * pNVert = &nVert; + getGraphicObjectProperty(uid, __GO_TYPE__, jni_int, (void**) &pType); + + switch(type) + { + case __GO_PLOT3D__: + case __GO_GRAYPLOT__: + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_X__, jni_int, (void**) &pSize); + break; + case __GO_FAC3D__: + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &pNGon); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &pNVert); + size = nGon * nVert; + break; + } + return size; +} + + +double * getSurfDataY(int uid) +{ + double * Y; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Y__, jni_double_vector, (void**) &Y); + return Y; +} + +int getDataSizeY(int uid) +{ + int type, size = 0, nGon = 0, nVert = 0; + int * pType = &type; + int * pSize = &size; + int * pNGon = &nGon; + int * pNVert = &nVert; + getGraphicObjectProperty(uid, __GO_TYPE__, jni_int, (void**) &pType); + + switch(type) + { + case __GO_PLOT3D__: + case __GO_GRAYPLOT__: + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_Y__, jni_int, (void**) &pSize); + break; + case __GO_FAC3D__: + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &pNGon); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &pNVert); + size = nGon * nVert; + break; + } + return size; +} + + +double * getSurfDataZ(int uid) +{ + double * Z; + getGraphicObjectProperty(uid, __GO_DATA_MODEL_Z__, jni_double_vector, (void**) &Z); + return Z; +} + +int getDataSizeZ(int uid) +{ + int type, size = 0, nGon = 0, nVert = 0; + int * pType = &type; + int * pSize = &size; + int * pNGon = &nGon; + int * pNVert = &nVert; + getGraphicObjectProperty(uid, __GO_TYPE__, jni_int, (void**) &pType); + + switch(type) + { + case __GO_PLOT3D__: + case __GO_GRAYPLOT__: + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_Z__, jni_int, (void**) &pSize); + break; + case __GO_FAC3D__: + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_GONS__, jni_int, (void**) &pNGon); + getGraphicObjectProperty(uid, __GO_DATA_MODEL_NUM_VERTICES_PER_GON__, jni_int, (void**) &pNVert); + size = nGon * nVert; + break; + } + return size; +} + + +extern int createObject3dData(int obj, int newObj, int type); +extern double pickSurface(int uid, double x, double y, double z, double dx, double dy, double dz, double mx, double my, double mz, double mw); + + +#ifdef __cplusplus +extern "C" { +#endif + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_SurfaceDataJNI_getSurfDataX(JNIEnv *jenv, jclass jcls, jint jarg1) { + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getSurfDataX(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, getDataSizeX(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, getDataSizeX(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_SurfaceDataJNI_getSurfDataY(JNIEnv *jenv, jclass jcls, jint jarg1) { + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getSurfDataY(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, getDataSizeY(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, getDataSizeY(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_SurfaceDataJNI_getSurfDataZ(JNIEnv *jenv, jclass jcls, jint jarg1) { + jobject jresult = 0 ; + int arg1 ; + double *result = 0 ; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + result = (double *)getSurfDataZ(arg1); + { + jresult = (*jenv)->NewDoubleArray(jenv, getDataSizeZ(arg1)); + (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, getDataSizeZ(arg1), result); + } + return jresult; +} + + +SWIGEXPORT jint JNICALL Java_org_scilab_modules_graphic_1objects_SurfaceDataJNI_createObject3dData(JNIEnv *jenv, jclass jcls, jint jarg1, jint jarg2, jint jarg3) { + jint jresult = 0 ; + int arg1 ; + int arg2 ; + int arg3 ; + int result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + arg2 = (int)jarg2; + arg3 = (int)jarg3; + result = (int)createObject3dData(arg1,arg2,arg3); + jresult = (jint)result; + return jresult; +} + + +SWIGEXPORT jdouble JNICALL Java_org_scilab_modules_graphic_1objects_SurfaceDataJNI_pickSurface(JNIEnv *jenv, jclass jcls, jint jarg1, jdouble jarg2, jdouble jarg3, jdouble jarg4, jdouble jarg5, jdouble jarg6, jdouble jarg7, jdouble jarg8, jdouble jarg9, jdouble jarg10, jdouble jarg11) { + jdouble jresult = 0 ; + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + double arg6 ; + double arg7 ; + double arg8 ; + double arg9 ; + double arg10 ; + double arg11 ; + double result; + + (void)jenv; + (void)jcls; + arg1 = (int)jarg1; + arg2 = (double)jarg2; + arg3 = (double)jarg3; + arg4 = (double)jarg4; + arg5 = (double)jarg5; + arg6 = (double)jarg6; + arg7 = (double)jarg7; + arg8 = (double)jarg8; + arg9 = (double)jarg9; + arg10 = (double)jarg10; + arg11 = (double)jarg11; + result = (double)pickSurface(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11); + jresult = (jdouble)result; + return jresult; +} + + +#ifdef __cplusplus +} +#endif + diff --git a/modules/graphic_objects/src/jni/builder.giws.xml b/modules/graphic_objects/src/jni/builder.giws.xml new file mode 100755 index 000000000..23c3ab92e --- /dev/null +++ b/modules/graphic_objects/src/jni/builder.giws.xml @@ -0,0 +1,190 @@ +<?xml version="1.0"?> +<package name="org.scilab.modules.graphic_objects.builder"> + <object name="Builder"> + <method name="createRect" returnType="int" modifier="static"> + <parameter name="pparentsubwinUID" type="int"/> + <parameter name="x" type="double"/> + <parameter name="y" type="double"/> + <parameter name="height" type="double"/> + <parameter name="width" type="double"/> + <parameter name="foreground" type="int"/> + <parameter name="background" type="int"/> + <parameter name="isfilled" type="int"/> + <parameter name="isline" type="int"/> + </method> + <method name="cloneGraphicContext" returnType="int" modifier="static"> + <parameter name="sourceIdentifier" type="int"/> + <parameter name="destIdentifier" type="int"/> + </method> + <method name="cloneFontContext" returnType="int" modifier="static"> + <parameter name="sourceIdentifier" type="int"/> + <parameter name="destIdentifier" type="int"/> + </method> + <method name="createHiddenLabel" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + </method> + <method name="isAxesRedrawing" returnType="boolean" modifier="static"> + <parameter name="subWin" type="int"/> + </method> + <method name="createLabel" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="type" type="int"/> + </method> + <method name="createNewFigureWithAxes" returnType="int" modifier="static" /> + <method name="createFigure" returnType="int" modifier="static"> + <parameter name="dockable" type="boolean" /> + <parameter name="menubarType" type="int" /> + <parameter name="toolbarType" type="int" /> + <parameter name="defaultAxes" type="boolean" /> + <parameter name="visible" type="boolean" /> + </method> + <method name="cloneMenus" returnType="void" modifier="static"> + <parameter name="model" type="int"/> + <parameter name="newParent" type="int"/> + </method> + <method name="cloneAxesModel" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + </method> + <method name="createSubWin" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + </method> + <method name="createText" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="text" type="String[]"/> + <parameter name="rows" type="int"/> + <parameter name="cols" type="int"/> + <parameter name="x" type="double"/> + <parameter name="y" type="double"/> + <parameter name="autoSize" type="boolean"/> + <parameter name="userSize" type="double[]"/> + <parameter name="centerPos" type="int"/> + <parameter name="foreground" type="int"/> + <parameter name="isForeground" type="boolean"/> + <parameter name="background" type="int"/> + <parameter name="isBackground" type="boolean"/> + <parameter name="boxed" type="boolean"/> + <parameter name="line" type="boolean"/> + <parameter name="filled" type="boolean"/> + <parameter name="align" type="int"/> + </method> + <method name="createArc" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="x" type="double"/> + <parameter name="y" type="double"/> + <parameter name="h" type="double"/> + <parameter name="w" type="double"/> + <parameter name="start" type="double"/> + <parameter name="end" type="double"/> + <parameter name="foreground" type="int"/> + <parameter name="isForeground" type="boolean"/> + <parameter name="background" type="int"/> + <parameter name="isBackground" type="boolean"/> + <parameter name="filled" type="boolean"/> + <parameter name="line" type="boolean"/> + </method> + <method name="createAxis" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="dir" type="int"/> + <parameter name="tics" type="int"/> + <parameter name="vx" type="double[]"/> + <parameter name="vy" type="double[]"/> + <parameter name="subint" type="int"/> + <parameter name="format" type="String"/> + <parameter name="fontSize" type="int"/> + <parameter name="textColor" type="int"/> + <parameter name="ticsColor" type="int"/> + <parameter name="seg" type="boolean"/> + </method> + <method name="createCompound" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="children" type="int[]"/> + </method> + <method name="createCompoundSeq" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="childrenCount" type="int"/> + </method> + <method name="createFec" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="zminmax" type="double[]"/> + <parameter name="colminmax" type="int[]"/> + <parameter name="colout" type="int[]"/> + <parameter name="with_mesh" type="boolean"/> + </method> + <method name="createGrayplot" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="type" type="int"/> + <parameter name="pvecx" type="double[]"/> + <parameter name="n1" type="int"/> + <parameter name="n2" type="int"/> + </method> + <method name="createPolyline" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="closed" type="boolean"/> + <parameter name="plot" type="int"/> + <parameter name="foreground" type="int"/> + <parameter name="isForeground" type="boolean"/> + <parameter name="background" type="int[]"/> + <parameter name="mark_style" type="int"/> + <parameter name="isMarkStyle" type="boolean"/> + <parameter name="mark_foreground" type="int"/> + <parameter name="isMarkForeground" type="boolean"/> + <parameter name="mark_background" type="int"/> + <parameter name="isMarkBackground" type="boolean"/> + <parameter name="isline" type="boolean"/> + <parameter name="isfilled" type="boolean"/> + <parameter name="ismark" type="boolean"/> + <parameter name="isinterp" type="boolean"/> + </method> + <method name="createLegend" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="text" type="String[]"/> + <parameter name="handles" type="int[]"/> + </method> + <method name="createSegs" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="vx" type="double[]"/> + <parameter name="vy" type="double[]"/> + <parameter name="vz" type="double[]"/> + <parameter name="isVZ" type="boolean"/> + <parameter name="style" type="int[]"/> + <parameter name="arsize" type="double"/> + </method> + <method name="createChamp" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="vx" type="double[]"/> + <parameter name="vy" type="double[]"/> + <parameter name="vfx" type="double[]"/> + <parameter name="vfy" type="double[]"/> + <parameter name="arsize" type="double"/> + <parameter name="typeofchamp" type="boolean"/> + </method> + <method name="createSurface" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="typeof3d" type="int"/> + <parameter name="colorFlag" type="int"/> + <parameter name="colorMode" type="int"/> + </method> + <method name="initSubWinTo3d" returnType="void" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="legend" type="String"/> + <parameter name="isLegend" type="boolean"/> + <parameter name="flag" type="int[]"/> + <parameter name="alpha" type="double"/> + <parameter name="theta" type="double"/> + <parameter name="ebox" type="double[]"/> + <parameter name="x" type="double[]"/> + <parameter name="y" type="double[]"/> + <parameter name="z" type="double[]"/> + </method> + <method name="createLight" returnType="int" modifier="static"> + <parameter name="parent" type="int"/> + <parameter name="type" type="int"/> + <parameter name="visible" type="boolean"/> + <parameter name="pos" type="double[]"/> + <parameter name="dir" type="double[]"/> + <parameter name="ambient" type="double[]"/> + <parameter name="diffuse" type="double[]"/> + <parameter name="specular" type="double[]"/> + </method> + </object> +</package> diff --git a/modules/graphic_objects/src/jni/graphic_objects.giws.xml b/modules/graphic_objects/src/jni/graphic_objects.giws.xml new file mode 100755 index 000000000..c8430f1ce --- /dev/null +++ b/modules/graphic_objects/src/jni/graphic_objects.giws.xml @@ -0,0 +1,103 @@ +<?xml version="1.0"?> +<package name="org.scilab.modules.graphic_objects"> + <object name="CallXmlLoader"> + <method name="Load" returnType="int" modifier="static"> + <parameter name="filename" type="String"/> + </method> + <method name="Save" returnType="String" modifier="static"> + <parameter name="figure" type="int"/> + <parameter name="filename" type="String"/> + <parameter name="isReverse" type="boolean"/> + </method> + <method name="DomLoad" returnType="int" modifier="static"> + <parameter name="filename" type="String"/> + </method> + </object> + <object name="CallGraphicController"> + <method name="deleteGraphicObject" returnType="void" modifier="static"> + <parameter name="id" type="int"/> + </method> + <method name="cloneGraphicObject" returnType="int" modifier="static"> + <parameter name="id" type="int"/> + </method> + <method name="askGraphicObject" returnType="int" modifier="static"> + <parameter name="typeName" type="int"/> + </method> + <method name="setGraphicObjectRelationship" returnType="void" modifier="static"> + <parameter name="parentId" type="int"/> + <parameter name="childId" type="int"/> + </method> + <method name="removeRelationShipAndDelete" returnType="void" modifier="static"> + <parameter name="id" type="int"/> + </method> + <method name="getGraphicObjectPropertyAsString" returnType="String" modifier="static"> + <parameter name="id" type="int"/> + <parameter name="propertyName" type="int"/> + </method> + <method name="setGraphicObjectProperty" returnType="boolean" modifier="static"> + <parameter name="id" type="int"/> + <parameter name="propertyName" type="int"/> + <parameter name="value" type="String"/> + </method> + <method name="getGraphicObjectPropertyAsStringVector" returnType="String[]" modifier="static"> + <parameter name="id" type="int"/> + <parameter name="propertyName" type="int"/> + </method> + <method name="setGraphicObjectProperty" returnType="boolean" modifier="static"> + <parameter name="id" type="int"/> + <parameter name="propertyName" type="int"/> + <parameter name="value" type="String[]"/> + </method> + <method name="setGraphicObjectProperty" returnType="boolean" modifier="static"> + <parameter name="id" type="int"/> + <parameter name="propertyName" type="int"/> + <parameter name="value" type="double"/> + </method> + <method name="getGraphicObjectPropertyAsDoubleVector" returnType="double[]" modifier="static"> + <parameter name="id" type="int"/> + <parameter name="propertyName" type="int"/> + </method> + <method name="setGraphicObjectProperty" returnType="boolean" modifier="static"> + <parameter name="id" type="int"/> + <parameter name="propertyName" type="int"/> + <parameter name="value" type="double[]"/> + </method> + <method name="setGraphicObjectProperty" returnType="boolean" modifier="static"> + <parameter name="id" type="int"/> + <parameter name="propertyName" type="int"/> + <parameter name="value" type="int"/> + </method> + <method name="getGraphicObjectPropertyAsIntegerVector" returnType="int[]" modifier="static"> + <parameter name="id" type="int"/> + <parameter name="propertyName" type="int"/> + </method> + <method name="setGraphicObjectProperty" returnType="boolean" modifier="static"> + <parameter name="id" type="int"/> + <parameter name="propertyName" type="int"/> + <parameter name="value" type="int[]"/> + </method> + <method name="setGraphicObjectProperty" returnType="boolean" modifier="static"> + <parameter name="id" type="int"/> + <parameter name="propertyName" type="int"/> + <parameter name="value" type="boolean"/> + </method> + <method name="getGraphicObjectPropertyAsBooleanVector" returnType="int[]" modifier="static"> + <parameter name="id" type="int"/> + <parameter name="propertyName" type="int"/> + </method> + <method name="setGraphicObjectProperty" returnType="boolean" modifier="static"> + <parameter name="id" type="int"/> + <parameter name="propertyName" type="int"/> + <parameter name="value" type="boolean[]"/> + </method> + <method name="registerScilabView" returnType="void" modifier="static"> + </method> + <method name="unregisterScilabView" returnType="void" modifier="static"> + </method> + <method name="getConsoleIdentifier" returnType="int" modifier="static"> + </method> + <method name="buildFigureMenuBar" returnType="void" modifier="static"> + <parameter name="figureId" type="int"/> + </method> + </object> +</package> diff --git a/modules/graphic_objects/src/jni/graphic_objects.i b/modules/graphic_objects/src/jni/graphic_objects.i new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/graphic_objects/src/jni/graphic_objects.i diff --git a/modules/graphic_objects/src/jni/libscigraphic_objects_la-Builder.lo b/modules/graphic_objects/src/jni/libscigraphic_objects_la-Builder.lo new file mode 100755 index 000000000..83385d620 --- /dev/null +++ b/modules/graphic_objects/src/jni/libscigraphic_objects_la-Builder.lo @@ -0,0 +1,12 @@ +# src/jni/libscigraphic_objects_la-Builder.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-Builder.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/jni/libscigraphic_objects_la-CallGraphicController.lo b/modules/graphic_objects/src/jni/libscigraphic_objects_la-CallGraphicController.lo new file mode 100755 index 000000000..e5720b3cb --- /dev/null +++ b/modules/graphic_objects/src/jni/libscigraphic_objects_la-CallGraphicController.lo @@ -0,0 +1,12 @@ +# src/jni/libscigraphic_objects_la-CallGraphicController.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-CallGraphicController.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/jni/libscigraphic_objects_la-CallXmlLoader.lo b/modules/graphic_objects/src/jni/libscigraphic_objects_la-CallXmlLoader.lo new file mode 100755 index 000000000..7a0e28dcf --- /dev/null +++ b/modules/graphic_objects/src/jni/libscigraphic_objects_la-CallXmlLoader.lo @@ -0,0 +1,12 @@ +# src/jni/libscigraphic_objects_la-CallXmlLoader.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-CallXmlLoader.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/jni/libscigraphic_objects_la-DataLoader_wrap.lo b/modules/graphic_objects/src/jni/libscigraphic_objects_la-DataLoader_wrap.lo new file mode 100755 index 000000000..1b512c8da --- /dev/null +++ b/modules/graphic_objects/src/jni/libscigraphic_objects_la-DataLoader_wrap.lo @@ -0,0 +1,12 @@ +# src/jni/libscigraphic_objects_la-DataLoader_wrap.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-DataLoader_wrap.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/jni/libscigraphic_objects_la-ObjectData_wrap.lo b/modules/graphic_objects/src/jni/libscigraphic_objects_la-ObjectData_wrap.lo new file mode 100755 index 000000000..74c265c8a --- /dev/null +++ b/modules/graphic_objects/src/jni/libscigraphic_objects_la-ObjectData_wrap.lo @@ -0,0 +1,12 @@ +# src/jni/libscigraphic_objects_la-ObjectData_wrap.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-ObjectData_wrap.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/jni/libscigraphic_objects_la-PolylineData_wrap.lo b/modules/graphic_objects/src/jni/libscigraphic_objects_la-PolylineData_wrap.lo new file mode 100755 index 000000000..934ceddcf --- /dev/null +++ b/modules/graphic_objects/src/jni/libscigraphic_objects_la-PolylineData_wrap.lo @@ -0,0 +1,12 @@ +# src/jni/libscigraphic_objects_la-PolylineData_wrap.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-PolylineData_wrap.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo b/modules/graphic_objects/src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo new file mode 100755 index 000000000..d36f48f4d --- /dev/null +++ b/modules/graphic_objects/src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo @@ -0,0 +1,12 @@ +# src/jni/libscigraphic_objects_la-ScilabNativeView_wrap.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-ScilabNativeView_wrap.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo b/modules/graphic_objects/src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo new file mode 100755 index 000000000..ebc236c88 --- /dev/null +++ b/modules/graphic_objects/src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo @@ -0,0 +1,12 @@ +# src/jni/libscigraphic_objects_la-SurfaceData_wrap.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_la-SurfaceData_wrap.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/nographic_objects/.deps/.dirstamp b/modules/graphic_objects/src/nographic_objects/.deps/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/graphic_objects/src/nographic_objects/.deps/.dirstamp diff --git a/modules/graphic_objects/src/nographic_objects/.deps/libscigraphic_objects_disable_la-nographic_objects.Plo b/modules/graphic_objects/src/nographic_objects/.deps/libscigraphic_objects_disable_la-nographic_objects.Plo new file mode 100755 index 000000000..35968f846 --- /dev/null +++ b/modules/graphic_objects/src/nographic_objects/.deps/libscigraphic_objects_disable_la-nographic_objects.Plo @@ -0,0 +1,146 @@ +src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo: \ + src/nographic_objects/nographic_objects.c /usr/include/stdc-predef.h \ + src/nographic_objects/nographic_objects.h \ + includes/dynlib_graphic_objects.h ../../modules/core/includes/BOOL.h \ + ../../modules/output_stream/includes/Scierror.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + ../../modules/output_stream/includes/do_error_number.h \ + ../../modules/core/includes/machine.h \ + ../../modules/localization/includes/localization.h \ + /usr/include/libintl.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h /usr/include/locale.h \ + /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/xlocale.h \ + includes/FigureList.h includes/dynlib_graphic_objects.h \ + includes/returnType.h includes/createGraphicObject.h \ + includes/deleteGraphicObject.h includes/getGraphicObjectProperty.h \ + /usr/include/stdlib.h /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h includes/returnType.h \ + includes/CurrentObject.h includes/setGraphicObjectProperty.h \ + ../../modules/core/includes/scilabmode.h \ + ../../modules/core/includes/machine.h ../../modules/core/includes/BOOL.h + +/usr/include/stdc-predef.h: + +src/nographic_objects/nographic_objects.h: + +includes/dynlib_graphic_objects.h: + +../../modules/core/includes/BOOL.h: + +../../modules/output_stream/includes/Scierror.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +../../modules/output_stream/includes/do_error_number.h: + +../../modules/core/includes/machine.h: + +../../modules/localization/includes/localization.h: + +/usr/include/libintl.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/locale.h: + +/usr/include/x86_64-linux-gnu/bits/locale.h: + +/usr/include/xlocale.h: + +includes/FigureList.h: + +includes/dynlib_graphic_objects.h: + +includes/returnType.h: + +includes/createGraphicObject.h: + +includes/deleteGraphicObject.h: + +includes/getGraphicObjectProperty.h: + +/usr/include/stdlib.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +includes/returnType.h: + +includes/CurrentObject.h: + +includes/setGraphicObjectProperty.h: + +../../modules/core/includes/scilabmode.h: + +../../modules/core/includes/machine.h: + +../../modules/core/includes/BOOL.h: diff --git a/modules/graphic_objects/src/nographic_objects/.dirstamp b/modules/graphic_objects/src/nographic_objects/.dirstamp new file mode 100755 index 000000000..e69de29bb --- /dev/null +++ b/modules/graphic_objects/src/nographic_objects/.dirstamp diff --git a/modules/graphic_objects/src/nographic_objects/.libs/libscigraphic_objects_disable_la-nographic_objects.o b/modules/graphic_objects/src/nographic_objects/.libs/libscigraphic_objects_disable_la-nographic_objects.o Binary files differnew file mode 100755 index 000000000..ef5eb0356 --- /dev/null +++ b/modules/graphic_objects/src/nographic_objects/.libs/libscigraphic_objects_disable_la-nographic_objects.o diff --git a/modules/graphic_objects/src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo b/modules/graphic_objects/src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo new file mode 100755 index 000000000..5bee5a618 --- /dev/null +++ b/modules/graphic_objects/src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo @@ -0,0 +1,12 @@ +# src/nographic_objects/libscigraphic_objects_disable_la-nographic_objects.lo - a libtool object file +# Generated by libtool (GNU libtool) 2.4.2 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# Name of the PIC object. +pic_object='.libs/libscigraphic_objects_disable_la-nographic_objects.o' + +# Name of the non-PIC object +non_pic_object=none + diff --git a/modules/graphic_objects/src/nographic_objects/nographic_objects.c b/modules/graphic_objects/src/nographic_objects/nographic_objects.c new file mode 100755 index 000000000..ba36a8cff --- /dev/null +++ b/modules/graphic_objects/src/nographic_objects/nographic_objects.c @@ -0,0 +1,86 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2009 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +/*--------------------------------------------------------------------------*/ +#include "nographic_objects.h" +#include "Scierror.h" +#include "localization.h" +#include "FigureList.h" +#include "returnType.h" +#include "createGraphicObject.h" +#include "deleteGraphicObject.h" +#include "getGraphicObjectProperty.h" +#include "setGraphicObjectProperty.h" +#ifndef _MSC_VER +#include "scilabmode.h" +#endif +/*--------------------------------------------------------------------------*/ +int gw_graphic_objects(void) +{ +#ifndef _MSC_VER + if (getScilabMode() == SCILAB_NWNI) + { + Scierror(999, _("Scilab '%s' module disabled in -nogui or -nwni mode.\n"), "graphic_objects"); + } + else +#endif + { + Scierror(999, _("Scilab '%s' module not installed.\n"), "graphic_objects"); + } + return 0; +} +/*--------------------------------------------------------------------------*/ +BOOL sciHasFigures(void) +{ + return FALSE; +} +/*--------------------------------------------------------------------------*/ +BOOL sciIsExistingFigure(int figNum) +{ + return FALSE; +} +/*--------------------------------------------------------------------------*/ +int createGraphicObject(int _iType) +{ + return 0; +} +/*--------------------------------------------------------------------------*/ +int createDataObject(int iUID, int _iType) +{ + return 0; +} +/*--------------------------------------------------------------------------*/ +void deleteGraphicObject(int iUID) +{ +} +/*--------------------------------------------------------------------------*/ +void deleteDataObject(int iUID) +{ +} +/*--------------------------------------------------------------------------*/ +void getGraphicObjectProperty(int iUID, const int _iName, enum _ReturnType_ _returnType, void **_pvData) +{ + *_pvData = NULL; +} +/*--------------------------------------------------------------------------*/ +void releaseGraphicObjectProperty(const int _iName, void * _pvData, enum _ReturnType_ _returnType, int numElements) +{ +} +/*--------------------------------------------------------------------------*/ +BOOL setGraphicObjectProperty(int iUID, const int _iPropertyName, void const* _pvValue, enum _ReturnType_ _valueTtype, int numElements) +{ + return FALSE; +} +/*--------------------------------------------------------------------------*/ +void setGraphicObjectRelationship(int iUID, int iUID2) +{ +} +/*--------------------------------------------------------------------------*/ diff --git a/modules/graphic_objects/src/nographic_objects/nographic_objects.h b/modules/graphic_objects/src/nographic_objects/nographic_objects.h new file mode 100755 index 000000000..e21dad824 --- /dev/null +++ b/modules/graphic_objects/src/nographic_objects/nographic_objects.h @@ -0,0 +1,26 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2009-2012 - DIGITEO - Allan CORNET + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ +/*--------------------------------------------------------------------------*/ +#include "dynlib_graphic_objects.h" +#include "BOOL.h" +/*--------------------------------------------------------------------------*/ +/** + * This function is a wrapper / fake when Scilab is compiled without xpad + * + * @return 0 + */ +GRAPHIC_OBJECTS_IMPEXP int gw_graphic_objects(void); + +GRAPHIC_OBJECTS_IMPEXP BOOL sciHasFigures(void); + +GRAPHIC_OBJECTS_IMPEXP BOOL sciIsExistingFigure(int figNum); +/*--------------------------------------------------------------------------*/ diff --git a/modules/graphic_objects/src/nographic_objects/nographic_objects.vcxproj b/modules/graphic_objects/src/nographic_objects/nographic_objects.vcxproj new file mode 100755 index 000000000..802cd0219 --- /dev/null +++ b/modules/graphic_objects/src/nographic_objects/nographic_objects.vcxproj @@ -0,0 +1,267 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{A910BD0C-8FAF-4382-B06A-F767E4752733}</ProjectGuid> + <RootNamespace>nographic_objects</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>false</WholeProgramOptimization> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>false</WholeProgramOptimization> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <PlatformToolset>v110</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)$(Configuration)\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">noscigraphic_objects</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">noscigraphic_objects</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">noscigraphic_objects</TargetName> + <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">noscigraphic_objects</TargetName> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>.;../jni;../../../../java/jdk/include;../../../../java/jdk/include/win32;../../../../libs/intl;../../includes;../../../api_scilab/includes;../../../core/includes;../../../localization/includes;../../../jvm/includes;../../../output_stream/includes;../cpp;../../../functions/includes;../../../fileio/includes;../../../commons/src/jni;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;GRAPHIC_OBJECTS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4996;4251</DisableSpecificWarnings> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command> + </Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>../../../../bin/noscigraphic_objects.dll</OutputFile> + <ModuleDefinitionFile> + </ModuleDefinitionFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <ImportLibrary>../../../../bin/sci$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>.;../jni;../../../../java/jdk/include;../../../../java/jdk/include/win32;../../../../libs/intl;../../includes;../../../api_scilab/includes;../../../core/includes;../../../localization/includes;../../../jvm/includes;../../../output_stream/includes;../cpp;../../../functions/includes;../../../fileio/includes;../../../commons/src/jni;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;_DEBUG;_WINDOWS;_USRDLL;GRAPHIC_OBJECTS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4996;4251</DisableSpecificWarnings> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command> + </Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>../../../../bin/noscigraphic_objects.dll</OutputFile> + <ModuleDefinitionFile> + </ModuleDefinitionFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <ImportLibrary>../../../../bin/sci$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <WholeProgramOptimization>false</WholeProgramOptimization> + <AdditionalIncludeDirectories>.;../jni;../../../../java/jdk/include;../../../../java/jdk/include/win32;../../../../libs/intl;../../includes;../../../api_scilab/includes;../../../core/includes;../../../localization/includes;../../../jvm/includes;../../../output_stream/includes;../cpp;../../../functions/includes;../../../fileio/includes;../../../commons/src/jni;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;GRAPHIC_OBJECTS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4996;4251</DisableSpecificWarnings> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command> + </Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>../../../../bin/noscigraphic_objects.dll</OutputFile> + <ModuleDefinitionFile> + </ModuleDefinitionFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <LinkTimeCodeGeneration> + </LinkTimeCodeGeneration> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <ImportLibrary>../../../../bin/sci$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX86</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <WholeProgramOptimization>false</WholeProgramOptimization> + <AdditionalIncludeDirectories>.;../jni;../../../../java/jdk/include;../../../../java/jdk/include/win32;../../../../libs/intl;../../includes;../../../api_scilab/includes;../../../core/includes;../../../localization/includes;../../../jvm/includes;../../../output_stream/includes;../cpp;../../../functions/includes;../../../fileio/includes;../../../commons/src/jni;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>_CRT_SECURE_NO_DEPRECATE;FORDLL;NDEBUG;_WINDOWS;_USRDLL;GRAPHIC_OBJECTS_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <DisableSpecificWarnings>4996;4251</DisableSpecificWarnings> + </ClCompile> + <PreLinkEvent> + <Message>Make dependencies</Message> + <Command> + </Command> + </PreLinkEvent> + <Link> + <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>../../../../bin/noscigraphic_objects.dll</OutputFile> + <ModuleDefinitionFile> + </ModuleDefinitionFile> + <GenerateDebugInformation>false</GenerateDebugInformation> + <SubSystem>Windows</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <LinkTimeCodeGeneration> + </LinkTimeCodeGeneration> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <ImportLibrary>../../../../bin/sci$(ProjectName).lib</ImportLibrary> + <TargetMachine>MachineX64</TargetMachine> + <CLRUnmanagedCodeCheck>true</CLRUnmanagedCodeCheck> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ProjectReference Include="..\..\..\api_scilab\api_scilab.vcxproj"> + <Project>{43c5bab1-1dca-4743-a183-77e0d42fe7d0}</Project> + </ProjectReference> + <ProjectReference Include="..\..\..\commons\src\c\commons.vcxproj"> + <Project>{eca09a1e-6d12-4a47-92e1-a671c181df77}</Project> + </ProjectReference> + <ProjectReference Include="..\..\..\jvm\libjvm.vcxproj"> + <Project>{8ba2dda8-bd04-4d4d-8ee6-6caa955f7470}</Project> + </ProjectReference> + <ProjectReference Include="..\..\..\localization\src\localization.vcxproj"> + <Project>{ecffeb0c-1eda-45ee-9a10-b18143852e17}</Project> + </ProjectReference> + <ProjectReference Include="..\..\..\output_stream\src\c\output_stream.vcxproj"> + <Project>{a5911cd7-f8e8-440c-a23e-4843a0636f3a}</Project> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\c\DllmainGraphic_objects.c" /> + <ClCompile Include="nographic_objects.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="nographic_objects.h" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/modules/graphic_objects/src/nographic_objects/nographic_objects.vcxproj.filters b/modules/graphic_objects/src/nographic_objects/nographic_objects.vcxproj.filters new file mode 100755 index 000000000..f67c2c2a3 --- /dev/null +++ b/modules/graphic_objects/src/nographic_objects/nographic_objects.vcxproj.filters @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{f79df525-a28f-468e-baef-7a11c09d48b6}</UniqueIdentifier> + <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{7d5a274b-0f38-4a01-9b9c-76921537ed71}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl</Extensions> + </Filter> + <Filter Include="localization"> + <UniqueIdentifier>{5ffd4074-3898-45da-bc72-d7e2f4d603af}</UniqueIdentifier> + </Filter> + <Filter Include="Libraries Dependencies"> + <UniqueIdentifier>{b65a6b60-178c-4b9e-9564-39f5703fd8bd}</UniqueIdentifier> + </Filter> + <Filter Include="Libraries Dependencies\Imports"> + <UniqueIdentifier>{426706e8-160d-467c-a553-370ddc7e5bdd}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="nographic_objects.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\c\DllmainGraphic_objects.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="nographic_objects.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/modules/graphic_objects/src/scripts/genPropertiesName.sh b/modules/graphic_objects/src/scripts/genPropertiesName.sh new file mode 100755 index 000000000..26dd70cc9 --- /dev/null +++ b/modules/graphic_objects/src/scripts/genPropertiesName.sh @@ -0,0 +1,96 @@ +#! /bin/sh +## Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +## Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET +## Copyright (C) 2013 - Scilab Enterprises - Calixte DENIZET +## +## This file must be used under the terms of the CeCILL. +## This source file is licensed as described in the file COPYING, which +## you should have received as part of this distribution. The terms +## are also available at +## http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt +## +## + +main() +{ + if [ $# -ne 3 ]; then + echo "Usage: $0 --java|--C <PropertiesFile> <OuputFile>" + exit 1 + fi + + OutFile=$3 + PropertiesFile=$2 + Mode=$1 + + case "$Mode" in + --java) + generateJavaFile;; + --C) + generateCFile;; + esac +} + +generateJavaFile() +{ + if test $PropertiesFile -nt $OutFile; then + echo "-- Building GraphicObjectProperties.java --" + generateHeader + echo "package org.scilab.modules.graphic_objects.graphicObject;" >> $OutFile + echo "" >> $OutFile + echo "public class GraphicObjectProperties {" >> $OutFile + echo "" >> $OutFile + + awk 'BEGIN {num=0} (NF > 0) {printf " public static final int %s = %d;\n", $1, num; num++}' < $PropertiesFile >> $OutFile + + echo "" >> $OutFile + echo "}" >> $OutFile + else + echo "-- GraphicObjectProperties.java already up-to-date --" + fi +} + +generateCFile() +{ + if test $PropertiesFile -nt $OutFile; then + echo "-- Building GraphicObjectProperties.h --" + generateHeader + echo "#ifndef __GRAPHIC_OBJECT_PROPERTIES_H__" >> $OutFile + echo "#define __GRAPHIC_OBJECT_PROPERTIES_H__" >> $OutFile + echo "" >> $OutFile + + awk 'BEGIN {num=0} (NF > 0) {printf "#define %s %d\n", $1, num; num++}' < $PropertiesFile >> $OutFile + + echo "" >> $OutFile + echo "#endif /* !__GRAPHIC_OBJECT_PROPERTIES_H__ */" >> $OutFile + else + echo "-- GraphicObjectProperties.h already up-to-date --" + fi +} + +generateHeader() +{ + echo "/*" > $OutFile + echo " * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab" >> $OutFile + echo " * Copyright (C) 2010-2012 - DIGITEO - Bruno JOFRET" >> $OutFile + echo " * Copyright (C) 2012-2014 - Scilab-Enterprises - Bruno JOFRET" >> $OutFile + echo " *" >> $OutFile + echo " * This file must be used under the terms of the CeCILL." >> $OutFile + echo " * This source file is licensed as described in the file COPYING, which" >> $OutFile + echo " * you should have received as part of this distribution. The terms" >> $OutFile + echo " * are also available at" >> $OutFile + echo " * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt" >> $OutFile + echo " *" >> $OutFile + echo " */" >> $OutFile + + echo "" >> $OutFile + + echo "/*" >> $OutFile + echo " * -=- This is a generated file, please do not edit by hand -=-" >> $OutFile + echo " * -=- Please see properties definitions in -=-" >> $OutFile + echo " * -=- SCI/modules/graphic_objects/src/scripts/propertiesMap.properties -=-" >> $OutFile + echo " */" >> $OutFile + + echo "" >> $OutFile +} + +main $@ diff --git a/modules/graphic_objects/src/scripts/propertiesMap.properties b/modules/graphic_objects/src/scripts/propertiesMap.properties new file mode 100755 index 000000000..fe4eb7bb6 --- /dev/null +++ b/modules/graphic_objects/src/scripts/propertiesMap.properties @@ -0,0 +1,447 @@ +__GO_ARC__ +__GO_AXES__ +__GO_AXESMODEL__ +__GO_AXIS__ +__GO_CHAMP__ +__GO_COMPOUND__ +__GO_FAC3D__ +__GO_FEC__ +__GO_FIGURE__ +__GO_FIGUREMODEL__ +__GO_GRAYPLOT__ +__GO_LABEL__ +__GO_LEGEND__ +__GO_MATPLOT__ +__GO_PLOT3D__ +__GO_POLYLINE__ +__GO_RECTANGLE__ +__GO_SEGS__ +__GO_TEXT__ +__GO_UICONTROL__ +__GO_UIMENU__ +__GO_UICONTEXTMENU__ + +__GO_CHILDREN__ +__GO_CHILDREN_COUNT__ +__GO_PARENT__ +__GO_USER_DATA__ +__GO_USER_DATA_SIZE__ +__GO_VISIBLE__ +__GO_HIDDEN__ +__GO_TYPE__ +__GO_DATA_MODEL__ +__GO_PARENT_FIGURE__ +__GO_PARENT_AXES__ +__GO_HAS_LEGEND_CHILD__ +__GO_LEGEND_CHILD__ +__GO_SELECTED_CHILD__ +__GO_CALLBACK__ +__GO_CALLBACKTYPE__ + +__GO_DATA_MODEL_COORDINATES__ +__GO_DATA_MODEL_X__ +__GO_DATA_MODEL_Y__ +__GO_DATA_MODEL_Z__ + +__GO_DATA_MODEL_X_COORDINATES_SHIFT__ +__GO_DATA_MODEL_Y_COORDINATES_SHIFT__ +__GO_DATA_MODEL_Z_COORDINATES_SHIFT__ + +__GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ +__GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ +__GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ + +__GO_DATA_MODEL_NUM_ELEMENTS__ +__GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ +__GO_DATA_MODEL_NUM_VERTICES_PER_GON__ +__GO_DATA_MODEL_NUM_GONS__ + +__GO_DATA_MODEL_Z_COORDINATES_SET__ + +__GO_DATA_MODEL_COLORS__ +__GO_DATA_MODEL_NUM_COLORS__ + +__GO_DATA_MODEL_NUM_VERTICES__ +__GO_DATA_MODEL_NUM_INDICES__ +__GO_DATA_MODEL_INDICES__ +__GO_DATA_MODEL_VALUES__ +__GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__ + +__GO_DATA_MODEL_FEC_ELEMENTS__ + +__GO_DATA_MODEL_NUM_X__ +__GO_DATA_MODEL_NUM_Y__ +__GO_DATA_MODEL_NUM_Z__ +__GO_DATA_MODEL_GRID_SIZE__ +__GO_DATA_MODEL_X_DIMENSIONS__ +__GO_DATA_MODEL_Y_DIMENSIONS__ + +__GO_MATPLOT_TRANSLATE__ +__GO_MATPLOT_SCALE__ +__GO_DATA_MODEL_MATPLOT_BOUNDS__ +__GO_DATA_MODEL_MATPLOT_TYPE__ +__GO_DATA_MODEL_MATPLOT_GL_TYPE__ +__GO_DATA_MODEL_MATPLOT_DATA_INFOS__ +__GO_DATA_MODEL_MATPLOT_DATA_TYPE__ +__GO_DATA_MODEL_MATPLOT_DATA_ORDER__ +__GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ +__GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ +__GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__ + +__GO_REFERENCED__ +__GO_VALID__ + +__GO_POSITION__ +__GO_SIZE__ +__GO_CANVAS__ +__GO_AUTORESIZE__ +__GO_VIEWPORT__ +__GO_AXES_SIZE__ +__GO_FIGURE_NAME__ +__GO_NAME__ +__GO_ID__ +__GO_INFO_MESSAGE__ +__GO_COLORMAP__ +__GO_COLORMAP_SIZE__ +__GO_RENDERING_MODE__ +__GO_PIXEL_DRAWING_MODE__ +__GO_ANTIALIASING__ +__GO_IMMEDIATE_DRAWING__ +__GO_BACKGROUND__ +__GO_EVENTHANDLER__ +__GO_EVENTHANDLER_NAME__ +__GO_EVENTHANDLER_ENABLE__ +__GO_TAG__ +__GO_ROTATION_TYPE__ +__GO_RESIZEFCN__ +__GO_CLOSEREQUESTFCN__ +__GO_DEFAULT_AXES__ + +__GO_UPPER_LEFT_POINT__ +__GO_WIDTH__ +__GO_HEIGHT__ +__GO_START_ANGLE__ +__GO_END_ANGLE__ +__GO_ARC_DRAWING_METHOD__ + +__GO_X_AXIS_VISIBLE__ +__GO_X_AXIS_REVERSE__ +__GO_X_AXIS_GRID_COLOR__ +__GO_X_AXIS_GRID_THICKNESS__ +__GO_X_AXIS_GRID_STYLE__ +__GO_X_AXIS_LABEL__ +__GO_X_AXIS_LOCATION__ +__GO_X_AXIS_LOG_FLAG__ +__GO_X_AXIS_TICKS__ +__GO_X_AXIS_FORMAT__ +__GO_X_AXIS_ST_FACTORS__ +__GO_X_AXIS_AUTO_TICKS__ +__GO_X_AXIS_NUMBER_TICKS__ +__GO_X_AXIS_TICKS_LOCATIONS__ +__GO_X_AXIS_TICKS_LABELS__ +__GO_X_AXIS_SUBTICKS__ + +__GO_Y_AXIS_VISIBLE__ +__GO_Y_AXIS_REVERSE__ +__GO_Y_AXIS_GRID_COLOR__ +__GO_Y_AXIS_GRID_THICKNESS__ +__GO_Y_AXIS_GRID_STYLE__ +__GO_Y_AXIS_LABEL__ +__GO_Y_AXIS_LOCATION__ +__GO_Y_AXIS_LOG_FLAG__ +__GO_Y_AXIS_TICKS__ +__GO_Y_AXIS_FORMAT__ +__GO_Y_AXIS_ST_FACTORS__ +__GO_Y_AXIS_AUTO_TICKS__ +__GO_Y_AXIS_NUMBER_TICKS__ +__GO_Y_AXIS_TICKS_LOCATIONS__ +__GO_Y_AXIS_TICKS_LABELS__ +__GO_Y_AXIS_SUBTICKS__ + +__GO_Z_AXIS_VISIBLE__ +__GO_Z_AXIS_REVERSE__ +__GO_Z_AXIS_GRID_COLOR__ +__GO_Z_AXIS_GRID_THICKNESS__ +__GO_Z_AXIS_GRID_STYLE__ +__GO_Z_AXIS_LABEL__ +__GO_Z_AXIS_LOCATION__ +__GO_Z_AXIS_LOG_FLAG__ +__GO_Z_AXIS_TICKS__ +__GO_Z_AXIS_FORMAT__ +__GO_Z_AXIS_ST_FACTORS__ +__GO_Z_AXIS_AUTO_TICKS__ +__GO_Z_AXIS_NUMBER_TICKS__ +__GO_Z_AXIS_TICKS_LOCATIONS__ +__GO_Z_AXIS_TICKS_LABELS__ +__GO_Z_AXIS_SUBTICKS__ + +__GO_AUTO_SUBTICKS__ + +__GO_GRID_POSITION__ +__GO_TITLE__ +__GO_AUTO_CLEAR__ +__GO_FILLED__ +__GO_CAMERA__ +__GO_VIEW__ +__GO_ISOVIEW__ +__GO_CUBE_SCALING__ +__GO_ROTATION_ANGLES__ +__GO_ROTATION_ANGLES_3D__ +__GO_BOX_TYPE__ +__GO_HIDDEN_AXIS_COLOR__ +__GO_X_TIGHT_LIMITS__ +__GO_Y_TIGHT_LIMITS__ +__GO_Z_TIGHT_LIMITS__ +__GO_DATA_BOUNDS__ +__GO_REAL_DATA_BOUNDS__ +__GO_ZOOM_ENABLED__ +__GO_ZOOM_BOX__ +__GO_AUTO_SCALE__ +__GO_FIRST_PLOT__ +__GO_MARGINS__ +__GO_AUTO_MARGINS__ +__GO_AXES_BOUNDS__ + +__GO_CLIP_PROPERTY__ +__GO_CLIP_STATE__ +__GO_CLIP_BOX__ +__GO_CLIP_BOX_SET__ + +__GO_LINE__ +__GO_LINE_MODE__ +__GO_LINE_STYLE__ +__GO_LINE_THICKNESS__ +__GO_LINE_COLOR__ +__GO_FILL_MODE__ +__GO_MARK__ +__GO_MARK_MODE__ +__GO_MARK_STYLE__ +__GO_MARK_SIZE_UNIT__ +__GO_MARK_SIZE__ +__GO_MARK_FOREGROUND__ +__GO_MARK_BACKGROUND__ +__GO_MARK_OFFSET__ +__GO_MARK_STRIDE__ +__GO_SELECTED__ + +__GO_TICKS_DIRECTION__ +__GO_X_NUMBER_TICKS__ +__GO_Y_NUMBER_TICKS__ +__GO_X_TICKS_COORDS__ +__GO_Y_TICKS_COORDS__ +__GO_TICKS_COLOR__ +__GO_TICKS_SEGMENT__ +__GO_TICKS_STYLE__ +__GO_SUBTICKS__ +__GO_NUMBER_TICKS_LABELS__ +__GO_TICKS_LABELS__ +__GO_FORMATN__ +__GO_FONT__ +__GO_FONT_STYLE__ +__GO_FONT_SIZE__ +__GO_FONT_COLOR__ +__GO_FONT_FRACTIONAL__ + +__GO_Z_BOUNDS__ +__GO_OUTSIDE_COLOR__ +__GO_COLOR_RANGE__ + +__GO_DATA_MAPPING__ + +__GO_FONT_ANGLE__ +__GO_AUTO_POSITION__ +__GO_CORNERS__ +__GO_AUTO_ROTATION__ + +__GO_LINKS__ +__GO_LINKS_COUNT__ +__GO_LEGEND_LOCATION__ +__GO_MARKS_COUNT__ +__GO_LINE_WIDTH__ + +__GO_CLOSED__ +__GO_ARROW_SIZE_FACTOR__ +__GO_POLYLINE_STYLE__ +__GO_INTERP_COLOR_VECTOR__ +__GO_INTERP_COLOR_VECTOR_SET__ +__GO_INTERP_COLOR_MODE__ +__GO_X_SHIFT__ +__GO_Y_SHIFT__ +__GO_Z_SHIFT__ +__GO_BAR_WIDTH__ + +__GO_SURFACE_MODE__ +__GO_COLOR_MODE__ +__GO_COLOR_FLAG__ + +__GO_ALIGNMENT__ +__GO_BOX__ +__GO_TEXT_BOX__ +__GO_TEXT_BOX_MODE__ +__GO_AUTO_DIMENSIONING__ + +__GO_FORMATTED_TEXT__ +__GO_TEXT_ARRAY_DIMENSIONS__ +__GO_TEXT_STRINGS__ + +__GO_BASE__ +__GO_BASE_X__ +__GO_BASE_Y__ +__GO_BASE_Z__ +__GO_DIRECTION__ +__GO_DIRECTION_X__ +__GO_DIRECTION_Y__ +__GO_DIRECTION_Z__ +__GO_ARROW_SIZE__ +__GO_SEGS_COLORS__ + +__GO_COLORED__ + +__GO_ARROWS__ +__GO_NUMBER_ARROWS__ +__GO_CHAMP_DIMENSIONS__ +__GO_BOUNDING_BOX__ +__GO_MAX_LENGTH__ +__GO_MAX_USABLE_LENGTH__ + +__GO_HIDDEN_COLOR__ + +__GO_STYLE__ +__GO_UI_CHECKBOX__ +__GO_UI_EDIT__ +__GO_UI_SPINNER__ +__GO_UI_FRAME__ +__GO_UI_FRAME_SCROLLABLE__ +__GO_UI_IMAGE__ +__GO_UI_LISTBOX__ +__GO_UI_POPUPMENU__ +__GO_UI_PUSHBUTTON__ +__GO_UI_RADIOBUTTON__ +__GO_UI_SLIDER__ +__GO_UI_TABLE__ +__GO_UI_TEXT__ +__GO_UI_LAYER__ + +__GO_UI_BACKGROUNDCOLOR__ +__GO_UI_ENABLE__ +__GO_UI_FONTANGLE__ +__GO_UI_FONTNAME__ +__GO_UI_FONTSIZE__ +__GO_UI_FONTUNITS__ +__GO_UI_FONTWEIGHT__ +__GO_UI_FOREGROUNDCOLOR__ +__GO_UI_HORIZONTALALIGNMENT__ +__GO_UI_LISTBOXTOP__ +__GO_UI_LISTBOXTOP_SIZE__ +__GO_UI_MAX__ +__GO_UI_MIN__ +__GO_UI_RELIEF__ +__GO_UI_STRING__ +__GO_UI_TAB_STRING__ +__GO_UI_STRING_SIZE__ +__GO_UI_STRING_COLNB__ +__GO_UI_TOOLTIPSTRING__ +__GO_UI_TOOLTIPSTRING_SIZE__ +__GO_UI_SLIDERSTEP__ +__GO_UI_UNITS__ +__GO_UI_VALUE__ +__GO_UI_TAB_VALUE__ +__GO_UI_VALUE_SIZE__ +__GO_UI_VERTICALALIGNMENT__ + +__GO_UIPARENTMENU__ +__GO_UICHILDMENU__ +__GO_UICHECKEDMENU__ +__GO_UI_CHECKED__ +__GO_UI_LABEL__ +__GO_UI_MNEMONIC__ +__GO_UI_ACCELERATOR__ +__GO_UI_SEPARATOR__ +__GO_UI_ICON__ + +__GO_CONSOLE__ +__GO_SHOWHIDDENHANDLES__ +__GO_SHOWHIDDENPROPERTIES__ +__GO_USEDEPRECATEDLF__ + +__GO_WAITBAR__ +__GO_PROGRESSIONBAR__ +__GO_UI_MESSAGE__ +__GO_UI_MESSAGE_SIZE__ + +__GO_DATATIP__ +__GO_DATATIP_DATA__ +__GO_DATATIP_ORIENTATION__ +__GO_DATATIP_3COMPONENT__ +__GO_DATATIP_AUTOORIENTATION__ +__GO_DATATIP_INTERP_MODE__ +__GO_DATATIP_DISPLAY_FNC__ +__GO_DATATIP_BOX_MODE__ +__GO_DATATIP_LABEL_MODE__ +__GO_DATATIP_MARK__ + +__GO_AMBIENTCOLOR__ +__GO_DIFFUSECOLOR__ +__GO_SPECULARCOLOR__ + +__GO_COLOR_MATERIAL__ +__GO_MATERIAL_SHININESS__ + +__GO_LIGHT__ +__GO_LIGHT_TYPE__ + +__GO_DATATIPS__ +__GO_DATATIPS_COUNT__ +__GO_DATATIP_INDEXES__ + +__GO_DATA_MODEL_DISPLAY_FUNCTION__ +__GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ + +__GO_RESIZE__ +__GO_TOOLBAR__ +__GO_TOOLBAR_VISIBLE__ +__GO_MENUBAR__ +__GO_MENUBAR_VISIBLE__ +__GO_INFOBAR_VISIBLE__ +__GO_DOCKABLE__ +__GO_LAYOUT__ +__GO_LAYOUT_SET__ +__GO_UI_TAB__ + +__GO_UI_GRIDBAG_GRID__ +__GO_UI_GRIDBAG_WEIGHT__ +__GO_UI_GRIDBAG_FILL__ +__GO_UI_GRIDBAG_ANCHOR__ +__GO_UI_GRIDBAG_PADDING__ +__GO_UI_GRIDBAG_PREFERREDSIZE__ + +__GO_UI_GRID_GRID__ +__GO_UI_GRID_PADDING__ + +__GO_UI_BORDER_POSITION__ +__GO_UI_BORDER_PREFERREDSIZE__ + + +__GO_GRID_OPT_GRID__ +__GO_GRID_OPT_PADDING__ +__GO_BORDER_OPT_PADDING__ + +__GO_UI_FRAME_BORDER__ +__GO_UI_FRAME_BORDER_COLOR__ +__GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ +__GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ +__GO_UI_FRAME_BORDER_IN_BORDER__ +__GO_UI_FRAME_BORDER_JUSTIFICATION__ +__GO_UI_FRAME_BORDER_OUT_BORDER__ +__GO_UI_FRAME_BORDER_ROUNDED__ +__GO_UI_FRAME_BORDER_SHADOW_IN__ +__GO_UI_FRAME_BORDER_SHADOW_OUT__ +__GO_UI_FRAME_BORDER_TITLE__ +__GO_UI_FRAME_BORDER_POSITION__ +__GO_UI_FRAME_BORDER_STYLE__ +__GO_UI_GROUP_NAME__ +__GO_UI_TITLE_POSITION__ +__GO_UI_TITLE_SCROLL__ +__GO_UI_FRAME_BORDER_TYPE__ +__GO_UI_SCROLLABLE__ + diff --git a/modules/graphic_objects/tests/java/org/scilab/tests/modules/graphic_objects/testAxes.java b/modules/graphic_objects/tests/java/org/scilab/tests/modules/graphic_objects/testAxes.java new file mode 100755 index 000000000..fe221e880 --- /dev/null +++ b/modules/graphic_objects/tests/java/org/scilab/tests/modules/graphic_objects/testAxes.java @@ -0,0 +1,1183 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.tests.modules.graphic_objects; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.rmi.server.UID; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Random; + +import org.scilab.modules.graphic_objects.axes.Axes; +import org.scilab.modules.graphic_objects.axes.Axes.GridPosition; +import org.scilab.modules.graphic_objects.axes.AxisProperty.AxisLocation; +import org.scilab.modules.graphic_objects.axes.Box.BoxType; +import org.scilab.modules.graphic_objects.axes.Camera.ViewType; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.Type; +import org.scilab.modules.graphic_objects.label.Label; +import org.scilab.modules.graphic_objects.textObject.FormattedText; +import org.scilab.modules.graphic_objects.textObject.Font; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +import org.junit.*; + +/** + * Axes test class + * @author Manuel JULIACHS + */ +public class testAxes { + + /** The default number of ticks */ + public static final int DEFAULT_NUMBER_OF_TICKS = 11; + + /** Figure identifier */ + private Integer figureID; + + /** The Axes identifier */ + private Integer axesID; + + /** X-Axis label identifier */ + private Integer xlabelID; + + /** Y-Axis label identifier */ + private Integer ylabelID; + + /** Z-Axis label identifier */ + private Integer zlabelID; + + /** Title label identifier */ + private Integer titleID; + + /** Graphic controller */ + private GraphicController controller; + + /** X-Axis label */ + private Label xlabel; + + /** Y-Axis label */ + private Label ylabel; + + /** Z-Axis label */ + private Label zlabel; + + /** title label */ + private Label title; + + /** Axes object used for data initialization */ + private Axes initAxes; + + /** + * Creates the Axes graphic object. + * Called only once. + */ + @Before + public void createAxes() { + + controller = GraphicController.getController(); + assert controller != null; + + axesID = controller.askObject(Type.AXES); + GraphicObject axes = (GraphicObject) controller.getObjectFromId(axesID); + assert axes != null; + + /* Allocate an empty figure and link the axes and figure */ + final Integer figureID = controller.askObject(Type.FIGURE); + axes.setParent(figureID); + } + + /** + * Utility method which creates the graphic objects used by the Axes object and + * initializes data relevant to the Axes properties. + * Must be called prior to any set/get calls, once per group of tests (see below). + * Most properties are randomly chosen (for example the axes properties such as visible, + * reverse, data bounds values are offset by a random value, etc.). Only a few are not + * (such as each axis' location or the box type). + * The point of random initialization is to ensure that set and get work correctly, by comparing + * the initial random values which are then assigned by set calls to the results obtained by get calls + * (the former and the latter should of course be equal). + */ + @Before + public void initializeData() { + this.createAxes(); + figureID = controller.askObject(Type.FIGURE); + GraphicObject parentFigure = (GraphicObject) controller.getObjectFromId(figureID); + assert parentFigure != null; + + xlabelID = controller.askObject(Type.LABEL); + xlabel = (Label) controller.getObjectFromId(xlabelID); + assert xlabel != null; + + ylabelID = controller.askObject(Type.LABEL); + ylabel = (Label) controller.getObjectFromId(ylabelID); + assert ylabel != null; + + zlabelID = controller.askObject(Type.LABEL); + zlabel = (Label) controller.getObjectFromId(zlabelID); + assert zlabel != null; + + titleID = controller.askObject(Type.LABEL); + title = (Label) controller.getObjectFromId(titleID); + assert title != null; + + Random randomGen = new Random(); + + initAxes = new Axes(); + assert initAxes != null; + + /* Allocate an empty figure and link the axes and figure */ + final Integer figureInitID = controller.askObject(Type.FIGURE); + initAxes.setParent(figureInitID); + + /* GraphicObjects properties */ + initAxes.setVisible(randomGen.nextBoolean()); + + /* Axes properties */ + Integer axisLocation = randomGen.nextInt(6); + initAxes.setXAxisVisible(randomGen.nextBoolean()); + initAxes.setXAxisReverse(randomGen.nextBoolean()); + initAxes.setXAxisGridColor(randomGen.nextInt()); + initAxes.setXAxisLocationAsEnum(AxisLocation.intToEnum(axisLocation)); + initAxes.setXAxisLogFlag(randomGen.nextBoolean()); + initAxes.setXAxisAutoTicks(randomGen.nextBoolean()); + initAxes.setXAxisSubticks(randomGen.nextInt()); + + axisLocation = randomGen.nextInt(6); + initAxes.setYAxisVisible(randomGen.nextBoolean()); + initAxes.setYAxisReverse(randomGen.nextBoolean()); + initAxes.setYAxisGridColor(randomGen.nextInt()); + initAxes.setYAxisLocationAsEnum(AxisLocation.intToEnum(axisLocation)); + initAxes.setYAxisLogFlag(randomGen.nextBoolean()); + initAxes.setYAxisAutoTicks(randomGen.nextBoolean()); + initAxes.setYAxisSubticks(randomGen.nextInt()); + + axisLocation = randomGen.nextInt(6); + initAxes.setZAxisVisible(randomGen.nextBoolean()); + initAxes.setZAxisReverse(randomGen.nextBoolean()); + initAxes.setZAxisGridColor(randomGen.nextInt()); + initAxes.setZAxisLocationAsEnum(AxisLocation.intToEnum(axisLocation)); + initAxes.setZAxisLogFlag(randomGen.nextBoolean()); + initAxes.setZAxisAutoTicks(randomGen.nextBoolean()); + initAxes.setZAxisSubticks(randomGen.nextInt()); + + /* ticks locations */ + + Double dataXShift = randomGen.nextDouble() % 0.1; + Double dataYShift = randomGen.nextDouble() % 0.1; + Double dataZShift = randomGen.nextDouble() % 0.1; + + Double xMin = dataXShift; + Double yMin = dataXShift; + Double zMin = -1.0 + dataXShift; + + Double[] dataBounds = new Double[] {dataXShift, dataYShift, -1.0 + dataZShift, + 1.0 + dataXShift, 1.0 + dataYShift, 1.0 + dataZShift + }; + Double[] realDataBounds = new Double[] {dataXShift, dataYShift, -1.0 + dataZShift, + 1.0 + dataXShift, 1.0 + dataYShift, 1.0 + dataZShift + }; + + Double[] xlocs = new Double[DEFAULT_NUMBER_OF_TICKS]; + Double[] ylocs = new Double[DEFAULT_NUMBER_OF_TICKS]; + Double[] zlocs = new Double[DEFAULT_NUMBER_OF_TICKS]; + + for (int i = 0; i < DEFAULT_NUMBER_OF_TICKS; i++) { + double posRatio = (double) i / (double) DEFAULT_NUMBER_OF_TICKS; + xlocs[i] = posRatio * (dataBounds[3] - dataBounds[0]) + dataBounds[0]; + ylocs[i] = posRatio * (dataBounds[4] - dataBounds[1]) + dataBounds[1]; + zlocs[i] = posRatio * (dataBounds[5] - dataBounds[2]) + dataBounds[2]; + } + + ArrayList <FormattedText> xlabels = new ArrayList(DEFAULT_NUMBER_OF_TICKS); + ArrayList <FormattedText> ylabels = new ArrayList(DEFAULT_NUMBER_OF_TICKS); + ArrayList <FormattedText> zlabels = new ArrayList(DEFAULT_NUMBER_OF_TICKS); + + Font xFont = new Font(); + xFont.setColor(randomGen.nextInt()); + xFont.setSize(1.0); + Font yFont = new Font(); + yFont.setColor(randomGen.nextInt()); + yFont.setSize(2.0); + Font zFont = new Font(); + zFont.setColor(randomGen.nextInt()); + zFont.setSize(3.0); + + for (int i = 0; i < DEFAULT_NUMBER_OF_TICKS; i++) { + FormattedText newtext = new FormattedText(); + Integer ind = new Integer(i); + newtext.setText("Xtext" + ind.toString()); + newtext.setFont(xFont); + xlabels.add(newtext); + newtext = new FormattedText(); + newtext.setText("Ytext" + ind.toString()); + newtext.setFont(yFont); + ylabels.add(newtext); + newtext = new FormattedText(); + newtext.setText("Ztext" + ind.toString()); + newtext.setFont(zFont); + zlabels.add(newtext); + } + + initAxes.setXAxisTicksLocations(xlocs); + initAxes.setXAxisTicksLabelsAsArrayList(xlabels); + initAxes.setYAxisTicksLocations(ylocs); + initAxes.setYAxisTicksLabelsAsArrayList(ylabels); + initAxes.setZAxisTicksLocations(zlocs); + initAxes.setZAxisTicksLabelsAsArrayList(zlabels); + + initAxes.setAutoSubticks(randomGen.nextBoolean()); + + /* Miscellaneous Axes properties */ + Double marginXShift = randomGen.nextDouble() % 0.1; + Double marginYShift = randomGen.nextDouble() % 0.1; + Double[] margins = new Double[] {0.15 + marginXShift, 0.15 + marginXShift, 0.15 + marginYShift, 0.15 + marginYShift}; + Double axesBoundsXShift = randomGen.nextDouble() % 0.1; + Double axesBoundsYShift = randomGen.nextDouble() % 0.1; + Double[] axesBounds = new Double[] {axesBoundsXShift, axesBoundsYShift, 1.0 - axesBoundsXShift, 1.0 - axesBoundsYShift}; + + initAxes.setGridPositionAsEnum(GridPosition.BACKGROUND); + initAxes.setAutoClear(randomGen.nextBoolean()); + initAxes.setFilled(randomGen.nextBoolean()); + initAxes.setBackground(randomGen.nextInt()); + initAxes.setMargins(margins); + initAxes.setAxesBounds(axesBounds); + + /* Properties applied to child objects */ + initAxes.setHiddenColor(randomGen.nextInt()); + initAxes.setLineMode(randomGen.nextBoolean()); + initAxes.setLineStyle(randomGen.nextInt(7)); + initAxes.setLineThickness(randomGen.nextDouble()); + initAxes.setLineColor(randomGen.nextInt()); + + initAxes.setMarkMode(randomGen.nextBoolean()); + initAxes.setMarkStyle(randomGen.nextInt()); + initAxes.setMarkSize(randomGen.nextInt()); + initAxes.setMarkSizeUnit(randomGen.nextInt(2)); + initAxes.setMarkForeground(randomGen.nextInt()); + initAxes.setMarkBackground(randomGen.nextInt()); + + initAxes.setClipState(randomGen.nextInt(3)); + + Double xShift = randomGen.nextDouble() % 0.2; + Double yShift = randomGen.nextDouble() % 0.2; + Double xDim = 0.8 + randomGen.nextDouble() % 1.0; + Double yDim = 0.8 + randomGen.nextDouble() % 1.0; + Double[] clipBox = new Double[] {1.0 - xShift, 1.0 - yShift, xDim, yDim}; + + initAxes.setClipBox(clipBox); + + initAxes.setArcDrawingMethod(randomGen.nextInt(2)); + + /* Camera properties */ + Double[] rotationAngles = new Double[] {randomGen.nextDouble() * 90.0, randomGen.nextDouble() * 360.0}; + + initAxes.setViewAsEnum(ViewType.VIEW_3D); + initAxes.setCubeScaling(randomGen.nextBoolean()); + initAxes.setIsoview(randomGen.nextBoolean()); + initAxes.setRotationAngles(rotationAngles); + + /* Box properties */ + Double zoomXShift = randomGen.nextDouble() % 0.1; + Double zoomYShift = randomGen.nextDouble() % 0.1; + Double zoomZShift = randomGen.nextDouble() % 0.1; + Double[] zoomBox = new Double[] {zoomXShift, zoomYShift, -1.0 + zoomZShift, 1.0 - zoomXShift, 1.0 - zoomYShift, 1.0 - zoomZShift}; + + Integer boxType = randomGen.nextInt(4); + initAxes.setBoxTypeAsEnum(BoxType.intToEnum(boxType)); + + initAxes.setHiddenAxisColor(randomGen.nextInt()); + initAxes.setTightLimits(randomGen.nextBoolean()); + initAxes.setDataBounds(dataBounds); + initAxes.setRealDataBounds(realDataBounds); + initAxes.setZoomEnabled(randomGen.nextBoolean()); + initAxes.setZoomBox(zoomBox); + initAxes.setAutoScale(randomGen.nextBoolean()); + initAxes.setFirstPlot(randomGen.nextBoolean()); + } + + /* Reflection-based set/get methods tests */ + /* GraphicObject properties */ + @Test + public void testReflectSetGetAxesVisible() { + controller.setProperty(axesID, __GO_VISIBLE__, initAxes.getVisible()); + Boolean axesVisible = (Boolean) controller.getProperty(axesID, __GO_VISIBLE__); + assert axesVisible.equals(initAxes.getVisible()); + } + + /* X-Axis properties */ + @Test + public void testReflectSetGetXAxisVisible() { + controller.setProperty(axesID, __GO_X_AXIS_VISIBLE__, initAxes.getXAxisVisible()); + Boolean retAxisVisible = (Boolean) controller.getProperty(axesID, __GO_X_AXIS_VISIBLE__); + assert (retAxisVisible.equals(initAxes.getXAxisVisible())); + } + @Test + public void testReflectSetGetXAxisReverse() { + controller.setProperty(axesID, __GO_X_AXIS_REVERSE__, initAxes.getXAxisReverse()); + Boolean retAxisReverse = (Boolean) controller.getProperty(axesID, __GO_X_AXIS_REVERSE__); + assert (retAxisReverse.equals(initAxes.getXAxisReverse())); + } + @Test + public void testReflectSetGetXAxisGridColor() { + controller.setProperty(axesID, __GO_X_AXIS_GRID_COLOR__, initAxes.getXAxisGridColor()); + Integer retGridColor = (Integer) controller.getProperty(axesID, __GO_X_AXIS_GRID_COLOR__); + assert retGridColor.equals(initAxes.getXAxisGridColor()); + } + @Test + public void testReflectSetGetXAxisLabel() { + controller.setProperty(axesID, __GO_X_AXIS_LABEL__, xlabelID); + Integer retXlabel = (Integer) controller.getProperty(axesID, __GO_X_AXIS_LABEL__); + assert retXlabel.equals(xlabelID); + } + @Test + public void testReflectSetGetXAxisLocation() { + controller.setProperty(axesID, __GO_X_AXIS_LOCATION__, initAxes.getXAxisLocation()); + Integer retAxisLocation = (Integer) controller.getProperty(axesID, __GO_X_AXIS_LOCATION__); + assert retAxisLocation.equals(initAxes.getXAxisLocation()); + } + @Test + public void testReflectSetGetXAxisLogFlag() { + controller.setProperty(axesID, __GO_X_AXIS_LOG_FLAG__, initAxes.getXAxisLogFlag()); + Boolean retLogFlag = (Boolean) controller.getProperty(axesID, __GO_X_AXIS_LOG_FLAG__); + assert retLogFlag.equals(initAxes.getXAxisLogFlag()); + } + @Test + public void testReflectSetGetXAxisAutoTicks() { + controller.setProperty(axesID, __GO_X_AXIS_AUTO_TICKS__, initAxes.getXAxisAutoTicks()); + Boolean retAutoTicks = (Boolean) controller.getProperty(axesID, __GO_X_AXIS_AUTO_TICKS__); + assert retAutoTicks.equals(initAxes.getXAxisAutoTicks()); + } + @Test + public void testReflectSetGetXAxisSubTicks() { + controller.setProperty(axesID, __GO_X_AXIS_SUBTICKS__, initAxes.getXAxisSubticks()); + Integer retSubTicks = (Integer) controller.getProperty(axesID, __GO_X_AXIS_SUBTICKS__); + assert retSubTicks.equals(initAxes.getXAxisSubticks()); + } + @Test + public void testReflectSetGetXAxisTicksLocations() { + controller.setProperty(axesID, __GO_X_AXIS_TICKS_LOCATIONS__, initAxes.getXAxisTicksLocations()); + Double[] retTicksLocations = (Double[]) controller.getProperty(axesID, __GO_X_AXIS_TICKS_LOCATIONS__); + assert Arrays.equals(retTicksLocations, initAxes.getXAxisTicksLocations()); + } + @Test + public void testReflectSetGetXAxisTicksLabels() { + controller.setProperty(axesID, __GO_X_AXIS_TICKS_LABELS__, initAxes.getXAxisTicksLabels()); + String[] retTicksLabels = (String[]) controller.getProperty(axesID, __GO_X_AXIS_TICKS_LABELS__); + + assert Arrays.equals(retTicksLabels, initAxes.getXAxisTicksLabels()); + } + + /* Y-Axis properties */ + @Test + public void testReflectSetGetYAxisVisible() { + controller.setProperty(axesID, __GO_Y_AXIS_VISIBLE__, initAxes.getYAxisVisible()); + Boolean retAxisVisible = (Boolean) controller.getProperty(axesID, __GO_Y_AXIS_VISIBLE__); + assert (retAxisVisible.equals(initAxes.getYAxisVisible())); + } + @Test + public void testReflectSetGetYAxisReverse() { + controller.setProperty(axesID, __GO_Y_AXIS_REVERSE__, initAxes.getYAxisReverse()); + Boolean retAxisReverse = (Boolean) controller.getProperty(axesID, __GO_Y_AXIS_REVERSE__); + assert (retAxisReverse.equals(initAxes.getYAxisReverse())); + } + @Test + public void testReflectSetGetYAxisGridColor() { + controller.setProperty(axesID, __GO_Y_AXIS_GRID_COLOR__, initAxes.getYAxisGridColor()); + Integer retGridColor = (Integer) controller.getProperty(axesID, __GO_Y_AXIS_GRID_COLOR__); + assert retGridColor.equals(initAxes.getYAxisGridColor()); + } + @Test + public void testReflectSetGetYAxisLabel() { + controller.setProperty(axesID, __GO_Y_AXIS_LABEL__, ylabelID); + Integer retlabel = (Integer) controller.getProperty(axesID, __GO_Y_AXIS_LABEL__); + assert retlabel.equals(ylabelID); + } + @Test + public void testReflectSetGetYAxisLocation() { + controller.setProperty(axesID, __GO_Y_AXIS_LOCATION__, initAxes.getYAxisLocation()); + Integer retAxisLocation = (Integer) controller.getProperty(axesID, __GO_Y_AXIS_LOCATION__); + assert retAxisLocation.equals(initAxes.getYAxisLocation()); + } + @Test + public void testReflectSetGetYAxisLogFlag() { + controller.setProperty(axesID, __GO_Y_AXIS_LOG_FLAG__, initAxes.getYAxisLogFlag()); + Boolean retLogFlag = (Boolean) controller.getProperty(axesID, __GO_Y_AXIS_LOG_FLAG__); + assert retLogFlag.equals(initAxes.getYAxisLogFlag()); + } + @Test + public void testReflectSetGetYAxisAutoTicks() { + controller.setProperty(axesID, __GO_Y_AXIS_AUTO_TICKS__, initAxes.getYAxisAutoTicks()); + Boolean retAutoTicks = (Boolean) controller.getProperty(axesID, __GO_Y_AXIS_AUTO_TICKS__); + assert retAutoTicks.equals(initAxes.getYAxisAutoTicks()); + } + @Test + public void testReflectSetGetYAxisSubTicks() { + controller.setProperty(axesID, __GO_Y_AXIS_SUBTICKS__, initAxes.getYAxisSubticks()); + Integer retSubTicks = (Integer) controller.getProperty(axesID, __GO_Y_AXIS_SUBTICKS__); + assert retSubTicks.equals(initAxes.getYAxisSubticks()); + } + @Test + public void testReflectSetGetYAxisTicksLocations() { + controller.setProperty(axesID, __GO_Y_AXIS_TICKS_LOCATIONS__, initAxes.getYAxisTicksLocations()); + Double[] retTicksLocations = (Double[]) controller.getProperty(axesID, __GO_Y_AXIS_TICKS_LOCATIONS__); + assert Arrays.equals(retTicksLocations, initAxes.getYAxisTicksLocations()); + } + @Test + public void testReflectSetGetYAxisTicksLabels() { + controller.setProperty(axesID, __GO_Y_AXIS_TICKS_LABELS__, initAxes.getYAxisTicksLabels()); + String[] retTicksLabels = (String[]) controller.getProperty(axesID, __GO_Y_AXIS_TICKS_LABELS__); + + assert Arrays.equals(retTicksLabels, initAxes.getYAxisTicksLabels()); + } + + /* Z-Axis properties */ + @Test + public void testReflectSetGetZAxisVisible() { + controller.setProperty(axesID, __GO_Z_AXIS_VISIBLE__, initAxes.getZAxisVisible()); + Boolean retAxisVisible = (Boolean) controller.getProperty(axesID, __GO_Z_AXIS_VISIBLE__); + assert (retAxisVisible.equals(initAxes.getZAxisVisible())); + } + @Test + public void testReflectSetGetZAxisReverse() { + controller.setProperty(axesID, __GO_Z_AXIS_REVERSE__, initAxes.getZAxisReverse()); + Boolean retAxisReverse = (Boolean) controller.getProperty(axesID, __GO_Z_AXIS_REVERSE__); + assert (retAxisReverse.equals(initAxes.getZAxisReverse())); + } + @Test + public void testReflectSetGetZAxisGridColor() { + controller.setProperty(axesID, __GO_Z_AXIS_GRID_COLOR__, initAxes.getZAxisGridColor()); + Integer retGridColor = (Integer) controller.getProperty(axesID, __GO_Z_AXIS_GRID_COLOR__); + assert retGridColor.equals(initAxes.getZAxisGridColor()); + } + @Test + public void testReflectSetGetZAxisLabel() { + controller.setProperty(axesID, __GO_Z_AXIS_LABEL__, zlabelID); + Integer retlabel = (Integer) controller.getProperty(axesID, __GO_Z_AXIS_LABEL__); + assert retlabel.equals(zlabelID); + } + @Test + public void testReflectSetGetZAxisLocation() { + controller.setProperty(axesID, __GO_Z_AXIS_LOCATION__, initAxes.getZAxisLocation()); + Integer retAxisLocation = (Integer) controller.getProperty(axesID, __GO_Z_AXIS_LOCATION__); + assert retAxisLocation.equals(initAxes.getZAxisLocation()); + } + @Test + public void testReflectSetGetZAxisLogFlag() { + controller.setProperty(axesID, __GO_Z_AXIS_LOG_FLAG__, initAxes.getZAxisLogFlag()); + Boolean retLogFlag = (Boolean) controller.getProperty(axesID, __GO_Z_AXIS_LOG_FLAG__); + assert retLogFlag.equals(initAxes.getZAxisLogFlag()); + } + @Test + public void testReflectSetGetZAxisAutoTicks() { + controller.setProperty(axesID, __GO_Z_AXIS_AUTO_TICKS__, initAxes.getZAxisAutoTicks()); + Boolean retAutoTicks = (Boolean) controller.getProperty(axesID, __GO_Z_AXIS_AUTO_TICKS__); + assert retAutoTicks.equals(initAxes.getZAxisAutoTicks()); + } + @Test + public void testReflectSetGetZAxisSubTicks() { + controller.setProperty(axesID, __GO_Z_AXIS_SUBTICKS__, initAxes.getZAxisSubticks()); + Integer retSubTicks = (Integer) controller.getProperty(axesID, __GO_Z_AXIS_SUBTICKS__); + assert retSubTicks.equals(initAxes.getZAxisSubticks()); + } + @Test + public void testReflectSetGetZAxisTicksLocations() { + controller.setProperty(axesID, __GO_Z_AXIS_TICKS_LOCATIONS__, initAxes.getZAxisTicksLocations()); + Double[] retTicksLocations = (Double[]) controller.getProperty(axesID, __GO_Z_AXIS_TICKS_LOCATIONS__); + assert Arrays.equals(retTicksLocations, initAxes.getZAxisTicksLocations()); + } + @Test + public void testReflectSetGetZAxisTicksLabels() { + controller.setProperty(axesID, __GO_Z_AXIS_TICKS_LABELS__, initAxes.getZAxisTicksLabels()); + String[] retTicksLabels = (String[]) controller.getProperty(axesID, __GO_Z_AXIS_TICKS_LABELS__); + + assert Arrays.equals(retTicksLabels, initAxes.getZAxisTicksLabels()); + } + + /* Ticks property shared by the three axes */ + @Test + public void testReflectSetGetAutoSubticks() { + controller.setProperty(axesID, __GO_AUTO_SUBTICKS__, initAxes.getAutoSubticks()); + Boolean retAutoSubticks = (Boolean) controller.getProperty(axesID, __GO_AUTO_SUBTICKS__); + assert retAutoSubticks.equals(initAxes.getAutoSubticks()); + } + + /* Miscellaneous Axes properties */ + @Test + public void testReflectSetGetGridPosition() { + controller.setProperty(axesID, __GO_GRID_POSITION__, initAxes.getGridPosition()); + Integer retGridPos = (Integer) controller.getProperty(axesID, __GO_GRID_POSITION__); + assert retGridPos.equals(initAxes.getGridPosition()); + } + @Test + public void testReflectSetGetTitle() { + controller.setProperty(axesID, __GO_TITLE__, titleID); + Integer retTitle = (Integer) controller.getProperty(axesID, __GO_TITLE__); + assert retTitle.equals(titleID); + } + @Test + public void testReflectSetGetAutoClear() { + controller.setProperty(axesID, __GO_AUTO_CLEAR__, initAxes.getAutoClear()); + Boolean retAutoClear = (Boolean) controller.getProperty(axesID, __GO_AUTO_CLEAR__); + assert retAutoClear.equals(initAxes.getAutoClear()); + } + @Test + public void testReflectSetGetFilled() { + controller.setProperty(axesID, __GO_FILLED__, initAxes.getFilled()); + Boolean retFilled = (Boolean) controller.getProperty(axesID, __GO_FILLED__); + assert retFilled.equals(initAxes.getFilled()); + } + @Test + public void testReflectSetGetBackground() { + controller.setProperty(axesID, __GO_BACKGROUND__, initAxes.getBackground()); + Integer retBackground = (Integer) controller.getProperty(axesID, __GO_BACKGROUND__); + assert retBackground.equals(initAxes.getBackground()); + } + @Test + public void testReflectSetGetMargins() { + controller.setProperty(axesID, __GO_MARGINS__, initAxes.getMargins()); + Double[] retMargins = (Double[]) controller.getProperty(axesID, __GO_MARGINS__); + assert Arrays.equals(retMargins, initAxes.getMargins()); + } + @Test + public void testReflectSetGetAxesBounds() { + controller.setProperty(axesID, __GO_AXES_BOUNDS__, initAxes.getAxesBounds()); + Double[] retAxesBounds = (Double[]) controller.getProperty(axesID, __GO_AXES_BOUNDS__); + assert Arrays.equals(retAxesBounds, initAxes.getAxesBounds()); + } + + /* Camera properties */ + @Test + public void testReflectSetGetView() { + controller.setProperty(axesID, __GO_VIEW__, initAxes.getView()); + Integer retView = (Integer) controller.getProperty(axesID, __GO_VIEW__); + assert retView.equals(initAxes.getView()); + } + @Test + public void testReflectSetGetIsoview() { + controller.setProperty(axesID, __GO_ISOVIEW__, initAxes.getIsoview()); + Boolean retIsoview = (Boolean) controller.getProperty(axesID, __GO_ISOVIEW__); + assert retIsoview.equals(initAxes.getIsoview()); + } + @Test + public void testReflectSetGetCubeScaling() { + controller.setProperty(axesID, __GO_CUBE_SCALING__, initAxes.getCubeScaling()); + Boolean retCubeScaling = (Boolean) controller.getProperty(axesID, __GO_CUBE_SCALING__); + assert retCubeScaling.equals(initAxes.getCubeScaling()); + } + @Test + public void testReflectSetGetRotationAngles() { + controller.setProperty(axesID, __GO_ROTATION_ANGLES__, initAxes.getRotationAngles()); + Double[] retRotationAngles = (Double[]) controller.getProperty(axesID, __GO_ROTATION_ANGLES__); + assert (Arrays.equals(retRotationAngles, initAxes.getRotationAngles()) && retRotationAngles.length == 2); + } + + /* Box properties */ + @Test + public void testReflectSetGetBoxType() { + controller.setProperty(axesID, __GO_BOX_TYPE__, initAxes.getBoxType()); + Integer retBoxType = (Integer) controller.getProperty(axesID, __GO_BOX_TYPE__); + assert retBoxType.equals(initAxes.getBoxType()); + } + @Test + public void testReflectSetGetHiddenAxisColor() { + controller.setProperty(axesID, __GO_HIDDEN_AXIS_COLOR__, initAxes.getHiddenAxisColor()); + Integer retHiddenAxisColor = (Integer) controller.getProperty(axesID, __GO_HIDDEN_AXIS_COLOR__); + assert retHiddenAxisColor.equals(initAxes.getHiddenAxisColor()); + } + @Test + public void testReflectSetGetTightLimits() { + controller.setProperty(axesID, __GO_TIGHT_LIMITS__, initAxes.getTightLimits()); + Boolean retTightLimits = (Boolean) controller.getProperty(axesID, __GO_TIGHT_LIMITS__); + assert retTightLimits.equals(initAxes.getTightLimits()); + } + @Test + public void testReflectSetGetDataBounds() { + controller.setProperty(axesID, __GO_DATA_BOUNDS__, initAxes.getDataBounds()); + Double[] retDataBounds = (Double[]) controller.getProperty(axesID, __GO_DATA_BOUNDS__); + assert Arrays.equals(retDataBounds, initAxes.getDataBounds()); + } + @Test + public void testReflectSetGetRealDataBounds() { + controller.setProperty(axesID, __GO_REAL_DATA_BOUNDS__, initAxes.getRealDataBounds()); + Double[] retRealDataBounds = (Double[]) controller.getProperty(axesID, __GO_REAL_DATA_BOUNDS__); + assert Arrays.equals(retRealDataBounds, initAxes.getRealDataBounds()); + } + @Test + public void testReflectSetGetZoomEnabled() { + controller.setProperty(axesID, __GO_ZOOM_ENABLED__, initAxes.getZoomEnabled()); + Boolean retZoomEnabled = (Boolean) controller.getProperty(axesID, __GO_ZOOM_ENABLED__); + assert retZoomEnabled.equals(initAxes.getZoomEnabled()); + } + @Test + public void testReflectSetGetZoomBox() { + controller.setProperty(axesID, __GO_ZOOM_BOX__, initAxes.getZoomBox()); + Double[] retZoomBox = (Double[]) controller.getProperty(axesID, __GO_ZOOM_BOX__); + assert Arrays.equals(retZoomBox, initAxes.getZoomBox()); + } + @Test + public void testReflectSetGetAutoScale() { + controller.setProperty(axesID, __GO_AUTO_SCALE__, initAxes.getAutoScale()); + Boolean retAutoScale = (Boolean) controller.getProperty(axesID, __GO_AUTO_SCALE__); + assert retAutoScale.equals(initAxes.getAutoScale()); + } + @Test + public void testReflectSetGetFirstPlot() { + controller.setProperty(axesID, __GO_FIRST_PLOT__, initAxes.getFirstPlot()); + Boolean retFirstPlot = (Boolean) controller.getProperty(axesID, __GO_FIRST_PLOT__); + assert retFirstPlot.equals(initAxes.getFirstPlot()); + } + + /* Default properties */ + @Test + public void testReflectSetGetHiddenColor() { + controller.setProperty(axesID, __GO_HIDDEN_COLOR__, initAxes.getHiddenColor()); + Integer retHiddenColor = (Integer) controller.getProperty(axesID, __GO_HIDDEN_COLOR__); + assert retHiddenColor.equals(initAxes.getHiddenColor()); + } + @Test + public void testReflectSetGetLineMode() { + controller.setProperty(axesID, __GO_LINE_MODE__, initAxes.getLineMode()); + Boolean retLineMode = (Boolean) controller.getProperty(axesID, __GO_LINE_MODE__); + assert retLineMode.equals(initAxes.getLineMode()); + } + @Test + public void testReflectSetGetLineStyle() { + controller.setProperty(axesID, __GO_LINE_STYLE__, initAxes.getLineStyle()); + Integer retLineStyle = (Integer) controller.getProperty(axesID, __GO_LINE_STYLE__); + assert retLineStyle.equals(initAxes.getLineStyle()); + } + @Test + public void testReflectSetGetLineThickness() { + controller.setProperty(axesID, __GO_LINE_THICKNESS__, initAxes.getLineThickness()); + Double retLineThickness = (Double) controller.getProperty(axesID, __GO_LINE_THICKNESS__); + assert retLineThickness.equals(initAxes.getLineThickness()); + } + @Test + public void testReflectSetGetLineColor() { + controller.setProperty(axesID, __GO_LINE_COLOR__, initAxes.getLineColor()); + Integer retLineColor = (Integer) controller.getProperty(axesID, __GO_LINE_COLOR__); + assert retLineColor.equals(initAxes.getLineColor()); + } + @Test + public void testReflectSetGetMarkMode() { + controller.setProperty(axesID, __GO_MARK_MODE__, initAxes.getMarkMode()); + Boolean retMarkMode = (Boolean) controller.getProperty(axesID, __GO_MARK_MODE__); + assert retMarkMode.equals(initAxes.getMarkMode()); + } + @Test + public void testReflectSetGetMarkStyle() { + controller.setProperty(axesID, __GO_MARK_STYLE__, initAxes.getMarkStyle()); + Integer retMarkStyle = (Integer) controller.getProperty(axesID, __GO_MARK_STYLE__); + assert retMarkStyle.equals(initAxes.getMarkStyle()); + } + @Test + public void testReflectSetGetMarkSize() { + controller.setProperty(axesID, __GO_MARK_SIZE__, initAxes.getMarkSize()); + Integer retMarkSize = (Integer) controller.getProperty(axesID, __GO_MARK_SIZE__); + assert retMarkSize.equals(initAxes.getMarkSize()); + } + @Test + public void testReflectSetGetMarkSizeUnit() { + controller.setProperty(axesID, __GO_MARK_SIZE_UNIT__, initAxes.getMarkSizeUnit()); + Integer retMarkSizeUnit = (Integer) controller.getProperty(axesID, __GO_MARK_SIZE_UNIT__); + assert retMarkSizeUnit.equals(initAxes.getMarkSizeUnit()); + } + @Test + public void testReflectSetGetMarkForeground() { + controller.setProperty(axesID, __GO_MARK_FOREGROUND__, initAxes.getMarkForeground()); + Integer retMarkForeground = (Integer) controller.getProperty(axesID, __GO_MARK_FOREGROUND__); + assert retMarkForeground.equals(initAxes.getMarkForeground()); + } + @Test + public void testReflectSetGetMarkBackground() { + controller.setProperty(axesID, __GO_MARK_BACKGROUND__, initAxes.getMarkBackground()); + Integer retMarkBackground = (Integer) controller.getProperty(axesID, __GO_MARK_BACKGROUND__); + assert retMarkBackground.equals(initAxes.getMarkBackground()); + } + @Test + public void testReflectSetGetClipState() { + controller.setProperty(axesID, __GO_CLIP_STATE__, initAxes.getClipState()); + Integer retClipState = (Integer) controller.getProperty(axesID, __GO_CLIP_STATE__); + assert retClipState.equals(initAxes.getClipState()); + } + @Test + public void testReflectSetGetClipBox() { + controller.setProperty(axesID, __GO_CLIP_BOX__, initAxes.getClipBox()); + Double[] retClipBox = (Double[]) controller.getProperty(axesID, __GO_CLIP_BOX__); + assert Arrays.equals(retClipBox, initAxes.getClipBox()); + } + @Test + public void testReflectSetGetArcDrawingMethod() { + controller.setProperty(axesID, __GO_ARC_DRAWING_METHOD__, initAxes.getArcDrawingMethod()); + Integer retArcDrawingMethod = (Integer) controller.getProperty(axesID, __GO_ARC_DRAWING_METHOD__); + assert retArcDrawingMethod.equals(initAxes.getArcDrawingMethod()); + } + + /* Fast set/get methods tests */ + /* GraphicObject properties */ + + @Test + public void testFastSetGetParent() { + controller.setProperty(axesID, __GO_PARENT__, figureID); + Integer retParent = (Integer) controller.getProperty(axesID, __GO_PARENT__); + assert retParent.equals(figureID); + } + @Test + public void testFastSetGetAxesVisible() { + controller.setProperty(axesID, __GO_VISIBLE__, initAxes.getVisible()); + Boolean axesVisible = (Boolean) controller.getProperty(axesID, __GO_VISIBLE__); + assert axesVisible.equals(initAxes.getVisible()); + } + + + /* X-Axis properties */ + @Test + public void testFastSetGetXAxisVisible() { + controller.setProperty(axesID, __GO_X_AXIS_VISIBLE__, initAxes.getXAxisVisible()); + Boolean retAxisVisible = (Boolean) controller.getProperty(axesID, __GO_X_AXIS_VISIBLE__); + assert (retAxisVisible.equals(initAxes.getXAxisVisible())); + } + @Test + public void testFastSetGetXAxisReverse() { + controller.setProperty(axesID, __GO_X_AXIS_REVERSE__, initAxes.getXAxisReverse()); + Boolean retAxisReverse = (Boolean) controller.getProperty(axesID, __GO_X_AXIS_REVERSE__); + assert (retAxisReverse.equals(initAxes.getXAxisReverse())); + } + @Test + public void testFastSetGetXAxisGridColor() { + controller.setProperty(axesID, __GO_X_AXIS_GRID_COLOR__, initAxes.getXAxisGridColor()); + Integer retGridColor = (Integer) controller.getProperty(axesID, __GO_X_AXIS_GRID_COLOR__); + assert retGridColor.equals(initAxes.getXAxisGridColor()); + } + @Test + public void testFastSetGetXAxisLabel() { + controller.setProperty(axesID, __GO_X_AXIS_LABEL__, xlabelID); + Integer retXlabel = (Integer) controller.getProperty(axesID, __GO_X_AXIS_LABEL__); + assert retXlabel.equals(xlabelID); + } + @Test + public void testFastSetGetXAxisLocation() { + controller.setProperty(axesID, __GO_X_AXIS_LOCATION__, initAxes.getXAxisLocation()); + Integer retAxisLocation = (Integer) controller.getProperty(axesID, __GO_X_AXIS_LOCATION__); + assert retAxisLocation.equals(initAxes.getXAxisLocation()); + } + @Test + public void testFastSetGetXAxisLogFlag() { + controller.setProperty(axesID, __GO_X_AXIS_LOG_FLAG__, initAxes.getXAxisLogFlag()); + Boolean retLogFlag = (Boolean) controller.getProperty(axesID, __GO_X_AXIS_LOG_FLAG__); + assert retLogFlag.equals(initAxes.getXAxisLogFlag()); + } + @Test + public void testFastSetGetXAxisAutoTicks() { + controller.setProperty(axesID, __GO_X_AXIS_AUTO_TICKS__, initAxes.getXAxisAutoTicks()); + Boolean retAutoTicks = (Boolean) controller.getProperty(axesID, __GO_X_AXIS_AUTO_TICKS__); + assert retAutoTicks.equals(initAxes.getXAxisAutoTicks()); + } + @Test + public void testFastSetGetXAxisSubTicks() { + controller.setProperty(axesID, __GO_X_AXIS_SUBTICKS__, initAxes.getXAxisSubticks()); + Integer retSubTicks = (Integer) controller.getProperty(axesID, __GO_X_AXIS_SUBTICKS__); + assert retSubTicks.equals(initAxes.getXAxisSubticks()); + } + @Test + public void testFastSetGetXAxisTicksLocations() { + controller.setProperty(axesID, __GO_X_AXIS_TICKS_LOCATIONS__, initAxes.getXAxisTicksLocations()); + Double[] retTicksLocations = (Double[]) controller.getProperty(axesID, __GO_X_AXIS_TICKS_LOCATIONS__); + assert Arrays.equals(retTicksLocations, initAxes.getXAxisTicksLocations()); + } + @Test + public void testFastSetGetXAxisTicksLabels() { + controller.setProperty(axesID, __GO_X_AXIS_TICKS_LABELS__, initAxes.getXAxisTicksLabels()); + String[] retTicksLabels = (String[]) controller.getProperty(axesID, __GO_X_AXIS_TICKS_LABELS__); + assert Arrays.equals(retTicksLabels, initAxes.getXAxisTicksLabels()); + } + + /* Y-Axis properties */ + @Test + public void testFastSetGetYAxisVisible() { + controller.setProperty(axesID, __GO_Y_AXIS_VISIBLE__, initAxes.getYAxisVisible()); + Boolean retAxisVisible = (Boolean) controller.getProperty(axesID, __GO_Y_AXIS_VISIBLE__); + assert (retAxisVisible.equals(initAxes.getYAxisVisible())); + } + @Test + public void testFastSetGetYAxisReverse() { + controller.setProperty(axesID, __GO_Y_AXIS_REVERSE__, initAxes.getYAxisReverse()); + Boolean retAxisReverse = (Boolean) controller.getProperty(axesID, __GO_Y_AXIS_REVERSE__); + assert (retAxisReverse.equals(initAxes.getYAxisReverse())); + } + @Test + public void testFastSetGetYAxisGridColor() { + controller.setProperty(axesID, __GO_Y_AXIS_GRID_COLOR__, initAxes.getYAxisGridColor()); + Integer retGridColor = (Integer) controller.getProperty(axesID, __GO_Y_AXIS_GRID_COLOR__); + assert retGridColor.equals(initAxes.getYAxisGridColor()); + } + @Test + public void testFastSetGetYAxisLabel() { + controller.setProperty(axesID, __GO_Y_AXIS_LABEL__, ylabelID); + Integer retlabel = (Integer) controller.getProperty(axesID, __GO_Y_AXIS_LABEL__); + assert retlabel.equals(ylabelID); + } + @Test + public void testFastSetGetYAxisLocation() { + controller.setProperty(axesID, __GO_Y_AXIS_LOCATION__, initAxes.getYAxisLocation()); + Integer retAxisLocation = (Integer) controller.getProperty(axesID, __GO_Y_AXIS_LOCATION__); + assert retAxisLocation.equals(initAxes.getYAxisLocation()); + } + @Test + public void testFastSetGetYAxisLogFlag() { + controller.setProperty(axesID, __GO_Y_AXIS_LOG_FLAG__, initAxes.getYAxisLogFlag()); + Boolean retLogFlag = (Boolean) controller.getProperty(axesID, __GO_Y_AXIS_LOG_FLAG__); + assert retLogFlag.equals(initAxes.getYAxisLogFlag()); + } + @Test + public void testFastSetGetYAxisAutoTicks() { + controller.setProperty(axesID, __GO_Y_AXIS_AUTO_TICKS__, initAxes.getYAxisAutoTicks()); + Boolean retAutoTicks = (Boolean) controller.getProperty(axesID, __GO_Y_AXIS_AUTO_TICKS__); + assert retAutoTicks.equals(initAxes.getYAxisAutoTicks()); + } + @Test + public void testFastSetGetYAxisSubTicks() { + controller.setProperty(axesID, __GO_Y_AXIS_SUBTICKS__, initAxes.getYAxisSubticks()); + Integer retSubTicks = (Integer) controller.getProperty(axesID, __GO_Y_AXIS_SUBTICKS__); + assert retSubTicks.equals(initAxes.getYAxisSubticks()); + } + @Test + public void testFastSetGetYAxisTicksLocations() { + controller.setProperty(axesID, __GO_Y_AXIS_TICKS_LOCATIONS__, initAxes.getYAxisTicksLocations()); + Double[] retTicksLocations = (Double[]) controller.getProperty(axesID, __GO_Y_AXIS_TICKS_LOCATIONS__); + assert Arrays.equals(retTicksLocations, initAxes.getYAxisTicksLocations()); + } + @Test + public void testFastSetGetYAxisTicksLabels() { + controller.setProperty(axesID, __GO_Y_AXIS_TICKS_LABELS__, initAxes.getYAxisTicksLabels()); + String[] retTicksLabels = (String[]) controller.getProperty(axesID, __GO_Y_AXIS_TICKS_LABELS__); + assert Arrays.equals(retTicksLabels, initAxes.getYAxisTicksLabels()); + } + + /* Z-Axis properties */ + @Test + public void testFastSetGetZAxisVisible() { + controller.setProperty(axesID, __GO_Z_AXIS_VISIBLE__, initAxes.getZAxisVisible()); + Boolean retAxisVisible = (Boolean) controller.getProperty(axesID, __GO_Z_AXIS_VISIBLE__); + assert (retAxisVisible.equals(initAxes.getZAxisVisible())); + } + @Test + public void testFastSetGetZAxisReverse() { + controller.setProperty(axesID, __GO_Z_AXIS_REVERSE__, initAxes.getZAxisReverse()); + Boolean retAxisReverse = (Boolean) controller.getProperty(axesID, __GO_Z_AXIS_REVERSE__); + assert (retAxisReverse.equals(initAxes.getZAxisReverse())); + } + @Test + public void testFastSetGetZAxisGridColor() { + controller.setProperty(axesID, __GO_Z_AXIS_GRID_COLOR__, initAxes.getZAxisGridColor()); + Integer retGridColor = (Integer) controller.getProperty(axesID, __GO_Z_AXIS_GRID_COLOR__); + assert retGridColor.equals(initAxes.getZAxisGridColor()); + } + @Test + public void testFastSetGetZAxisLabel() { + controller.setProperty(axesID, __GO_Z_AXIS_LABEL__, zlabelID); + Integer retlabel = (Integer) controller.getProperty(axesID, __GO_Z_AXIS_LABEL__); + assert retlabel.equals(zlabelID); + } + @Test + public void testFastSetGetZAxisLocation() { + controller.setProperty(axesID, __GO_Z_AXIS_LOCATION__, initAxes.getZAxisLocation()); + Integer retAxisLocation = (Integer) controller.getProperty(axesID, __GO_Z_AXIS_LOCATION__); + assert retAxisLocation.equals(initAxes.getZAxisLocation()); + } + @Test + public void testFastSetGetZAxisLogFlag() { + controller.setProperty(axesID, __GO_Z_AXIS_LOG_FLAG__, initAxes.getZAxisLogFlag()); + Boolean retLogFlag = (Boolean) controller.getProperty(axesID, __GO_Z_AXIS_LOG_FLAG__); + assert retLogFlag.equals(initAxes.getZAxisLogFlag()); + } + @Test + public void testFastSetGetZAxisAutoTicks() { + controller.setProperty(axesID, __GO_Z_AXIS_AUTO_TICKS__, initAxes.getZAxisAutoTicks()); + Boolean retAutoTicks = (Boolean) controller.getProperty(axesID, __GO_Z_AXIS_AUTO_TICKS__); + assert retAutoTicks.equals(initAxes.getZAxisAutoTicks()); + } + @Test + public void testFastSetGetZAxisSubTicks() { + controller.setProperty(axesID, __GO_Z_AXIS_SUBTICKS__, initAxes.getZAxisSubticks()); + Integer retSubTicks = (Integer) controller.getProperty(axesID, __GO_Z_AXIS_SUBTICKS__); + assert retSubTicks.equals(initAxes.getZAxisSubticks()); + } + @Test + public void testFastSetGetZAxisTicksLocations() { + controller.setProperty(axesID, __GO_Z_AXIS_TICKS_LOCATIONS__, initAxes.getZAxisTicksLocations()); + Double[] retTicksLocations = (Double[]) controller.getProperty(axesID, __GO_Z_AXIS_TICKS_LOCATIONS__); + assert Arrays.equals(retTicksLocations, initAxes.getZAxisTicksLocations()); + } + @Test + public void testFastSetGetZAxisTicksLabels() { + controller.setProperty(axesID, __GO_Z_AXIS_TICKS_LABELS__, initAxes.getZAxisTicksLabels()); + String[] retTicksLabels = (String[]) controller.getProperty(axesID, __GO_Z_AXIS_TICKS_LABELS__); + assert Arrays.equals(retTicksLabels, initAxes.getZAxisTicksLabels()); + } + + /* Ticks property shared by the three axes */ + @Test + public void testFastSetGetAutoSubticks() { + controller.setProperty(axesID, __GO_AUTO_SUBTICKS__, initAxes.getAutoSubticks()); + Boolean retAutoSubticks = (Boolean) controller.getProperty(axesID, __GO_AUTO_SUBTICKS__); + assert retAutoSubticks.equals(initAxes.getAutoSubticks()); + } + + /* Miscellaneous Axes properties */ + @Test + public void testFastSetGetGridPosition() { + controller.setProperty(axesID, __GO_GRID_POSITION__, initAxes.getGridPosition()); + Integer retGridPos = (Integer) controller.getProperty(axesID, __GO_GRID_POSITION__); + assert retGridPos.equals(initAxes.getGridPosition()); + } + @Test + public void testFastSetGetTitle() { + controller.setProperty(axesID, __GO_TITLE__, titleID); + Integer retTitle = (Integer) controller.getProperty(axesID, __GO_TITLE__); + assert retTitle.equals(titleID); + } + @Test + public void testFastSetGetAutoClear() { + controller.setProperty(axesID, __GO_AUTO_CLEAR__, initAxes.getAutoClear()); + Boolean retAutoClear = (Boolean) controller.getProperty(axesID, __GO_AUTO_CLEAR__); + assert retAutoClear.equals(initAxes.getAutoClear()); + } + @Test + public void testFastSetGetFilled() { + controller.setProperty(axesID, __GO_FILLED__, initAxes.getFilled()); + Boolean retFilled = (Boolean) controller.getProperty(axesID, __GO_FILLED__); + assert retFilled.equals(initAxes.getFilled()); + } + @Test + public void testFastSetGetBackground() { + controller.setProperty(axesID, __GO_BACKGROUND__, initAxes.getBackground()); + Integer retBackground = (Integer) controller.getProperty(axesID, __GO_BACKGROUND__); + assert retBackground.equals(initAxes.getBackground()); + } + @Test + public void testFastSetGetMargins() { + controller.setProperty(axesID, __GO_MARGINS__, initAxes.getMargins()); + Double[] retMargins = (Double[]) controller.getProperty(axesID, __GO_MARGINS__); + assert Arrays.equals(retMargins, initAxes.getMargins()); + } + @Test + public void testFastSetGetAxesBounds() { + controller.setProperty(axesID, __GO_AXES_BOUNDS__, initAxes.getAxesBounds()); + Double[] retAxesBounds = (Double[]) controller.getProperty(axesID, __GO_AXES_BOUNDS__); + assert Arrays.equals(retAxesBounds, initAxes.getAxesBounds()); + } + + /* Camera properties */ + @Test + public void testFastSetGetView() { + controller.setProperty(axesID, __GO_VIEW__, initAxes.getView()); + Integer retView = (Integer) controller.getProperty(axesID, __GO_VIEW__); + assert retView.equals(initAxes.getView()); + } + @Test + public void testFastSetGetIsoview() { + controller.setProperty(axesID, __GO_ISOVIEW__, initAxes.getIsoview()); + Boolean retIsoview = (Boolean) controller.getProperty(axesID, __GO_ISOVIEW__); + assert retIsoview.equals(initAxes.getIsoview()); + } + @Test + public void testFastSetGetCubeScaling() { + controller.setProperty(axesID, __GO_CUBE_SCALING__, initAxes.getCubeScaling()); + Boolean retCubeScaling = (Boolean) controller.getProperty(axesID, __GO_CUBE_SCALING__); + assert retCubeScaling.equals(initAxes.getCubeScaling()); + } + @Test + public void testFastSetGetRotationAngles() { + controller.setProperty(axesID, __GO_ROTATION_ANGLES__, initAxes.getRotationAngles()); + Double[] retRotationAngles = (Double[]) controller.getProperty(axesID, __GO_ROTATION_ANGLES__); + assert (Arrays.equals(retRotationAngles, initAxes.getRotationAngles()) && retRotationAngles.length == 2); + } + + /* Box properties */ + @Test + public void testFastSetGetBoxType() { + controller.setProperty(axesID, __GO_BOX_TYPE__, initAxes.getBoxType()); + Integer retBoxType = (Integer) controller.getProperty(axesID, __GO_BOX_TYPE__); + assert retBoxType.equals(initAxes.getBoxType()); + } + @Test + public void testFastSetGetHiddenAxisColor() { + controller.setProperty(axesID, __GO_HIDDEN_AXIS_COLOR__, initAxes.getHiddenAxisColor()); + Integer retHiddenAxisColor = (Integer) controller.getProperty(axesID, __GO_HIDDEN_AXIS_COLOR__); + assert retHiddenAxisColor.equals(initAxes.getHiddenAxisColor()); + } + @Test + public void testFastSetGetTightLimits() { + controller.setProperty(axesID, __GO_TIGHT_LIMITS__, initAxes.getTightLimits()); + Boolean retTightLimits = (Boolean) controller.getProperty(axesID, __GO_TIGHT_LIMITS__); + assert retTightLimits.equals(initAxes.getTightLimits()); + } + @Test + public void testFastSetGetDataBounds() { + controller.setProperty(axesID, __GO_DATA_BOUNDS__, initAxes.getDataBounds()); + Double[] retDataBounds = (Double[]) controller.getProperty(axesID, __GO_DATA_BOUNDS__); + assert Arrays.equals(retDataBounds, initAxes.getDataBounds()); + } + @Test + public void testFastSetGetRealDataBounds() { + controller.setProperty(axesID, __GO_REAL_DATA_BOUNDS__, initAxes.getRealDataBounds()); + Double[] retRealDataBounds = (Double[]) controller.getProperty(axesID, __GO_REAL_DATA_BOUNDS__); + assert Arrays.equals(retRealDataBounds, initAxes.getRealDataBounds()); + } + @Test + public void testFastSetGetZoomEnabled() { + controller.setProperty(axesID, __GO_ZOOM_ENABLED__, initAxes.getZoomEnabled()); + Boolean retZoomEnabled = (Boolean) controller.getProperty(axesID, __GO_ZOOM_ENABLED__); + assert retZoomEnabled.equals(initAxes.getZoomEnabled()); + } + @Test + public void testFastSetGetZoomBox() { + controller.setProperty(axesID, __GO_ZOOM_BOX__, initAxes.getZoomBox()); + Double[] retZoomBox = (Double[]) controller.getProperty(axesID, __GO_ZOOM_BOX__); + assert Arrays.equals(retZoomBox, initAxes.getZoomBox()); + } + @Test + public void testFastSetGetAutoScale() { + controller.setProperty(axesID, __GO_AUTO_SCALE__, initAxes.getAutoScale()); + Boolean retAutoScale = (Boolean) controller.getProperty(axesID, __GO_AUTO_SCALE__); + assert retAutoScale.equals(initAxes.getAutoScale()); + } + @Test + public void testFastSetGetFirstPlot() { + controller.setProperty(axesID, __GO_FIRST_PLOT__, initAxes.getFirstPlot()); + Boolean retFirstPlot = (Boolean) controller.getProperty(axesID, __GO_FIRST_PLOT__); + assert retFirstPlot.equals(initAxes.getFirstPlot()); + } + + /* Default properties */ + @Test + public void testFastSetGetHiddenColor() { + controller.setProperty(axesID, __GO_HIDDEN_COLOR__, initAxes.getHiddenColor()); + Integer retHiddenColor = (Integer) controller.getProperty(axesID, __GO_HIDDEN_COLOR__); + assert retHiddenColor.equals(initAxes.getHiddenColor()); + } + @Test + public void testFastSetGetLineMode() { + controller.setProperty(axesID, __GO_LINE_MODE__, initAxes.getLineMode()); + Boolean retLineMode = (Boolean) controller.getProperty(axesID, __GO_LINE_MODE__); + assert retLineMode.equals(initAxes.getLineMode()); + } + @Test + public void testFastSetGetLineStyle() { + controller.setProperty(axesID, __GO_LINE_STYLE__, initAxes.getLineStyle()); + Integer retLineStyle = (Integer) controller.getProperty(axesID, __GO_LINE_STYLE__); + assert retLineStyle.equals(initAxes.getLineStyle()); + } + @Test + public void testFastSetGetLineThickness() { + controller.setProperty(axesID, __GO_LINE_THICKNESS__, initAxes.getLineThickness()); + Double retLineThickness = (Double) controller.getProperty(axesID, __GO_LINE_THICKNESS__); + assert retLineThickness.equals(initAxes.getLineThickness()); + } + @Test + public void testFastSetGetLineColor() { + controller.setProperty(axesID, __GO_LINE_COLOR__, initAxes.getLineColor()); + Integer retLineColor = (Integer) controller.getProperty(axesID, __GO_LINE_COLOR__); + assert retLineColor.equals(initAxes.getLineColor()); + } + @Test + public void testFastSetGetMarkMode() { + controller.setProperty(axesID, __GO_MARK_MODE__, initAxes.getMarkMode()); + Boolean retMarkMode = (Boolean) controller.getProperty(axesID, __GO_MARK_MODE__); + assert retMarkMode.equals(initAxes.getMarkMode()); + } + @Test + public void testFastSetGetMarkStyle() { + controller.setProperty(axesID, __GO_MARK_STYLE__, initAxes.getMarkStyle()); + Integer retMarkStyle = (Integer) controller.getProperty(axesID, __GO_MARK_STYLE__); + assert retMarkStyle.equals(initAxes.getMarkStyle()); + } + @Test + public void testFastSetGetMarkSize() { + controller.setProperty(axesID, __GO_MARK_SIZE__, initAxes.getMarkSize()); + Integer retMarkSize = (Integer) controller.getProperty(axesID, __GO_MARK_SIZE__); + assert retMarkSize.equals(initAxes.getMarkSize()); + } + @Test + public void testFastSetGetMarkSizeUnit() { + controller.setProperty(axesID, __GO_MARK_SIZE_UNIT__, initAxes.getMarkSizeUnit()); + Integer retMarkSizeUnit = (Integer) controller.getProperty(axesID, __GO_MARK_SIZE_UNIT__); + assert retMarkSizeUnit.equals(initAxes.getMarkSizeUnit()); + } + @Test + public void testFastSetGetMarkForeground() { + controller.setProperty(axesID, __GO_MARK_FOREGROUND__, initAxes.getMarkForeground()); + Integer retMarkForeground = (Integer) controller.getProperty(axesID, __GO_MARK_FOREGROUND__); + assert retMarkForeground.equals(initAxes.getMarkForeground()); + } + @Test + public void testFastSetGetMarkBackground() { + controller.setProperty(axesID, __GO_MARK_BACKGROUND__, initAxes.getMarkBackground()); + Integer retMarkBackground = (Integer) controller.getProperty(axesID, __GO_MARK_BACKGROUND__); + assert retMarkBackground.equals(initAxes.getMarkBackground()); + } + @Test + public void testFastSetGetClipState() { + controller.setProperty(axesID, __GO_CLIP_STATE__, initAxes.getClipState()); + Integer retClipState = (Integer) controller.getProperty(axesID, __GO_CLIP_STATE__); + assert retClipState.equals(initAxes.getClipState()); + } + @Test + public void testFastSetGetClipBox() { + controller.setProperty(axesID, __GO_CLIP_BOX__, initAxes.getClipBox()); + Double[] retClipBox = (Double[]) controller.getProperty(axesID, __GO_CLIP_BOX__); + assert Arrays.equals(retClipBox, initAxes.getClipBox()); + } + @Test + public void testFastSetGetArcDrawingMethod() { + controller.setProperty(axesID, __GO_ARC_DRAWING_METHOD__, initAxes.getArcDrawingMethod()); + Integer retArcDrawingMethod = (Integer) controller.getProperty(axesID, __GO_ARC_DRAWING_METHOD__); + assert retArcDrawingMethod.equals(initAxes.getArcDrawingMethod()); + } + + /** + * A simple utility method which compares two FormattedText ArrayLists + * @param list1 the first list + * @param list2 the second list + * @return true if the two lists are equal, else false + */ + public boolean compareFormattedTextLists(ArrayList <FormattedText> list1, ArrayList <FormattedText> list2) { + + if (list1.size() != list2.size()) { + return false; + } + + for (int i = 0; i < list1.size(); i++) { + String s1 = new String(((FormattedText) list1.get(i)).getText()); + String s2 = new String(((FormattedText) list2.get(i)).getText()); + + if (!s1.equals(s2)) { + return false; + } + + Font f1 = list1.get(i).getFont(); + Font f2 = list2.get(i).getFont(); + + if (!f1.equals(f2)) { + return false; + } + } + + return true; + } +} diff --git a/modules/graphic_objects/tests/java/org/scilab/tests/modules/graphic_objects/testGraphicObject.java b/modules/graphic_objects/tests/java/org/scilab/tests/modules/graphic_objects/testGraphicObject.java new file mode 100755 index 000000000..2c469836d --- /dev/null +++ b/modules/graphic_objects/tests/java/org/scilab/tests/modules/graphic_objects/testGraphicObject.java @@ -0,0 +1,342 @@ +/* + * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab + * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS + * + * This file must be used under the terms of the CeCILL. + * This source file is licensed as described in the file COPYING, which + * you should have received as part of this distribution. The terms + * are also available at + * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt + * + */ + +package org.scilab.tests.modules.graphic_objects; + +import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*; + +import org.scilab.modules.graphic_objects.arc.Arc; +import org.scilab.modules.graphic_objects.axes.Axes; +import org.scilab.modules.graphic_objects.axis.Axis; +import org.scilab.modules.graphic_objects.compound.Compound; +import org.scilab.modules.graphic_objects.fec.Fec; +import org.scilab.modules.graphic_objects.figure.Figure; +import org.scilab.modules.graphic_objects.graphicController.GraphicController; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject; +import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.Type; +import org.scilab.modules.graphic_objects.imageplot.Grayplot; +import org.scilab.modules.graphic_objects.imageplot.Matplot; +import org.scilab.modules.graphic_objects.label.Label; +import org.scilab.modules.graphic_objects.legend.Legend; +import org.scilab.modules.graphic_objects.polyline.Polyline; +import org.scilab.modules.graphic_objects.rectangle.Rectangle; +import org.scilab.modules.graphic_objects.surface.Fac3d; +import org.scilab.modules.graphic_objects.surface.Plot3d; +import org.scilab.modules.graphic_objects.textObject.Text; +import org.scilab.modules.graphic_objects.vectfield.Champ; +import org.scilab.modules.graphic_objects.vectfield.Segs; +import org.junit.*; + + +/** + * GraphicObject test class + * @author Manuel JULIACHS + */ +public class testGraphicObject { + + public static final int NONEXISTING_PROP = Integer.MAX_VALUE; + + @Test + public void simpleTest() throws NullPointerException { + GraphicController controller = GraphicController.getController(); + + Integer axesID = controller.askObject(Type.AXES); + GraphicObject axes = (GraphicObject) controller.getObjectFromId(axesID); + + assert(axes != null); + + Integer arcID = controller.askObject(Type.ARC); + GraphicObject arc = (GraphicObject) controller.getObjectFromId(arcID); + + assert(arc != null); + + Integer axesIDret = axes.getIdentifier(); + Integer arcIDret = arc.getIdentifier(); + + assert axesID.equals(axesIDret); + assert arcID.equals(arcIDret); + + Boolean arcVisible = new Boolean(true); + + controller.setProperty(arcID, __GO_VISIBLE__, arcVisible); + Boolean arcVisibleRet = (Boolean) controller.getProperty(arcID, __GO_VISIBLE__); + + assert (arcVisibleRet != null); + + assert arcVisible.equals(arcVisibleRet); + + Object nonExistingProp = (Object) controller.getProperty(arcID, NONEXISTING_PROP); + + assert nonExistingProp == null; + + controller.setProperty(arcID, __GO_PARENT__, axes.getIdentifier()); + + Integer arcParentId = (Integer) controller.getProperty(arcID, __GO_PARENT__); + GraphicObject arcParent = (GraphicObject) controller.getObjectFromId(arcParentId); + + assert(arcParent != null); + + assert arcParent.equals(axes); + + } + + @Test + public void arcCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_ARC__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Arc); + } + + @Test + public void arcCloneTest() { + GraphicController controller = GraphicController.getController(); + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_ARC__)); + Integer cloneId = null; + cloneId = controller.cloneObject(objectId); + + assert(cloneId != null); + Object graphicObject = controller.getObjectFromId(cloneId); + assert(graphicObject != null); + assert(graphicObject instanceof Arc); + } + + @Test + public void axesCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_AXES__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Axes); + } + + @Test + public void axesCloneTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_AXES__)); + Integer cloneId = null; + cloneId = controller.cloneObject(objectId); + + assert(cloneId != null); + Object graphicObject = controller.getObjectFromId(cloneId); + assert(graphicObject != null); + assert(graphicObject instanceof Axes); + } + + @Test + public void axisCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_AXIS__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Axis); + } + + @Test + public void champCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_CHAMP__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Champ); + } + + @Test + public void compoundCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_COMPOUND__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Compound); + } + + @Test + public void fac3dCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_FAC3D__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Fac3d); + } + + @Test + public void fecCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_FEC__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Fec); + } + + @Test + public void figureCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_FIGURE__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Figure); + } + + @Test + public void grayplotCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_GRAYPLOT__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Grayplot); + } + + @Test + public void labelCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_LABEL__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Label); + } + + @Test + public void legendCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_LEGEND__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Legend); + } + + @Test + public void matplotCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_MATPLOT__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Matplot); + } + + @Test + public void plot3dCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_PLOT3D__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Plot3d); + } + + @Test + public void polylineCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_POLYLINE__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Polyline); + } + + @Test + public void retangleCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_RECTANGLE__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Rectangle); + } + + @Test + public void segsCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_SEGS__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Segs); + } + + @Test + public void textCreationTest() { + GraphicController controller = GraphicController.getController(); + + Integer objectId = null; + objectId = controller.askObject(GraphicObject.getTypeFromName(__GO_TEXT__)); + assert(objectId != null); + + Object graphicObject = controller.getObjectFromId(objectId); + assert(graphicObject != null); + assert(graphicObject instanceof Text); + } + +} diff --git a/modules/graphic_objects/tests/nonreg_tests/bug_11472.dia.ref b/modules/graphic_objects/tests/nonreg_tests/bug_11472.dia.ref new file mode 100755 index 000000000..466af1b13 --- /dev/null +++ b/modules/graphic_objects/tests/nonreg_tests/bug_11472.dia.ref @@ -0,0 +1,23 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Cedric Delamarre +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- TEST WITH GRAPHIC --> +// <-- Non-regression test for bug 11472 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=11472 +// +// <-- Short Description --> +// sdf() changes figures menubar +S = get(0); +S.ShowHiddenHandles = "on"; +f = gcf(); +Nbrchild = length(f.children); +close(f); +sdf(); +f = gcf(); +assert_checkequal(length(f.children), Nbrchild); +close(f); diff --git a/modules/graphic_objects/tests/nonreg_tests/bug_11472.tst b/modules/graphic_objects/tests/nonreg_tests/bug_11472.tst new file mode 100755 index 000000000..d33377d16 --- /dev/null +++ b/modules/graphic_objects/tests/nonreg_tests/bug_11472.tst @@ -0,0 +1,28 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Cedric Delamarre +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- TEST WITH GRAPHIC --> + +// <-- Non-regression test for bug 11472 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/show_bug.cgi?id=11472 +// +// <-- Short Description --> +// sdf() changes figures menubar + +S = get(0); +S.ShowHiddenHandles = "on"; + +f = gcf(); +Nbrchild = length(f.children); +close(f); + +sdf(); +f = gcf(); +assert_checkequal(length(f.children), Nbrchild); +close(f); diff --git a/modules/graphic_objects/tests/nonreg_tests/bug_12234.dia.ref b/modules/graphic_objects/tests/nonreg_tests/bug_12234.dia.ref new file mode 100755 index 000000000..253563228 --- /dev/null +++ b/modules/graphic_objects/tests/nonreg_tests/bug_12234.dia.ref @@ -0,0 +1,17 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- TEST WITH GRAPHIC --> +// <-- Non-regression test for bug 12234 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/12234 +// +// <-- Short Description --> +// Crash with invalid property +refMsg = msprintf(_("''%s'' property does not exist for this handle.\n"), "data"); +e=gce(); +assert_checkerror("set(e, ''interp_color_vector'', 1:4)", refMsg); diff --git a/modules/graphic_objects/tests/nonreg_tests/bug_12234.tst b/modules/graphic_objects/tests/nonreg_tests/bug_12234.tst new file mode 100755 index 000000000..9fbc361b7 --- /dev/null +++ b/modules/graphic_objects/tests/nonreg_tests/bug_12234.tst @@ -0,0 +1,20 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- TEST WITH GRAPHIC --> + +// <-- Non-regression test for bug 12234 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/12234 +// +// <-- Short Description --> +// Crash with invalid property + +refMsg = msprintf(_("''%s'' property does not exist for this handle.\n"), "data"); +e=gce(); +assert_checkerror("set(e, ''interp_color_vector'', 1:4)", refMsg); diff --git a/modules/graphic_objects/tests/nonreg_tests/bug_13510.dia.ref b/modules/graphic_objects/tests/nonreg_tests/bug_13510.dia.ref new file mode 100755 index 000000000..e4288fed4 --- /dev/null +++ b/modules/graphic_objects/tests/nonreg_tests/bug_13510.dia.ref @@ -0,0 +1,23 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2014 - Scilab Enterprises - Calixte DENIZET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- TEST WITH GRAPHIC --> +// <-- Non-regression test for bug 13510 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/13510 +// +// <-- Short Description --> +// Datatip callback cleared 'd' +clear("pl", "ax", "h", "s", "d", "d1"); +s = poly(0,"s"); +h = syslin("c", 1 / (s + 1)); +nyquist(h); +d = 123; +ax = gca(); +pl = ax.children(1).children(2); +d1 = datatipCreate(pl, 200); +assert_checkequal(d, 123); diff --git a/modules/graphic_objects/tests/nonreg_tests/bug_13510.tst b/modules/graphic_objects/tests/nonreg_tests/bug_13510.tst new file mode 100755 index 000000000..9da575f6a --- /dev/null +++ b/modules/graphic_objects/tests/nonreg_tests/bug_13510.tst @@ -0,0 +1,28 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2014 - Scilab Enterprises - Calixte DENIZET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- TEST WITH GRAPHIC --> + +// <-- Non-regression test for bug 13510 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/13510 +// +// <-- Short Description --> +// Datatip callback cleared 'd' + +clear("pl", "ax", "h", "s", "d", "d1"); +s = poly(0,"s"); +h = syslin("c", 1 / (s + 1)); +nyquist(h); + +d = 123; +ax = gca(); +pl = ax.children(1).children(2); +d1 = datatipCreate(pl, 200); + +assert_checkequal(d, 123);
\ No newline at end of file diff --git a/modules/graphic_objects/tests/nonreg_tests/bug_13725.tst b/modules/graphic_objects/tests/nonreg_tests/bug_13725.tst new file mode 100755 index 000000000..f1e64f0df --- /dev/null +++ b/modules/graphic_objects/tests/nonreg_tests/bug_13725.tst @@ -0,0 +1,24 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2015 - Scilab Enterprises - Calixte DENIZET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- TEST WITH GRAPHIC --> +// +// // <-- INTERACTIVE TEST --> +// <-- Non-regression test for bug 13725 --> +// +// <-- Bugzilla URL --> +// http://bugzilla.scilab.org/13725 +// +// <-- Short Description --> +// Polyline is not correctly filled with big values + +y = [0, -4, 2, -3, -1, -1, 7, 0] +x = [0, 1, 3, 6, 16, 7, 3, 0] +scf(); +xfpoly(x*1e18, y, 3) + +// check that the polyline is correctly filled diff --git a/modules/graphic_objects/tests/unit_tests/delete.dia.ref b/modules/graphic_objects/tests/unit_tests/delete.dia.ref new file mode 100755 index 000000000..cd1037386 --- /dev/null +++ b/modules/graphic_objects/tests/unit_tests/delete.dia.ref @@ -0,0 +1,10 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - DIGITEO - Antoine ELIAS +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +scf(); +scf(); +delete(gcf()); +plot2d(1:10); diff --git a/modules/graphic_objects/tests/unit_tests/delete.tst b/modules/graphic_objects/tests/unit_tests/delete.tst new file mode 100755 index 000000000..288be8bbe --- /dev/null +++ b/modules/graphic_objects/tests/unit_tests/delete.tst @@ -0,0 +1,11 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2012 - DIGITEO - Antoine ELIAS +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +scf(); +scf(); +delete(gcf()); +plot2d(1:10);
\ No newline at end of file diff --git a/modules/graphic_objects/tests/unit_tests/hiddenhandles.dia.ref b/modules/graphic_objects/tests/unit_tests/hiddenhandles.dia.ref new file mode 100755 index 000000000..6b55cc35d --- /dev/null +++ b/modules/graphic_objects/tests/unit_tests/hiddenhandles.dia.ref @@ -0,0 +1,24 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2011 - DIGITEO - Vincent COUVERT +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- Simple test hidden handles using the MVC implementation --> +c = get(0); // Get console handle +assert_checkequal(c.type, "Console"); +assert_checkequal(c.showhiddenhandles, "off"); // Hidden handles are not shown by default +// Create a figure with two menus (one with hidden handle) +f = gcf(); +notHiddenMenu = uimenu("Parent", f, "Label", "Not hidden", "Handle_Visible", "on"); +hiddenMenu = uimenu("Parent", f, "Label", "Hidden", "Handle_Visible", "off"); +// Check the figure has two children (axes + menu) +assert_checkequal(size(f.children), [2 1]); +assert_checkequal(f.children(1).label, "Not hidden"); +// Now we show hidden handles +c.showhiddenhandles = "on"; +assert_checkequal(c.showhiddenhandles, "on"); +// Check the figure has seven children (axes + menu + menu + 4 default menus) +assert_checkequal(size(f.children), [7 1]); +assert_checkequal(f.children(1).label, "Hidden"); +assert_checkequal(f.children(2).label, "Not hidden"); diff --git a/modules/graphic_objects/tests/unit_tests/hiddenhandles.tst b/modules/graphic_objects/tests/unit_tests/hiddenhandles.tst new file mode 100755 index 000000000..4b8a30e51 --- /dev/null +++ b/modules/graphic_objects/tests/unit_tests/hiddenhandles.tst @@ -0,0 +1,30 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2011 - DIGITEO - Vincent COUVERT +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- Simple test hidden handles using the MVC implementation --> + +c = get(0); // Get console handle +assert_checkequal(c.type, "Console"); +assert_checkequal(c.showhiddenhandles, "off"); // Hidden handles are not shown by default + +// Create a figure with two menus (one with hidden handle) +f = gcf(); +notHiddenMenu = uimenu("Parent", f, "Label", "Not hidden", "Handle_Visible", "on"); +hiddenMenu = uimenu("Parent", f, "Label", "Hidden", "Handle_Visible", "off"); + +// Check the figure has two children (axes + menu) +assert_checkequal(size(f.children), [2 1]); +assert_checkequal(f.children(1).label, "Not hidden"); + +// Now we show hidden handles +c.showhiddenhandles = "on"; +assert_checkequal(c.showhiddenhandles, "on"); + +// Check the figure has seven children (axes + menu + menu + 4 default menus) +assert_checkequal(size(f.children), [7 1]); +assert_checkequal(f.children(1).label, "Hidden"); +assert_checkequal(f.children(2).label, "Not hidden"); diff --git a/modules/graphic_objects/tests/unit_tests/path.dia.ref b/modules/graphic_objects/tests/unit_tests/path.dia.ref new file mode 100755 index 000000000..631ba181d --- /dev/null +++ b/modules/graphic_objects/tests/unit_tests/path.dia.ref @@ -0,0 +1,59 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2014 - Scilab Enterprises - Bruno JOFRET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +f = figure("tag", "mainFigure", "visible", "off"); + f1 = uicontrol(f, "style", "frame", "tag", "f1"); + f11 = uicontrol(f1, "style", "frame", "tag", "f11"); + f12 = uicontrol(f1, "style", "frame", "tag", "f12"); + f13 = uicontrol(f1, "style", "frame", "tag", "f13"); + f14 = uicontrol(f1, "style", "frame", "tag", "leaf"); + f141 = uicontrol(f14, "style", "frame", "tag", "leaf1"); + f142 = uicontrol(f14, "style", "frame", "tag", "leaf2"); + f143 = uicontrol(f14, "style", "frame", "tag", "f143"); + f2 = uicontrol(f, "style", "frame", "tag", "f2"); + f21 = uicontrol(f2, "style", "frame", "tag", "f21"); + f22 = uicontrol(f2, "style", "frame", "tag", "f22"); + f23 = uicontrol(f2, "style", "frame", "tag", "f23"); + f24 = uicontrol(f2, "style", "frame", "tag", "leaf"); + f241 = uicontrol(f24, "style", "frame", "tag", "leaf1"); + f242 = uicontrol(f24, "style", "frame", "tag", "leaf2"); + f243 = uicontrol(f24, "style", "frame", "tag", "f243"); +res = get("mainFigure"); +assert_checkequal(f.UID, res.UID); +res = get("mainFigure/f1"); +assert_checkequal(f1.UID, res.UID); +res = get("mainFigure/f2"); +assert_checkequal(f2.UID, res.UID); +res = get("mainFigure/f1/f12"); +assert_checkequal(f12.UID, res.UID); +res = get("mainFigure/f2/f22"); +assert_checkequal(f22.UID, res.UID); +res = get("f1"); +assert_checkequal(f1.UID, res.UID); +res = get("f13"); +assert_checkequal(f13.UID, res.UID); +res = get("f5"); +assert_checkequal([], res); +res = get("*/f2"); +assert_checkequal(f2.UID, res.UID); +res = get("*/*/leaf"); +assert_checktrue(or(res.UID == [f14.UID, f24.UID])); +res = get("*/leaf"); +assert_checktrue(or(res.UID == [f14.UID, f24.UID])); +res = get("*/*/toto"); +assert_checkequal([], res); +res = get("*/toto"); +assert_checkequal([], res); +res = get("mainFigure/*/f23"); +assert_checkequal(f23.UID, res.UID); +res = get("mainFigure/*/toto"); +assert_checkequal([], res); +res = get("mainFigure/*/leaf/f143"); +assert_checkequal(f143.UID, res.UID); +res = get("mainFigure/*/leaf/leaf1"); +assert_checktrue(or(res.UID == [f141.UID, f241.UID])); +res = get("mainFigure/*/leaf/leaf2"); +assert_checktrue(or(res.UID == [f142.UID, f242.UID])); diff --git a/modules/graphic_objects/tests/unit_tests/path.tst b/modules/graphic_objects/tests/unit_tests/path.tst new file mode 100755 index 000000000..e46f09b20 --- /dev/null +++ b/modules/graphic_objects/tests/unit_tests/path.tst @@ -0,0 +1,77 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2014 - Scilab Enterprises - Bruno JOFRET +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +f = figure("tag", "mainFigure", "visible", "off"); + f1 = uicontrol(f, "style", "frame", "tag", "f1"); + f11 = uicontrol(f1, "style", "frame", "tag", "f11"); + f12 = uicontrol(f1, "style", "frame", "tag", "f12"); + f13 = uicontrol(f1, "style", "frame", "tag", "f13"); + f14 = uicontrol(f1, "style", "frame", "tag", "leaf"); + f141 = uicontrol(f14, "style", "frame", "tag", "leaf1"); + f142 = uicontrol(f14, "style", "frame", "tag", "leaf2"); + f143 = uicontrol(f14, "style", "frame", "tag", "f143"); + f2 = uicontrol(f, "style", "frame", "tag", "f2"); + f21 = uicontrol(f2, "style", "frame", "tag", "f21"); + f22 = uicontrol(f2, "style", "frame", "tag", "f22"); + f23 = uicontrol(f2, "style", "frame", "tag", "f23"); + f24 = uicontrol(f2, "style", "frame", "tag", "leaf"); + f241 = uicontrol(f24, "style", "frame", "tag", "leaf1"); + f242 = uicontrol(f24, "style", "frame", "tag", "leaf2"); + f243 = uicontrol(f24, "style", "frame", "tag", "f243"); + +res = get("mainFigure"); +assert_checkequal(f.UID, res.UID); + +res = get("mainFigure/f1"); +assert_checkequal(f1.UID, res.UID); + +res = get("mainFigure/f2"); +assert_checkequal(f2.UID, res.UID); + +res = get("mainFigure/f1/f12"); +assert_checkequal(f12.UID, res.UID); + +res = get("mainFigure/f2/f22"); +assert_checkequal(f22.UID, res.UID); + +res = get("f1"); +assert_checkequal(f1.UID, res.UID); +res = get("f13"); +assert_checkequal(f13.UID, res.UID); + +res = get("f5"); +assert_checkequal([], res); + +res = get("*/f2"); +assert_checkequal(f2.UID, res.UID); + +res = get("*/*/leaf"); +assert_checktrue(or(res.UID == [f14.UID, f24.UID])); + +res = get("*/leaf"); +assert_checktrue(or(res.UID == [f14.UID, f24.UID])); + +res = get("*/*/toto"); +assert_checkequal([], res); + +res = get("*/toto"); +assert_checkequal([], res); + +res = get("mainFigure/*/f23"); +assert_checkequal(f23.UID, res.UID); + +res = get("mainFigure/*/toto"); +assert_checkequal([], res); + +res = get("mainFigure/*/leaf/f143"); +assert_checkequal(f143.UID, res.UID); + +res = get("mainFigure/*/leaf/leaf1"); +assert_checktrue(or(res.UID == [f141.UID, f241.UID])); + +res = get("mainFigure/*/leaf/leaf2"); +assert_checktrue(or(res.UID == [f142.UID, f242.UID])); diff --git a/modules/graphic_objects/tests/unit_tests/sdf.dia.ref b/modules/graphic_objects/tests/unit_tests/sdf.dia.ref new file mode 100755 index 000000000..ee6fc10b0 --- /dev/null +++ b/modules/graphic_objects/tests/unit_tests/sdf.dia.ref @@ -0,0 +1,9 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2013 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- TEST WITH GRAPHIC --> +aze=sdf(); +assert_checkequal(typeof(aze),"handle"); diff --git a/modules/graphic_objects/tests/unit_tests/sdf.tst b/modules/graphic_objects/tests/unit_tests/sdf.tst new file mode 100755 index 000000000..419a93f22 --- /dev/null +++ b/modules/graphic_objects/tests/unit_tests/sdf.tst @@ -0,0 +1,11 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2013 - Scilab Enterprises - Sylvestre Ledru +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- TEST WITH GRAPHIC --> + +aze=sdf(); +assert_checkequal(typeof(aze),"handle"); diff --git a/modules/graphic_objects/tests/unit_tests/xpoly.dia.ref b/modules/graphic_objects/tests/unit_tests/xpoly.dia.ref new file mode 100755 index 000000000..f0231de58 --- /dev/null +++ b/modules/graphic_objects/tests/unit_tests/xpoly.dia.ref @@ -0,0 +1,44 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2010 - DIGITEO - Manuel Juliachs +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= +// <-- Simple test for xpoly using the MVC implementation --> +// +// <-- Short Description --> +// Tests the Polyline MVC object via the xpoly function: +// -whether properties corresponding to the function parameters are correctly initialized +// -whether the coordinates array is correctly initialized and can be resized +// +x = sin(2*%pi*(0:4)/5); +y = cos(2*%pi*(0:4)/5); +xpoly(x,y,"lines",1); +e = gce(); +if (e.line_mode <> "on") then bugmes();quit;end; +if (e.closed <> "on") then bugmes();quit;end; +if (e.mark_mode <> "off") then bugmes();quit;end; +s = size(e.data); +if (s(1) <> size(x, '*')) then bugmes();quit;end; +if (s(1) <> size(y, '*')) then bugmes();quit;end; +// 2 columns expected [x, y] +if (s(2) <> 2) then bugmes();quit;end; +// Coordinates array resized +x = sin(2*%pi*(0:1999)/2000); +y = sin(2*%pi*(0:1999)/2000); +e.data = [x', y']; +s = size(e.data); +if (s(1) <> size(x, '*')) then bugmes();quit;end; +if (s(1) <> size(y, '*')) then bugmes();quit;end; +// Z coordinates added +z = linspace(0, 1, 2000); +e.data = [x', y', z']; +s = size(e.data); +// 3 columns expected [x, y, z] +if (s(2) <> 3) then bugmes();quit;end; +if (s(1) <> size(x, '*')) then bugmes();quit;end; +if (s(1) <> size(y, '*')) then bugmes();quit;end; +if (s(1) <> size(z, '*')) then bugmes();quit;end; +// Deletes the data +e.data = []; +if (e.data <> []) then bugmes();quit;end; diff --git a/modules/graphic_objects/tests/unit_tests/xpoly.tst b/modules/graphic_objects/tests/unit_tests/xpoly.tst new file mode 100755 index 000000000..9270b08a2 --- /dev/null +++ b/modules/graphic_objects/tests/unit_tests/xpoly.tst @@ -0,0 +1,66 @@ +// ============================================================================= +// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab +// Copyright (C) 2010 - DIGITEO - Manuel Juliachs +// +// This file is distributed under the same license as the Scilab package. +// ============================================================================= + +// <-- Simple test for xpoly using the MVC implementation --> +// +// <-- Short Description --> +// Tests the Polyline MVC object via the xpoly function: +// -whether properties corresponding to the function parameters are correctly initialized +// -whether the coordinates array is correctly initialized and can be resized +// + +x = sin(2*%pi*(0:4)/5); +y = cos(2*%pi*(0:4)/5); + +xpoly(x,y,"lines",1); + +e = gce(); + +if (e.line_mode <> "on") then pause, end; +if (e.closed <> "on") then pause, end; +if (e.mark_mode <> "off") then pause, end; + +s = size(e.data); + +if (s(1) <> size(x, '*')) then pause, end; +if (s(1) <> size(y, '*')) then pause, end; + +// 2 columns expected [x, y] +if (s(2) <> 2) then pause, end; + + +// Coordinates array resized + +x = sin(2*%pi*(0:1999)/2000); +y = sin(2*%pi*(0:1999)/2000); + +e.data = [x', y']; + +s = size(e.data); + +if (s(1) <> size(x, '*')) then pause, end; +if (s(1) <> size(y, '*')) then pause, end; + +// Z coordinates added +z = linspace(0, 1, 2000); + +e.data = [x', y', z']; + +s = size(e.data); + +// 3 columns expected [x, y, z] +if (s(2) <> 3) then pause, end; + +if (s(1) <> size(x, '*')) then pause, end; +if (s(1) <> size(y, '*')) then pause, end; +if (s(1) <> size(z, '*')) then pause, end; + +// Deletes the data +e.data = []; + +if (e.data <> []) then pause, end; + |