Merge remote-tracking branch 'origin/5.5' 53/16153/1
Vincent COUVERT [Fri, 13 Mar 2015 08:25:53 +0000 (09:25 +0100)]
Conflicts:
scilab/configure

Change-Id: I8c3e51baa048eea94c27b427aa602bd97b7f73dc

108 files changed:
scilab/CHANGES_5.5.X
scilab/bin/scilab
scilab/configure
scilab/configure.ac
scilab/m4/java-thirdparty.m4
scilab/modules/elementary_functions/macros/logm.sci
scilab/modules/elementary_functions/tests/nonreg_tests/bug_13608.dia.ref [new file with mode: 0644]
scilab/modules/elementary_functions/tests/nonreg_tests/bug_13608.tst [new file with mode: 0644]
scilab/modules/functions/tests/nonreg_tests/bug_4495.dia.ref
scilab/modules/functions/tests/nonreg_tests/bug_4495.tst
scilab/modules/genetic_algorithms/tests/nonreg_tests/bug_10560.tst
scilab/modules/graphic_export/src/java/org/scilab/modules/graphic_export/Export.java
scilab/modules/graphic_objects/Makefile.am
scilab/modules/graphic_objects/Makefile.in
scilab/modules/graphic_objects/includes/DataModel.hxx
scilab/modules/graphic_objects/includes/DataProperties.hxx
scilab/modules/graphic_objects/includes/DecompositionUtils.hxx
scilab/modules/graphic_objects/includes/MeshData.hxx [moved from scilab/modules/graphic_objects/includes/TriangleMeshData.hxx with 85% similarity]
scilab/modules/graphic_objects/includes/MeshFecData.hxx [moved from scilab/modules/graphic_objects/includes/TriangleMeshFecData.hxx with 82% similarity]
scilab/modules/graphic_objects/includes/MeshFecDataDecomposer.hxx [moved from scilab/modules/graphic_objects/includes/TriangleMeshFecDataDecomposer.hxx with 82% similarity]
scilab/modules/graphic_objects/includes/graphicObjectProperties.h
scilab/modules/graphic_objects/src/c/graphic_objects.vcxproj
scilab/modules/graphic_objects/src/c/graphic_objects.vcxproj.filters
scilab/modules/graphic_objects/src/cpp/DataLoader.cpp
scilab/modules/graphic_objects/src/cpp/DecompositionUtils.cpp
scilab/modules/graphic_objects/src/cpp/MeshData.cpp [moved from scilab/modules/graphic_objects/src/cpp/TriangleMeshData.cpp with 72% similarity]
scilab/modules/graphic_objects/src/cpp/MeshFecData.cpp [new file with mode: 0644]
scilab/modules/graphic_objects/src/cpp/MeshFecDataDecomposer.cpp [moved from scilab/modules/graphic_objects/src/cpp/TriangleMeshFecDataDecomposer.cpp with 77% similarity]
scilab/modules/graphic_objects/src/cpp/TriangleMeshFecData.cpp [deleted file]
scilab/modules/graphic_objects/src/cpp/dataModel.cpp
scilab/modules/graphic_objects/src/cpp/getGraphicObjectProperty.cpp
scilab/modules/graphic_objects/src/cpp/setGraphicObjectProperty.cpp
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ObjectData.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/ObjectDataJNI.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java
scilab/modules/graphic_objects/src/jni/ObjectData.i
scilab/modules/graphic_objects/src/jni/ObjectData_wrap.c
scilab/modules/graphic_objects/src/scripts/propertiesMap.properties
scilab/modules/graphics/help/en_US/2d_plot/fec.xml
scilab/modules/graphics/help/en_US/2d_plot/fec_properties.xml
scilab/modules/graphics/help/en_US/xsetm.xml [deleted file]
scilab/modules/graphics/help/fr_FR/2d_plot/fec.xml
scilab/modules/graphics/help/fr_FR/xsetm.xml [deleted file]
scilab/modules/graphics/help/ja_JP/xsetm.xml [deleted file]
scilab/modules/graphics/help/pt_BR/xsetm.xml [deleted file]
scilab/modules/graphics/includes/BuildObjects.h
scilab/modules/graphics/includes/sciCall.h
scilab/modules/graphics/macros/%_xget.sci
scilab/modules/graphics/macros/%_xset.sci
scilab/modules/graphics/macros/xsetm.sci [deleted file]
scilab/modules/graphics/sci_gateway/c/sci_fec.c
scilab/modules/graphics/src/c/BuildObjects.c
scilab/modules/graphics/src/c/FeC.c
scilab/modules/graphics/src/c/Fec.h
scilab/modules/graphics/src/c/getHandleProperty/get_triangles_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_tight_limits_property.c
scilab/modules/graphics/src/c/getHandleProperty/set_triangles_property.c
scilab/modules/graphics/src/c/sciCall.c
scilab/modules/graphics/tests/unit_tests/fec.dia.ref [new file with mode: 0644]
scilab/modules/graphics/tests/unit_tests/fec.tst [new file with mode: 0644]
scilab/modules/gui/help/en_US/uigetfile.xml
scilab/modules/gui/help/ja_JP/uigetfile.xml
scilab/modules/gui/src/java/org/scilab/modules/gui/SwingView.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/frame/SwingScilabFrame.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/label/SwingScilabLabel.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/menubar/SwingScilabMenuBar.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/toolbar/SwingScilabToolBar.java
scilab/modules/gui/src/java/org/scilab/modules/gui/editor/EditorEventListener.java
scilab/modules/gui/src/java/org/scilab/modules/gui/editor/GEDPicker.java
scilab/modules/gui/src/java/org/scilab/modules/gui/menubar/ScilabMenuBar.java
scilab/modules/gui/src/java/org/scilab/modules/gui/menubar/SimpleMenuBar.java
scilab/modules/gui/src/java/org/scilab/modules/gui/toolbar/ScilabToolBar.java
scilab/modules/gui/src/java/org/scilab/modules/gui/toolbar/SimpleToolBar.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/SciFileFilter.java
scilab/modules/helptools/data/configuration/scilab_macros.txt
scilab/modules/helptools/etc/images_md5.txt
scilab/modules/helptools/images/fec_5.png [new file with mode: 0644]
scilab/modules/scirenderer/src/org/scilab/forge/scirenderer/implementation/jogl/JoGLCanvas.java
scilab/modules/statistics/help/en_US/central_tendency/mean.xml
scilab/modules/statistics/help/en_US/descriptive_statistics/st_deviation.xml [deleted file]
scilab/modules/statistics/help/en_US/measures_shape/cmoment.xml
scilab/modules/statistics/help/en_US/regression/regress.xml [deleted file]
scilab/modules/statistics/help/en_US/summaries/nfreq.xml [deleted file]
scilab/modules/statistics/help/fr_FR/descriptive_statistics/median.xml
scilab/modules/statistics/help/fr_FR/descriptive_statistics/st_deviation.xml [deleted file]
scilab/modules/statistics/help/ja_JP/central_tendency/mean.xml
scilab/modules/statistics/help/ja_JP/descriptive_statistics/st_deviation.xml [deleted file]
scilab/modules/statistics/help/ja_JP/measures_shape/cmoment.xml
scilab/modules/statistics/help/ja_JP/regression/regress.xml [deleted file]
scilab/modules/statistics/help/ja_JP/summaries/nfreq.xml [deleted file]
scilab/modules/statistics/locales/statistics.pot
scilab/modules/statistics/macros/nfreq.sci [deleted file]
scilab/modules/statistics/macros/regress.sci [deleted file]
scilab/modules/statistics/macros/st_deviation.sci [deleted file]
scilab/modules/statistics/src/dcdflib/cdfnor.f
scilab/modules/statistics/tests/nonreg_tests/bug_13681.dia.ref [new file with mode: 0644]
scilab/modules/statistics/tests/nonreg_tests/bug_13681.tst [new file with mode: 0644]
scilab/modules/umfpack/tests/unit_tests/utm300.dia.ref
scilab/modules/umfpack/tests/unit_tests/utm300.tst
scilab/modules/xml/src/cpp/VariableScope.cpp
scilab/modules/xml/src/cpp/VariableScope.hxx
scilab/modules/xml/src/cpp/XMLDocument.cpp
scilab/modules/xml/src/cpp/XMLElement.cpp
scilab/modules/xml/src/cpp/XMLElement.hxx
scilab/modules/xml/src/cpp/XMLObject.cpp
scilab/modules/xml/src/cpp/XMLObject.hxx
scilab/modules/xml/tests/unit_tests/xmlRemove.dia.ref
scilab/modules/xml/tests/unit_tests/xmlRemove.tst

index 9382546..7113062 100644 (file)
@@ -24,6 +24,14 @@ Removed Functions
 
 * chart removed. Please use nicholschart instead.
 
+* nfreq removed. Please use tabul instead.
+
+* regress removed. Please use reglin instead.
+
+* st_deviation removed. Please use stdev instead.
+
+* xsetm removed. Please use ged instead.
+
 
 Compilation
 ===========
@@ -31,6 +39,12 @@ Compilation
 * Required version of JOGL updated to 2.2.4 (See bugs #12788 & #13586).
 
 
+Graphics Evolutions
+===================
+
+* fec function can now plot meshes based on any convex polygon type (not only triangles).
+
+
 Scilab Bug Fixes
 ================
 
@@ -38,12 +52,16 @@ Scilab Bug Fixes
 
 * Bug #12842 fixed - Scilab could not be launched on some platforms (ATOMS internal library loading problem).
 
+* Bug #13372 fixed - xsetm should have been removed in Scilab 5.5.0.
+
 * Bug #13549 fixed - Slider uicontrols triggered three callbacks instead of one.
 
 * Bug #13586 fixed - Scilab compilation failed with recent versions of JoGL package.
 
 * Bug #13605 fixed - harmean returned an inverted result when called with parameters "r" or "c".
 
+* Bug #13608 fixed - logm produced an error with complex values.
+
 * Bug #13673 fixed - Anti-aliasing of xpoly marks did not render correctly.
 
 * Bug #13674 fixed - User .wgetrc configuration file is now by-passed when ATOMS does not use a proxy.
@@ -52,6 +70,8 @@ Scilab Bug Fixes
 
 * Bug #13677 fixed - Indentation of examples in assert_checkerror help page was wrong.
 
+* Bug #13681 fixed - Calling cdfnor to get the X vector sometimes produced a vector with some NaN values.
+
 * Bug #13690 fixed - tight_limits property can now manage X, Y and Z axis separately.
 
 * Bug #13692 fixed - group returned an error for a discrete dynamical system with a specified sample time.
@@ -64,6 +84,8 @@ Scilab Bug Fixes
 
 * Bug #13725 fixed - Polyline was not correctly filled with big values.
 
+* Bug #13731 fixed - xmlDelete could be very slow.
+
 * Bug #13741 fixed - Impossible to print an invisible figure under Windows.
 
 * Bug #13742 fixed - Figure was not well printed when there is a xstring with latex.
index 4ab3343..eb5711a 100755 (executable)
@@ -644,6 +644,13 @@ if test $IS_SCILAB_BINARY -eq 1; then
     esac
 
 else
+    # Scilab compiled using prerequirements
+    if test -d $curdir/../usr; then
+        TCL_LIBRARY="$SCI/usr/lib/tcl8.5"
+        TK_LIBRARY="$SCI/usr/lib/tk8.5"
+        export TCL_LIBRARY
+        export TK_LIBRARY
+    fi
     PATH="$SCI:$SCI/bin:$PATH"
 fi
 
index 385d4bc..d8f9d44 100755 (executable)
@@ -14296,6 +14296,168 @@ $as_echo "$as_me: WARNING: Could not find or use the Java package/jar jogl2 used
                 JOGL2=$PACKAGE_JAR_FILE
 
 
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking minimal version (Specification-Version 2.2) of jogl2" >&5
+$as_echo_n "checking minimal version (Specification-Version 2.2) of jogl2... " >&6; }
+    export JARFILE=$JOGL2;
+    if test "x" == "x"; then
+
+    cat << \EOF > conftest.java
+// #line 14306 "configure"
+import java.util.regex.Pattern;
+
+import java.io.IOException;
+import java.util.jar.JarFile;
+
+public class conftest {
+    public static void main(String[] argv) {
+        String minVersion="2.2";
+        try {
+            String version = new JarFile(System.getenv("JARFILE")).getManifest().getMainAttributes().getValue("Specification-Version");
+            System.out.println(version);
+            if (compare(minVersion, version) > 0) {
+                System.exit(-1);
+            }
+        } catch (IOException e) {
+            System.err.println(e.getMessage());
+            System.exit(1);
+        }
+    }
+
+    private static int compare(String v1, String v2) {
+        String s1 = normalisedVersion(v1);
+        String s2 = normalisedVersion(v2);
+        return s1.compareTo(s2);
+    }
+
+    private static String normalisedVersion(String version) {
+        return normalisedVersion(version, ".", 4);
+    }
+
+    private static String normalisedVersion(String version, String sep, int maxWidth) {
+        String[] split = Pattern.compile(sep, Pattern.LITERAL).split(version);
+        StringBuilder sb = new StringBuilder();
+        for (String s : split) {
+            sb.append(String.format("%" + maxWidth + 's', s));
+        }
+        return sb.toString();
+    }
+}
+EOF
+
+    CLASSPATH=$ac_java_classpath
+    export CLASSPATH
+    cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
+    if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
+       if test ""yes"" = "no"; then
+           echo "yes" >&5
+              echo "yes"
+       else
+              cmd="$JAVA conftest"
+              if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
+               echo "yes" >&5
+                  echo "yes"
+            else
+                echo "configure: failed program was:" >&5
+                cat conftest.java >&5
+                if test -s conftest.java.output; then
+                   STDOUT=`cat conftest.java.output`
+                fi
+                echo "configure: CLASSPATH was $CLASSPATH" >&5
+                  as_fn_error $? "Wrong version of jogl2. Expected at least 2.2. Found $STDOUT" "$LINENO" 5
+                            fi
+        fi
+        if test -f conftest.java.output; then
+           rm conftest.java.output
+        fi
+    else
+        echo "configure: failed program was:" >&5
+        cat conftest.java >&5
+        echo "configure: CLASSPATH was $CLASSPATH" >&5
+          as_fn_error $? "Wrong version of jogl2. Expected at least 2.2. Found $STDOUT" "$LINENO" 5
+            fi
+
+    else
+
+    cat << \EOF > conftest.java
+// #line 14383 "configure"
+import java.util.regex.Pattern;
+
+import java.io.IOException;
+import java.util.jar.JarFile;
+
+public class conftest {
+    public static void main(String[] argv) {
+        String minVersion="2.2";
+        try {
+            String version = new JarFile(System.getenv("JARFILE")).getManifest().getMainAttributes().getValue("Specification-Version");
+            System.out.println("Specification-Version" + ": " + version);
+            if (compare(minVersion, version) != 0) {
+                System.exit(-1);
+            }
+        } catch (IOException e) {
+            System.err.println(e.getMessage());
+            System.exit(1);
+        }
+    }
+
+    private static int compare(String v1, String v2) {
+        String s1 = normalisedVersion(v1);
+        String s2 = normalisedVersion(v2);
+        return s1.compareTo(s2);
+    }
+
+    private static String normalisedVersion(String version) {
+        return normalisedVersion(version, ".", 4);
+    }
+
+    private static String normalisedVersion(String version, String sep, int maxWidth) {
+        String[] split = Pattern.compile(sep, Pattern.LITERAL).split(version);
+        StringBuilder sb = new StringBuilder();
+        for (String s : split) {
+            sb.append(String.format("%" + maxWidth + 's', s));
+        }
+        return sb.toString();
+    }
+}
+EOF
+
+    CLASSPATH=$ac_java_classpath
+    export CLASSPATH
+    cmd="$JAVAC ${JAVAC_FLAGS} conftest.java"
+    if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5) ; then
+       if test ""yes"" = "no"; then
+           echo "yes" >&5
+              echo "yes"
+       else
+              cmd="$JAVA conftest"
+              if (echo $cmd >&5 ; eval $cmd >conftest.java.output 2>&5); then
+               echo "yes" >&5
+                  echo "yes"
+            else
+                echo "configure: failed program was:" >&5
+                cat conftest.java >&5
+                if test -s conftest.java.output; then
+                   STDOUT=`cat conftest.java.output`
+                fi
+                echo "configure: CLASSPATH was $CLASSPATH" >&5
+                  as_fn_error $? "Wrong version of jogl2. Expected exact version Specification-Version. Found $STDOUT" "$LINENO" 5
+                            fi
+        fi
+        if test -f conftest.java.output; then
+           rm conftest.java.output
+        fi
+    else
+        echo "configure: failed program was:" >&5
+        cat conftest.java >&5
+        echo "configure: CLASSPATH was $CLASSPATH" >&5
+          as_fn_error $? "Wrong version of jogl2. Expected exact version Specification-Version. Found $STDOUT" "$LINENO" 5
+            fi
+
+    fi
+    unset JARFILE
+
+
                 if test "$MACOSX" = 1; then
                    echo "Check of the presence of libjogl.jnilib and libjogl_awt.jnilib disabled under Mac OS X"
                 else
@@ -14420,7 +14582,7 @@ $as_echo_n "checking gluegen2-rt... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 14423 "configure"
+// #line 14585 "configure"
 import java.util.regex.Pattern;
 
 import jogamp.common.os.MachineDescriptionRuntime;
@@ -14594,7 +14756,7 @@ $as_echo_n "checking jhall... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 14597 "configure"
+// #line 14759 "configure"
 import java.util.regex.Pattern;
 
 import javax.help.JHelp;
@@ -14709,7 +14871,7 @@ $as_echo_n "checking javahelp2... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 14712 "configure"
+// #line 14874 "configure"
 import java.util.regex.Pattern;
 
 import javax.help.JHelp;
@@ -14827,7 +14989,7 @@ $as_echo_n "checking jrosetta-API... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 14830 "configure"
+// #line 14992 "configure"
 import java.util.regex.Pattern;
 
 import com.artenum.rosetta.interfaces.core.ConsoleConfiguration;
@@ -14941,7 +15103,7 @@ $as_echo_n "checking jrosetta-api... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 14944 "configure"
+// #line 15106 "configure"
 import java.util.regex.Pattern;
 
 import com.artenum.rosetta.interfaces.core.ConsoleConfiguration;
@@ -15059,7 +15221,7 @@ $as_echo_n "checking jrosetta-engine... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 15062 "configure"
+// #line 15224 "configure"
 import java.util.regex.Pattern;
 
 import com.artenum.rosetta.core.action.AbstractConsoleAction;
@@ -15165,7 +15327,7 @@ $as_echo_n "checking minimal version (1.0.4) of jrosetta-engine... " >&6; }
    if test "x" == "x"; then
 
     cat << \EOF > conftest.java
-// #line 15168 "configure"
+// #line 15330 "configure"
 import java.util.regex.Pattern;
 
 import com.artenum.rosetta.util.ConfigurationBuilder;
@@ -15237,7 +15399,7 @@ EOF
    else
 
     cat << \EOF > conftest.java
-// #line 15240 "configure"
+// #line 15402 "configure"
 import java.util.regex.Pattern;
 
 import com.artenum.rosetta.util.ConfigurationBuilder;
@@ -15330,7 +15492,7 @@ $as_echo_n "checking jeuclid-core... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 15333 "configure"
+// #line 15495 "configure"
 import java.util.regex.Pattern;
 
 import net.sourceforge.jeuclid.LayoutContext;
@@ -15449,7 +15611,7 @@ $as_echo_n "checking fop... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 15452 "configure"
+// #line 15614 "configure"
 import java.util.regex.Pattern;
 
 import org.apache.fop.pdf.PDFInfo;
@@ -15573,7 +15735,7 @@ $as_echo_n "checking freehep-graphics2d... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 15576 "configure"
+// #line 15738 "configure"
 import java.util.regex.Pattern;
 
 import org.freehep.graphics2d.VectorGraphics;
@@ -15690,7 +15852,7 @@ $as_echo_n "checking freehep-graphicsio-emf... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 15693 "configure"
+// #line 15855 "configure"
 import java.util.regex.Pattern;
 
 import org.freehep.graphicsio.emf.EMFGraphics2D;
@@ -15807,7 +15969,7 @@ $as_echo_n "checking freehep-graphicsio... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 15810 "configure"
+// #line 15972 "configure"
 import java.util.regex.Pattern;
 
 import org.freehep.graphicsio.VectorGraphicsIO;
@@ -15924,7 +16086,7 @@ $as_echo_n "checking freehep-io... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 15927 "configure"
+// #line 16089 "configure"
 import java.util.regex.Pattern;
 
 import org.freehep.util.io.XMLSequence;
@@ -16041,7 +16203,7 @@ $as_echo_n "checking freehep-util... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 16044 "configure"
+// #line 16206 "configure"
 import java.util.regex.Pattern;
 
 import org.freehep.util.StringUtilities;
@@ -16159,7 +16321,7 @@ $as_echo_n "checking batik-all... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 16162 "configure"
+// #line 16324 "configure"
 import java.util.regex.Pattern;
 
 import org.apache.batik.parser.Parser;
@@ -16276,7 +16438,7 @@ $as_echo_n "checking batik... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 16279 "configure"
+// #line 16441 "configure"
 import java.util.regex.Pattern;
 
 import org.apache.batik.parser.Parser;
@@ -16383,7 +16545,7 @@ $as_echo_n "checking minimal version (1.7) of batik... " >&6; }
    if test "x" == "x"; then
 
     cat << \EOF > conftest.java
-// #line 16386 "configure"
+// #line 16548 "configure"
 import java.util.regex.Pattern;
 
 import org.apache.batik.Version;
@@ -16455,7 +16617,7 @@ EOF
    else
 
     cat << \EOF > conftest.java
-// #line 16458 "configure"
+// #line 16620 "configure"
 import java.util.regex.Pattern;
 
 import org.apache.batik.Version;
@@ -16546,7 +16708,7 @@ $as_echo_n "checking commons-io... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 16549 "configure"
+// #line 16711 "configure"
 import java.util.regex.Pattern;
 
 import org.apache.commons.io.output.CountingOutputStream;
@@ -16663,7 +16825,7 @@ $as_echo_n "checking xmlgraphics-commons... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 16666 "configure"
+// #line 16828 "configure"
 import java.util.regex.Pattern;
 
 import org.apache.xmlgraphics.util.Service;
@@ -16780,7 +16942,7 @@ $as_echo_n "checking avalon-framework... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 16783 "configure"
+// #line 16945 "configure"
 import java.util.regex.Pattern;
 
 import org.apache.avalon.framework.configuration.ConfigurationException;
@@ -16897,7 +17059,7 @@ $as_echo_n "checking xml-apis-ext... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 16900 "configure"
+// #line 17062 "configure"
 import java.util.regex.Pattern;
 
 import org.w3c.dom.svg.SVGDocument;
@@ -17014,7 +17176,7 @@ $as_echo_n "checking xml-commons-apis-ext... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 17017 "configure"
+// #line 17179 "configure"
 import java.util.regex.Pattern;
 
 import org.w3c.dom.svg.SVGDocument;
@@ -17135,7 +17297,7 @@ $as_echo_n "checking commons-logging... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 17138 "configure"
+// #line 17300 "configure"
 import java.util.regex.Pattern;
 
 import org.apache.commons.logging.LogFactory;
@@ -17252,7 +17414,7 @@ $as_echo_n "checking jlatexmath... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 17255 "configure"
+// #line 17417 "configure"
 import java.util.regex.Pattern;
 
 import org.scilab.forge.jlatexmath.TeXFormula;
@@ -17359,7 +17521,7 @@ $as_echo_n "checking minimal version (1.0.3) of jlatexmath... " >&6; }
    if test "x" == "x"; then
 
     cat << \EOF > conftest.java
-// #line 17362 "configure"
+// #line 17524 "configure"
 import java.util.regex.Pattern;
 
 import org.scilab.forge.jlatexmath.TeXFormula;
@@ -17431,7 +17593,7 @@ EOF
    else
 
     cat << \EOF > conftest.java
-// #line 17434 "configure"
+// #line 17596 "configure"
 import java.util.regex.Pattern;
 
 import org.scilab.forge.jlatexmath.TeXFormula;
@@ -17522,7 +17684,7 @@ $as_echo_n "checking jlatexmath-fop... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 17525 "configure"
+// #line 17687 "configure"
 import java.util.regex.Pattern;
 
 import org.scilab.forge.jlatexmath.fop.JLaTeXMathObj;
@@ -17645,7 +17807,7 @@ $as_echo_n "checking checkstyle... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 17648 "configure"
+// #line 17810 "configure"
 import java.util.regex.Pattern;
 
 import com.puppycrawl.tools.checkstyle.CheckStyleTask;
@@ -17762,7 +17924,7 @@ $as_echo_n "checking commons-beanutils... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 17765 "configure"
+// #line 17927 "configure"
 import java.util.regex.Pattern;
 
 import org.apache.commons.beanutils.Converter;
@@ -17879,7 +18041,7 @@ $as_echo_n "checking antlr... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 17882 "configure"
+// #line 18044 "configure"
 import java.util.regex.Pattern;
 
 import antlr.TokenStreamException;
@@ -17996,7 +18158,7 @@ $as_echo_n "checking junit4... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 17999 "configure"
+// #line 18161 "configure"
 import java.util.regex.Pattern;
 
 import org.junit.Assert;
@@ -18110,7 +18272,7 @@ $as_echo_n "checking junit... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 18113 "configure"
+// #line 18275 "configure"
 import java.util.regex.Pattern;
 
 import org.junit.Assert;
@@ -18231,7 +18393,7 @@ $as_echo_n "checking cobertura... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 18234 "configure"
+// #line 18396 "configure"
 import java.util.regex.Pattern;
 
 import net.sourceforge.cobertura.merge.Main;
@@ -18348,7 +18510,7 @@ $as_echo_n "checking asm3... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 18351 "configure"
+// #line 18513 "configure"
 import java.util.regex.Pattern;
 
 import org.objectweb.asm.Type;
@@ -18462,7 +18624,7 @@ $as_echo_n "checking asm... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 18465 "configure"
+// #line 18627 "configure"
 import java.util.regex.Pattern;
 
 import org.objectweb.asm.Type;
@@ -18579,7 +18741,7 @@ $as_echo_n "checking ecj... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 18582 "configure"
+// #line 18744 "configure"
 import java.util.regex.Pattern;
 
 import org.eclipse.jdt.core.compiler.batch.BatchCompiler;
@@ -27171,7 +27333,7 @@ CPPFLAGS="$CPPFLAGS -I$CHK_TCL_INCLUDE_PATH"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if tcl is version $CHK_TCL_MAJOR.$CHK_TCL_MINOR or later" >&5
 $as_echo_n "checking if tcl is version $CHK_TCL_MAJOR.$CHK_TCL_MINOR or later... " >&6; }
 cat > conftest.$ac_ext <<EOF
-#line 27174 "configure"
+#line 27336 "configure"
 #include "confdefs.h"
 
 #include "$CHK_TCL_INCLUDE_PATH/$CHK_TCL_INC_NAME"
@@ -27482,7 +27644,7 @@ CPPFLAGS="$CPPFLAGS $TCL_INC_PATH -I$CHK_TK_INCLUDE_PATH $X_CFLAGS"
 $as_echo_n "checking if tk is version $CHK_TK_MAJOR.$CHK_TK_MINOR or later... " >&6; }
 
 cat > conftest.$ac_ext <<EOF
-#line 27485 "configure"
+#line 27647 "configure"
 #include "confdefs.h"
 
 #include "$CHK_TK_INCLUDE_PATH/$CHK_TK_INC_NAME"
@@ -28071,7 +28233,7 @@ $as_echo_n "checking saxon9he... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 28074 "configure"
+// #line 28236 "configure"
 import java.util.regex.Pattern;
 
 import net.sf.saxon.Version;
@@ -28186,7 +28348,7 @@ $as_echo_n "checking saxon... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 28189 "configure"
+// #line 28351 "configure"
 import java.util.regex.Pattern;
 
 import net.sf.saxon.Version;
@@ -28302,7 +28464,7 @@ $as_echo_n "checking saxon... " >&6; }
             export ac_java_classpath="$jar_resolved:$ac_java_classpath"
 
     cat << \EOF > conftest.java
-// #line 28305 "configure"
+// #line 28467 "configure"
 import java.util.regex.Pattern;
 
 import com.icl.saxon.Loader;
index de95c53..75c5c8f 100644 (file)
@@ -915,6 +915,8 @@ if test "$with_javasci" != no -o "$with_gui" != no -o "$enable_build_help" != no
                 JOGL2=$PACKAGE_JAR_FILE
                 AC_SUBST(JOGL2)
 
+                AC_JAVA_CHECK_VERSION_MANIFEST([jogl2],$JOGL2,[2.2],[Specification-Version])
+
                 if test "$MACOSX" = 1; then
                    echo "Check of the presence of libjogl.jnilib and libjogl_awt.jnilib disabled under Mac OS X"
                 else
index 0be3011..399d5e9 100644 (file)
@@ -1,6 +1,7 @@
 dnl
 dnl Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
 dnl Copyright (C) DIGITEO - 2010 - Sylvestre Ledru
+dnl Copyright (C) Scilab Enterprises - 2015 - Clement David
 dnl 
 dnl This file must be used under the terms of the CeCILL.
 dnl This source file is licensed as described in the file COPYING, which
@@ -53,3 +54,55 @@ AC_DEFUN([AC_JAVA_CHECK_VERSION_PACKAGE], [
     fi
    ac_java_classpath=$saved_ac_java_classpath
 ])
+
+#------------------------------------------------------------------------
+# AC_JAVA_CHECK_VERSION_MANIFEST(NAME, JAR, MIN_VERSION, [PRE_PROCESSING], [GREATER_OR_EQUALS])
+#
+# Check if the minimal version of a software/package is available or not.
+# Note that since java does not provide an universal mechanism to detect
+# the version of a package, we assume that the "Specification-Version" of
+# the MANIFEST.MF is correct.
+#
+# Arguments:
+#    1. The name of the package (only used in the display of feedbacks)
+#    2. The name of the jar files used to build against
+#    3. What is the minimal version expected
+#    4. Manifest attribute name
+#    5. Specify if we want the exact version or greater. (equals or greater by
+#      default).
+#
+#------------------------------------------------------------------------
+
+AC_DEFUN([AC_JAVA_CHECK_VERSION_MANIFEST], [
+    AC_MSG_CHECKING([minimal version ($4 $3) of $1])
+    export JARFILE=$2;
+    if test "x$5" == "x"; then
+    AC_JAVA_TRY_COMPILE([import java.io.IOException;
+import java.util.jar.JarFile;], [String minVersion="$3";
+        try {
+            String version = new JarFile(System.getenv("JARFILE")).getManifest().getMainAttributes().getValue("$4");
+            System.out.println(version);
+            if (compare(minVersion, version) > 0) {
+                System.exit(-1);
+            }
+        } catch (IOException e) {
+            System.err.println(e.getMessage());
+            System.exit(1);
+        } ], "yes", echo "yes" , AC_MSG_ERROR([Wrong version of $1. Expected at least $3. Found $STDOUT]))
+    else
+    AC_JAVA_TRY_COMPILE([import java.io.IOException;
+import java.util.jar.JarFile;], [String minVersion="$3";
+        try {
+            String version = new JarFile(System.getenv("JARFILE")).getManifest().getMainAttributes().getValue("$4");
+            System.out.println("$4" + ": " + version);
+            if (compare(minVersion, version) != 0) {
+                System.exit(-1);
+            }
+        } catch (IOException e) {
+            System.err.println(e.getMessage());
+            System.exit(1);
+        } ], "yes", echo "yes" , AC_MSG_ERROR([Wrong version of $1. Expected exact version $4. Found $STDOUT]))
+    fi
+    unset JARFILE
+])
+
index 25f14b8..071c4ed 100644 (file)
@@ -46,7 +46,7 @@ function x=logm(a)
         end
         x = u * diag(w1) * u';
         if r then
-            if and(s >= 0) then
+            if and(real(s) >= 0) then
                 x = real(x);
             end
         end
diff --git a/scilab/modules/elementary_functions/tests/nonreg_tests/bug_13608.dia.ref b/scilab/modules/elementary_functions/tests/nonreg_tests/bug_13608.dia.ref
new file mode 100644 (file)
index 0000000..7074f2d
--- /dev/null
@@ -0,0 +1,21 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Vladislav TRUBKIN
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 13608 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13608
+//
+// <-- Short Description -->
+// There was an error with complex values.
+value = [0.1+0*%i, 0+0*%i; 0+0*%i, 0.2+0*%i];
+refValue = [-2.3025851, 0; 0, -1.6094379];
+assert_checkalmostequal(refValue, logm(value));
+value = [-0.1-0*%i, 1-0*%i; 0+0*%i, -0.2+0*%i];
+refValue = [-2.3025851 + 3.1415927*%i, -6.9314718; 0, -1.6094379 + 3.1415927*%i];
+assert_checkalmostequal(refValue, logm(value));
+a = [-0.9+%i 0+0*%i; 0+0*%i -0.1-%i];
+assert_checktrue(and(clean(expm(logm(a))-a)==0));
diff --git a/scilab/modules/elementary_functions/tests/nonreg_tests/bug_13608.tst b/scilab/modules/elementary_functions/tests/nonreg_tests/bug_13608.tst
new file mode 100644 (file)
index 0000000..b62ff05
--- /dev/null
@@ -0,0 +1,24 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Vladislav TRUBKIN
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+// <-- Non-regression test for bug 13608 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=13608
+//
+// <-- Short Description -->
+// There was an error with complex values.
+
+value = [0.1+0*%i, 0+0*%i; 0+0*%i, 0.2+0*%i];
+refValue = [-2.3025851, 0; 0, -1.6094379];
+assert_checkalmostequal(refValue, logm(value));
+
+value = [-0.1-0*%i, 1-0*%i; 0+0*%i, -0.2+0*%i];
+refValue = [-2.3025851 + 3.1415927*%i, -6.9314718; 0, -1.6094379 + 3.1415927*%i];
+assert_checkalmostequal(refValue, logm(value));
+
+a = [-0.9+%i 0+0*%i; 0+0*%i -0.1-%i];
+assert_checktrue(and(clean(expm(logm(a))-a)==0));
index 63435de..649d5ac 100644 (file)
 // exec does not check second and third input arguments.
 // =============================================================================
 function mytestfunc()
-  disp('mytestfunc: called ok');
+    disp("mytestfunc: called ok");
 endfunction
 // =============================================================================
 exec(mytestfunc);
  
  mytestfunc: called ok   
 // =============================================================================
-mputl('a=1;b=2;',TMPDIR+'/myscript');
+mputl("a=1;b=2;",TMPDIR+"/myscript");
 ierr = execstr("exec(TMPDIR+''/myscript'',''toto'',''tata'');","errcatch");
 if ierr <> 999 then bugmes();quit;end
 // =============================================================================
-exec(TMPDIR+'/myscript');
+exec(TMPDIR+"/myscript");
 // =============================================================================
-exec(TMPDIR+'/myscript','errcatch');
-exec(TMPDIR+'/myscript',-1);
-exec(TMPDIR+'/myscript','errcatch',-1);
-exec(TMPDIR+'/myscript',-1,'errcatch');
+exec(TMPDIR+"/myscript","errcatch");
+exec(TMPDIR+"/myscript",-1);
+exec(TMPDIR+"/myscript","errcatch",-1);
+ierr = execstr("exec(TMPDIR+''/myscript'',-1,''blabla'');","errcatch");
+if ierr <> 999 then bugmes();quit;end
 // =============================================================================
 ierr = execstr("exec(TMPDIR+''/myscript'',0,''blabla'');","errcatch");
 if ierr <> 999 then bugmes();quit;end
index feae602..dfb8294 100644 (file)
 // exec does not check second and third input arguments.
 // =============================================================================
 function mytestfunc()
-  disp('mytestfunc: called ok');
+    disp("mytestfunc: called ok");
 endfunction
 // =============================================================================
 exec(mytestfunc);
 // =============================================================================
-mputl('a=1;b=2;',TMPDIR+'/myscript');
+mputl("a=1;b=2;",TMPDIR+"/myscript");
 ierr = execstr("exec(TMPDIR+''/myscript'',''toto'',''tata'');","errcatch");
 if ierr <> 999 then pause,end
 // =============================================================================
-exec(TMPDIR+'/myscript');
+exec(TMPDIR+"/myscript");
 // =============================================================================
-exec(TMPDIR+'/myscript','errcatch');
-exec(TMPDIR+'/myscript',-1);
-exec(TMPDIR+'/myscript','errcatch',-1);
-exec(TMPDIR+'/myscript',-1,'errcatch');
+exec(TMPDIR+"/myscript","errcatch");
+exec(TMPDIR+"/myscript",-1);
+exec(TMPDIR+"/myscript","errcatch",-1);
+ierr = execstr("exec(TMPDIR+''/myscript'',-1,''blabla'');","errcatch");
+if ierr <> 999 then pause,end
 // =============================================================================
 ierr = execstr("exec(TMPDIR+''/myscript'',0,''blabla'');","errcatch");
 if ierr <> 999 then pause,end
index 1e95641..e2c4e7c 100644 (file)
@@ -5,7 +5,7 @@
 //  This file is distributed under the same license as the Scilab package.
 // =============================================================================
 //
-// <-- NO CHECK REF --> 
+// <-- NO CHECK REF -->
 //
 // <-- Non-regression test for bug 10560 -->
 //
@@ -15,5 +15,5 @@
 // <-- Short Description -->
 // genetic algorithms demos failed
 
-ierr = exec('SCI/modules/genetic_algorithms/demos/GAdemo.sce', -1, 'errcatch');
+ierr = exec("SCI/modules/genetic_algorithms/demos/GAdemo.sce", "errcatch", -1);
 assert_checkequal(ierr, 0);
\ No newline at end of file
index bf38ca1..138dfed 100644 (file)
@@ -364,9 +364,8 @@ public class Export {
             }
 
             if (joglCanvas != null) {
-                BufferedImage image = joglCanvas.getImage();
-                //joglCanvas.destroy();
                 PNGExporter exporter = (PNGExporter) getExporter(type);
+                BufferedImage image = joglCanvas.getImage(exporter.isAlphaChannelSupported());
                 exporter.setImage(file, image, params);
                 exporter.write();
                 exporter.dispose();
@@ -541,6 +540,11 @@ public class Export {
                 g2d.dispose();
             }
         }
+
+        public boolean isAlphaChannelSupported() {
+            return true;
+        }
+
     }
 
     /**
@@ -554,6 +558,11 @@ public class Export {
         public void write() throws IOException {
             ExportBitmap.writeFile(image, "gif", file);
         }
+
+        public boolean isAlphaChannelSupported() {
+            return false;
+        }
+
     }
 
     /**
@@ -577,6 +586,11 @@ public class Export {
         public void write() throws IOException {
             ExportBitmap.writeFile(image, "bmp", file);
         }
+
+        public boolean isAlphaChannelSupported() {
+            return false;
+        }
+
     }
 
     /**
@@ -594,6 +608,11 @@ public class Export {
                 ExportBitmap.writeJPEG(image, params.compressionQuality, file);
             }
         }
+
+        public boolean isAlphaChannelSupported() {
+            return false;
+        }
+
     }
 
     /**
index 1676bd4..26010b1 100644 (file)
@@ -52,8 +52,8 @@ GRAPHIC_OBJECTS_CXX_SOURCES =         src/cpp/createGraphicObject.cpp \
                                                                src/cpp/NgonGridData.cpp \
                                                                src/cpp/NgonGridMatplotData.cpp \
                                                                src/cpp/NgonPolylineData.cpp \
-                                                               src/cpp/TriangleMeshData.cpp \
-                                                               src/cpp/TriangleMeshFecData.cpp \
+                                                               src/cpp/MeshData.cpp \
+                                                               src/cpp/MeshFecData.cpp \
                                                                src/cpp/ColorComputer.cpp \
                                                                src/cpp/DecompositionUtils.cpp \
                                                                src/cpp/Fac3DColorComputer.cpp \
@@ -64,7 +64,7 @@ GRAPHIC_OBJECTS_CXX_SOURCES =         src/cpp/createGraphicObject.cpp \
                                                                src/cpp/NgonGridMatplotDataDecomposer.cpp \
                                                                src/cpp/Plot3DDecomposer.cpp \
                                                                src/cpp/PolylineDecomposer.cpp \
-                                                               src/cpp/TriangleMeshFecDataDecomposer.cpp \
+                                                               src/cpp/MeshFecDataDecomposer.cpp \
                                                                src/cpp/Triangulator.cpp \
                                                                src/cpp/ScilabView.cpp \
                                                                src/cpp/FigureList.cpp \
index 7ef4656..e43838e 100644 (file)
@@ -207,8 +207,8 @@ am__objects_4 =  \
        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-TriangleMeshData.lo \
-       src/cpp/libscigraphic_objects_la-TriangleMeshFecData.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 \
@@ -219,7 +219,7 @@ am__objects_4 =  \
        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-TriangleMeshFecDataDecomposer.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 \
@@ -715,8 +715,8 @@ GRAPHIC_OBJECTS_CXX_SOURCES = src/cpp/createGraphicObject.cpp \
                                                                src/cpp/NgonGridData.cpp \
                                                                src/cpp/NgonGridMatplotData.cpp \
                                                                src/cpp/NgonPolylineData.cpp \
-                                                               src/cpp/TriangleMeshData.cpp \
-                                                               src/cpp/TriangleMeshFecData.cpp \
+                                                               src/cpp/MeshData.cpp \
+                                                               src/cpp/MeshFecData.cpp \
                                                                src/cpp/ColorComputer.cpp \
                                                                src/cpp/DecompositionUtils.cpp \
                                                                src/cpp/Fac3DColorComputer.cpp \
@@ -727,7 +727,7 @@ GRAPHIC_OBJECTS_CXX_SOURCES = src/cpp/createGraphicObject.cpp \
                                                                src/cpp/NgonGridMatplotDataDecomposer.cpp \
                                                                src/cpp/Plot3DDecomposer.cpp \
                                                                src/cpp/PolylineDecomposer.cpp \
-                                                               src/cpp/TriangleMeshFecDataDecomposer.cpp \
+                                                               src/cpp/MeshFecDataDecomposer.cpp \
                                                                src/cpp/Triangulator.cpp \
                                                                src/cpp/ScilabView.cpp \
                                                                src/cpp/FigureList.cpp \
@@ -924,9 +924,9 @@ 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-TriangleMeshData.lo:  \
-       src/cpp/$(am__dirstamp) src/cpp/$(DEPDIR)/$(am__dirstamp)
-src/cpp/libscigraphic_objects_la-TriangleMeshFecData.lo:  \
+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)
@@ -948,7 +948,7 @@ 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-TriangleMeshFecDataDecomposer.lo:  \
+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)
@@ -1006,6 +1006,9 @@ distclean-compile:
 @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@
@@ -1019,9 +1022,6 @@ distclean-compile:
 @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-TriangleMeshData.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-TriangleMeshFecData.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/cpp/$(DEPDIR)/libscigraphic_objects_la-TriangleMeshFecDataDecomposer.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@
@@ -1243,19 +1243,19 @@ src/cpp/libscigraphic_objects_la-NgonPolylineData.lo: src/cpp/NgonPolylineData.c
 @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-TriangleMeshData.lo: src/cpp/TriangleMeshData.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-TriangleMeshData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-TriangleMeshData.Tpo -c -o src/cpp/libscigraphic_objects_la-TriangleMeshData.lo `test -f 'src/cpp/TriangleMeshData.cpp' || echo '$(srcdir)/'`src/cpp/TriangleMeshData.cpp
-@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-TriangleMeshData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-TriangleMeshData.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/TriangleMeshData.cpp' object='src/cpp/libscigraphic_objects_la-TriangleMeshData.lo' libtool=yes @AMDEPBACKSLASH@
+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-TriangleMeshData.lo `test -f 'src/cpp/TriangleMeshData.cpp' || echo '$(srcdir)/'`src/cpp/TriangleMeshData.cpp
+@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-TriangleMeshFecData.lo: src/cpp/TriangleMeshFecData.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-TriangleMeshFecData.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-TriangleMeshFecData.Tpo -c -o src/cpp/libscigraphic_objects_la-TriangleMeshFecData.lo `test -f 'src/cpp/TriangleMeshFecData.cpp' || echo '$(srcdir)/'`src/cpp/TriangleMeshFecData.cpp
-@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-TriangleMeshFecData.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-TriangleMeshFecData.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/TriangleMeshFecData.cpp' object='src/cpp/libscigraphic_objects_la-TriangleMeshFecData.lo' libtool=yes @AMDEPBACKSLASH@
+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-TriangleMeshFecData.lo `test -f 'src/cpp/TriangleMeshFecData.cpp' || echo '$(srcdir)/'`src/cpp/TriangleMeshFecData.cpp
+@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
@@ -1327,12 +1327,12 @@ src/cpp/libscigraphic_objects_la-PolylineDecomposer.lo: src/cpp/PolylineDecompos
 @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-TriangleMeshFecDataDecomposer.lo: src/cpp/TriangleMeshFecDataDecomposer.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-TriangleMeshFecDataDecomposer.lo -MD -MP -MF src/cpp/$(DEPDIR)/libscigraphic_objects_la-TriangleMeshFecDataDecomposer.Tpo -c -o src/cpp/libscigraphic_objects_la-TriangleMeshFecDataDecomposer.lo `test -f 'src/cpp/TriangleMeshFecDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/TriangleMeshFecDataDecomposer.cpp
-@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/cpp/$(DEPDIR)/libscigraphic_objects_la-TriangleMeshFecDataDecomposer.Tpo src/cpp/$(DEPDIR)/libscigraphic_objects_la-TriangleMeshFecDataDecomposer.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/cpp/TriangleMeshFecDataDecomposer.cpp' object='src/cpp/libscigraphic_objects_la-TriangleMeshFecDataDecomposer.lo' libtool=yes @AMDEPBACKSLASH@
+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-TriangleMeshFecDataDecomposer.lo `test -f 'src/cpp/TriangleMeshFecDataDecomposer.cpp' || echo '$(srcdir)/'`src/cpp/TriangleMeshFecDataDecomposer.cpp
+@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
index aab17a5..a5f9b13 100644 (file)
@@ -22,8 +22,8 @@
 #include "NgonGridData.hxx"
 #include "NgonGridMatplotData.hxx"
 #include "NgonPolylineData.hxx"
-#include "TriangleMeshData.hxx"
-#include "TriangleMeshFecData.hxx"
+#include "MeshData.hxx"
+#include "MeshFecData.hxx"
 
 #include "graphicObjectProperties.h"
 
index 6fccfad..a037232 100644 (file)
 #define INDICES                     18
 #define VALUES                      19
 
-#define FEC_TRIANGLES               20
+#define FEC_ELEMENTS                20
+#define NUM_VERTICES_BY_ELEM        21
 
-#define NUM_X                       21
-#define NUM_Y                       22
-#define NUM_Z                       23
-#define GRID_SIZE                   24
-#define X_DIMENSIONS                25
-#define Y_DIMENSIONS                26
+#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                      27
-#define NUM_COLORS                  28
+#define COLORS                      28
+#define NUM_COLORS                  29
 
 #define MATPLOT_BOUNDS              30
 #define MATPLOT_TYPE                31
index f96a48f..387428a 100644 (file)
@@ -87,6 +87,15 @@ public :
     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.
@@ -107,6 +116,18 @@ public :
      * 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.
@@ -10,8 +10,8 @@
  *
  */
 
-#ifndef TRIANGLE_MESH_DATA_HXX
-#define TRIANGLE_MESH_DATA_HXX
+#ifndef MESH_DATA_HXX
+#define MESH_DATA_HXX
 
 #include "Data3D.hxx"
 
@@ -20,10 +20,10 @@ extern "C" {
 }
 
 /**
- * Triangle mesh data class
+ * Mesh data class
  */
 
-class TriangleMeshData: public Data3D
+class MeshData: public Data3D
 {
 
 protected:
@@ -34,8 +34,8 @@ protected:
      */
     double* vertices;
 
-    /** Triangle indices array
-     * Contiguous (v0, v1, v2) triplets
+    /** Element indices array
+     * Contiguous (v0, v1, v2, ...) triplets
      */
     unsigned int* indices;
 
@@ -49,25 +49,27 @@ protected:
     /** Number of vertices */
     unsigned int numberVertices;
 
-    /** Number of triangles */
-    unsigned int numberTriangles;
+    /** Number of elements */
+    unsigned int numberElements;
+
+    unsigned int numberVerticesByElem;
 
 public:
     /**
      * Constructor
      */
-    TriangleMeshData(void);
+    MeshData(void);
 
     /**
      * Constructor
      * To be implemented
      */
-    TriangleMeshData(unsigned int numberVertices, unsigned int numberTriangles);
+    MeshData(unsigned int numberVertices, unsigned int numberElements, unsigned int numberVerticesByElem = 3);
 
     /**
      * Destructor
      */
-    virtual ~TriangleMeshData();
+    virtual ~MeshData();
 
     /**
      * Returns the identifier associated to a property name
@@ -107,7 +109,7 @@ public:
     int setNumVertices(unsigned int numVertices);
 
     /**
-     * Returns the number of index triplets (number of triangles)
+     * Returns the number of index triplets (number of elements)
      * @return the number of index triplets
      */
     unsigned int getNumIndices();
@@ -126,13 +128,13 @@ public:
     void setVertices(double const* vertices, unsigned int numElements);
 
     /**
-     * Returns the array of triangle indices
-     * @return a pointer to the array of triangle indices
+     * Returns the array of indices
+     * @return a pointer to the array indices
      */
     unsigned int* getIndices(void);
 
     /**
-     * Sets the number of index triplets (number of triangles)
+     * 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)
@@ -186,9 +188,9 @@ public:
     void resetCoordinates(void);
 
     /**
-     * Converts a triangle vertex index as seen by Scilab to an internal format triangle vertex index
+     * 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 triangle vertex index
+     * @return the internal format vertex index
      */
     static unsigned int scilabIndexToIndex(unsigned int scilabIndex);
 };
  *
  */
 
-#ifndef TRIANGLE_MESH_FEC_DATA_HXX
-#define TRIANGLE_MESH_FEC_DATA_HXX
+#ifndef MESH_FEC_DATA_HXX
+#define MESH_FEC_DATA_HXX
 
 #include "Data3D.hxx"
-#include "TriangleMeshData.hxx"
+#include "MeshData.hxx"
 
 extern "C" {
 #include "BOOL.h"
@@ -24,7 +24,7 @@ extern "C" {
  * Fec triangle mesh data class
  */
 
-class TriangleMeshFecData: public TriangleMeshData
+class MeshFecData: public MeshData
 {
 
 private:
@@ -42,18 +42,18 @@ public:
     /**
      * Constructor
      */
-    TriangleMeshFecData(void);
+    MeshFecData(void);
 
     /**
      * Constructor
      * To be implemented
      */
-    TriangleMeshFecData(unsigned int numberVertices, unsigned int numberTriangles);
+    MeshFecData(unsigned int numberVertices, unsigned int numberTriangles, unsigned int numberVerticesByElem = 3);
 
     /**
      * Destructor
      */
-    virtual ~TriangleMeshFecData();
+    virtual ~MeshFecData();
 
     /**
      * Returns the identifier associated to a property name
@@ -79,13 +79,13 @@ public:
     void getDataProperty(int property, void **_pvData);
 
     /**
-     * Returns the number of index triplets (number of triangles)
+     * Returns the number of index triplets
      * @return the number of index triplets
      */
     unsigned int getNumIndices();
 
     /**
-     * Sets the number of number of index triplets (number of triangles)
+     * 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)
@@ -97,13 +97,13 @@ public:
      * @param[in] a pointer to the array of fec triangles values
      * @param[in] numElements the number of triangles to set
      */
-    void setFecTriangles(double const* data, int numElements);
+    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* getFecTriangles(void);
+    double* getFecElements(void);
 };
 
 #endif
@@ -10,8 +10,8 @@
  *
  */
 
-#ifndef TRIANGLEMESHFECDATA_DECOMPOSER_HXX
-#define TRIANGLEMESHFECDATA_DECOMPOSER_HXX
+#ifndef MESHFECDATA_DECOMPOSER_HXX
+#define MESHFECDATA_DECOMPOSER_HXX
 
 /**
  * TriangleMeshFecData decomposer class
@@ -20,7 +20,7 @@
  * It only has static member functions since it stores no actual state.
  */
 
-class TriangleMeshFecDataDecomposer
+class MeshFecDataDecomposer
 {
 
 private :
@@ -46,6 +46,16 @@ private :
     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.
@@ -56,6 +66,15 @@ private :
     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.
@@ -67,6 +86,16 @@ private :
     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.
index d04a7e2..63f71de 100755 (executable)
 #define __GO_DATA_MODEL_NUM_INDICES__ 56
 #define __GO_DATA_MODEL_INDICES__ 57
 #define __GO_DATA_MODEL_VALUES__ 58
-#define __GO_DATA_MODEL_FEC_TRIANGLES__ 59
-#define __GO_DATA_MODEL_NUM_X__ 60
-#define __GO_DATA_MODEL_NUM_Y__ 61
-#define __GO_DATA_MODEL_NUM_Z__ 62
-#define __GO_DATA_MODEL_GRID_SIZE__ 63
-#define __GO_DATA_MODEL_X_DIMENSIONS__ 64
-#define __GO_DATA_MODEL_Y_DIMENSIONS__ 65
-#define __GO_MATPLOT_TRANSLATE__ 66
-#define __GO_MATPLOT_SCALE__ 67
-#define __GO_DATA_MODEL_MATPLOT_BOUNDS__ 68
-#define __GO_DATA_MODEL_MATPLOT_TYPE__ 69
-#define __GO_DATA_MODEL_MATPLOT_GL_TYPE__ 70
-#define __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ 71
-#define __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ 72
-#define __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ 73
-#define __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ 74
-#define __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ 75
-#define __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__ 76
-#define __GO_REFERENCED__ 77
-#define __GO_VALID__ 78
-#define __GO_POSITION__ 79
-#define __GO_SIZE__ 80
-#define __GO_CANVAS__ 81
-#define __GO_AUTORESIZE__ 82
-#define __GO_VIEWPORT__ 83
-#define __GO_AXES_SIZE__ 84
-#define __GO_FIGURE_NAME__ 85
-#define __GO_NAME__ 86
-#define __GO_ID__ 87
-#define __GO_INFO_MESSAGE__ 88
-#define __GO_COLORMAP__ 89
-#define __GO_COLORMAP_SIZE__ 90
-#define __GO_RENDERING_MODE__ 91
-#define __GO_PIXEL_DRAWING_MODE__ 92
-#define __GO_ANTIALIASING__ 93
-#define __GO_IMMEDIATE_DRAWING__ 94
-#define __GO_BACKGROUND__ 95
-#define __GO_EVENTHANDLER__ 96
-#define __GO_EVENTHANDLER_NAME__ 97
-#define __GO_EVENTHANDLER_ENABLE__ 98
-#define __GO_TAG__ 99
-#define __GO_ROTATION_TYPE__ 100
-#define __GO_RESIZEFCN__ 101
-#define __GO_CLOSEREQUESTFCN__ 102
-#define __GO_DEFAULT_AXES__ 103
-#define __GO_UPPER_LEFT_POINT__ 104
-#define __GO_WIDTH__ 105
-#define __GO_HEIGHT__ 106
-#define __GO_START_ANGLE__ 107
-#define __GO_END_ANGLE__ 108
-#define __GO_ARC_DRAWING_METHOD__ 109
-#define __GO_X_AXIS_VISIBLE__ 110
-#define __GO_X_AXIS_REVERSE__ 111
-#define __GO_X_AXIS_GRID_COLOR__ 112
-#define __GO_X_AXIS_GRID_THICKNESS__ 113
-#define __GO_X_AXIS_GRID_STYLE__ 114
-#define __GO_X_AXIS_LABEL__ 115
-#define __GO_X_AXIS_LOCATION__ 116
-#define __GO_X_AXIS_LOG_FLAG__ 117
-#define __GO_X_AXIS_TICKS__ 118
-#define __GO_X_AXIS_FORMAT__ 119
-#define __GO_X_AXIS_ST_FACTORS__ 120
-#define __GO_X_AXIS_AUTO_TICKS__ 121
-#define __GO_X_AXIS_NUMBER_TICKS__ 122
-#define __GO_X_AXIS_TICKS_LOCATIONS__ 123
-#define __GO_X_AXIS_TICKS_LABELS__ 124
-#define __GO_X_AXIS_SUBTICKS__ 125
-#define __GO_Y_AXIS_VISIBLE__ 126
-#define __GO_Y_AXIS_REVERSE__ 127
-#define __GO_Y_AXIS_GRID_COLOR__ 128
-#define __GO_Y_AXIS_GRID_THICKNESS__ 129
-#define __GO_Y_AXIS_GRID_STYLE__ 130
-#define __GO_Y_AXIS_LABEL__ 131
-#define __GO_Y_AXIS_LOCATION__ 132
-#define __GO_Y_AXIS_LOG_FLAG__ 133
-#define __GO_Y_AXIS_TICKS__ 134
-#define __GO_Y_AXIS_FORMAT__ 135
-#define __GO_Y_AXIS_ST_FACTORS__ 136
-#define __GO_Y_AXIS_AUTO_TICKS__ 137
-#define __GO_Y_AXIS_NUMBER_TICKS__ 138
-#define __GO_Y_AXIS_TICKS_LOCATIONS__ 139
-#define __GO_Y_AXIS_TICKS_LABELS__ 140
-#define __GO_Y_AXIS_SUBTICKS__ 141
-#define __GO_Z_AXIS_VISIBLE__ 142
-#define __GO_Z_AXIS_REVERSE__ 143
-#define __GO_Z_AXIS_GRID_COLOR__ 144
-#define __GO_Z_AXIS_GRID_THICKNESS__ 145
-#define __GO_Z_AXIS_GRID_STYLE__ 146
-#define __GO_Z_AXIS_LABEL__ 147
-#define __GO_Z_AXIS_LOCATION__ 148
-#define __GO_Z_AXIS_LOG_FLAG__ 149
-#define __GO_Z_AXIS_TICKS__ 150
-#define __GO_Z_AXIS_FORMAT__ 151
-#define __GO_Z_AXIS_ST_FACTORS__ 152
-#define __GO_Z_AXIS_AUTO_TICKS__ 153
-#define __GO_Z_AXIS_NUMBER_TICKS__ 154
-#define __GO_Z_AXIS_TICKS_LOCATIONS__ 155
-#define __GO_Z_AXIS_TICKS_LABELS__ 156
-#define __GO_Z_AXIS_SUBTICKS__ 157
-#define __GO_AUTO_SUBTICKS__ 158
-#define __GO_GRID_POSITION__ 159
-#define __GO_TITLE__ 160
-#define __GO_AUTO_CLEAR__ 161
-#define __GO_FILLED__ 162
-#define __GO_CAMERA__ 163
-#define __GO_VIEW__ 164
-#define __GO_ISOVIEW__ 165
-#define __GO_CUBE_SCALING__ 166
-#define __GO_ROTATION_ANGLES__ 167
-#define __GO_ROTATION_ANGLES_3D__ 168
-#define __GO_BOX_TYPE__ 169
-#define __GO_HIDDEN_AXIS_COLOR__ 170
-#define __GO_X_TIGHT_LIMITS__ 171
-#define __GO_Y_TIGHT_LIMITS__ 172
-#define __GO_Z_TIGHT_LIMITS__ 173
-#define __GO_DATA_BOUNDS__ 174
-#define __GO_REAL_DATA_BOUNDS__ 175
-#define __GO_ZOOM_ENABLED__ 176
-#define __GO_ZOOM_BOX__ 177
-#define __GO_AUTO_SCALE__ 178
-#define __GO_FIRST_PLOT__ 179
-#define __GO_MARGINS__ 180
-#define __GO_AUTO_MARGINS__ 181
-#define __GO_AXES_BOUNDS__ 182
-#define __GO_CLIP_PROPERTY__ 183
-#define __GO_CLIP_STATE__ 184
-#define __GO_CLIP_BOX__ 185
-#define __GO_CLIP_BOX_SET__ 186
-#define __GO_LINE__ 187
-#define __GO_LINE_MODE__ 188
-#define __GO_LINE_STYLE__ 189
-#define __GO_LINE_THICKNESS__ 190
-#define __GO_LINE_COLOR__ 191
-#define __GO_FILL_MODE__ 192
-#define __GO_MARK__ 193
-#define __GO_MARK_MODE__ 194
-#define __GO_MARK_STYLE__ 195
-#define __GO_MARK_SIZE_UNIT__ 196
-#define __GO_MARK_SIZE__ 197
-#define __GO_MARK_FOREGROUND__ 198
-#define __GO_MARK_BACKGROUND__ 199
-#define __GO_MARK_OFFSET__ 200
-#define __GO_MARK_STRIDE__ 201
-#define __GO_SELECTED__ 202
-#define __GO_TICKS_DIRECTION__ 203
-#define __GO_X_NUMBER_TICKS__ 204
-#define __GO_Y_NUMBER_TICKS__ 205
-#define __GO_X_TICKS_COORDS__ 206
-#define __GO_Y_TICKS_COORDS__ 207
-#define __GO_TICKS_COLOR__ 208
-#define __GO_TICKS_SEGMENT__ 209
-#define __GO_TICKS_STYLE__ 210
-#define __GO_SUBTICKS__ 211
-#define __GO_NUMBER_TICKS_LABELS__ 212
-#define __GO_TICKS_LABELS__ 213
-#define __GO_FORMATN__ 214
-#define __GO_FONT__ 215
-#define __GO_FONT_STYLE__ 216
-#define __GO_FONT_SIZE__ 217
-#define __GO_FONT_COLOR__ 218
-#define __GO_FONT_FRACTIONAL__ 219
-#define __GO_Z_BOUNDS__ 220
-#define __GO_OUTSIDE_COLOR__ 221
-#define __GO_COLOR_RANGE__ 222
-#define __GO_DATA_MAPPING__ 223
-#define __GO_FONT_ANGLE__ 224
-#define __GO_AUTO_POSITION__ 225
-#define __GO_CORNERS__ 226
-#define __GO_AUTO_ROTATION__ 227
-#define __GO_LINKS__ 228
-#define __GO_LINKS_COUNT__ 229
-#define __GO_LEGEND_LOCATION__ 230
-#define __GO_MARKS_COUNT__ 231
-#define __GO_LINE_WIDTH__ 232
-#define __GO_CLOSED__ 233
-#define __GO_ARROW_SIZE_FACTOR__ 234
-#define __GO_POLYLINE_STYLE__ 235
-#define __GO_INTERP_COLOR_VECTOR__ 236
-#define __GO_INTERP_COLOR_VECTOR_SET__ 237
-#define __GO_INTERP_COLOR_MODE__ 238
-#define __GO_X_SHIFT__ 239
-#define __GO_Y_SHIFT__ 240
-#define __GO_Z_SHIFT__ 241
-#define __GO_BAR_WIDTH__ 242
-#define __GO_SURFACE_MODE__ 243
-#define __GO_COLOR_MODE__ 244
-#define __GO_COLOR_FLAG__ 245
-#define __GO_ALIGNMENT__ 246
-#define __GO_BOX__ 247
-#define __GO_TEXT_BOX__ 248
-#define __GO_TEXT_BOX_MODE__ 249
-#define __GO_AUTO_DIMENSIONING__ 250
-#define __GO_FORMATTED_TEXT__ 251
-#define __GO_TEXT_ARRAY_DIMENSIONS__ 252
-#define __GO_TEXT_STRINGS__ 253
-#define __GO_BASE__ 254
-#define __GO_BASE_X__ 255
-#define __GO_BASE_Y__ 256
-#define __GO_BASE_Z__ 257
-#define __GO_DIRECTION__ 258
-#define __GO_DIRECTION_X__ 259
-#define __GO_DIRECTION_Y__ 260
-#define __GO_DIRECTION_Z__ 261
-#define __GO_ARROW_SIZE__ 262
-#define __GO_SEGS_COLORS__ 263
-#define __GO_COLORED__ 264
-#define __GO_ARROWS__ 265
-#define __GO_NUMBER_ARROWS__ 266
-#define __GO_CHAMP_DIMENSIONS__ 267
-#define __GO_BOUNDING_BOX__ 268
-#define __GO_MAX_LENGTH__ 269
-#define __GO_MAX_USABLE_LENGTH__ 270
-#define __GO_HIDDEN_COLOR__ 271
-#define __GO_STYLE__ 272
-#define __GO_UI_CHECKBOX__ 273
-#define __GO_UI_EDIT__ 274
-#define __GO_UI_SPINNER__ 275
-#define __GO_UI_FRAME__ 276
-#define __GO_UI_FRAME_SCROLLABLE__ 277
-#define __GO_UI_IMAGE__ 278
-#define __GO_UI_LISTBOX__ 279
-#define __GO_UI_POPUPMENU__ 280
-#define __GO_UI_PUSHBUTTON__ 281
-#define __GO_UI_RADIOBUTTON__ 282
-#define __GO_UI_SLIDER__ 283
-#define __GO_UI_TABLE__ 284
-#define __GO_UI_TEXT__ 285
-#define __GO_UI_LAYER__ 286
-#define __GO_UI_BACKGROUNDCOLOR__ 287
-#define __GO_UI_ENABLE__ 288
-#define __GO_UI_FONTANGLE__ 289
-#define __GO_UI_FONTNAME__ 290
-#define __GO_UI_FONTSIZE__ 291
-#define __GO_UI_FONTUNITS__ 292
-#define __GO_UI_FONTWEIGHT__ 293
-#define __GO_UI_FOREGROUNDCOLOR__ 294
-#define __GO_UI_HORIZONTALALIGNMENT__ 295
-#define __GO_UI_LISTBOXTOP__ 296
-#define __GO_UI_LISTBOXTOP_SIZE__ 297
-#define __GO_UI_MAX__ 298
-#define __GO_UI_MIN__ 299
-#define __GO_UI_RELIEF__ 300
-#define __GO_UI_STRING__ 301
-#define __GO_UI_TAB_STRING__ 302
-#define __GO_UI_STRING_SIZE__ 303
-#define __GO_UI_STRING_COLNB__ 304
-#define __GO_UI_TOOLTIPSTRING__ 305
-#define __GO_UI_TOOLTIPSTRING_SIZE__ 306
-#define __GO_UI_SLIDERSTEP__ 307
-#define __GO_UI_UNITS__ 308
-#define __GO_UI_VALUE__ 309
-#define __GO_UI_TAB_VALUE__ 310
-#define __GO_UI_VALUE_SIZE__ 311
-#define __GO_UI_VERTICALALIGNMENT__ 312
-#define __GO_UIPARENTMENU__ 313
-#define __GO_UICHILDMENU__ 314
-#define __GO_UICHECKEDMENU__ 315
-#define __GO_UI_CHECKED__ 316
-#define __GO_UI_LABEL__ 317
-#define __GO_UI_MNEMONIC__ 318
-#define __GO_UI_ACCELERATOR__ 319
-#define __GO_UI_SEPARATOR__ 320
-#define __GO_UI_ICON__ 321
-#define __GO_CONSOLE__ 322
-#define __GO_SHOWHIDDENHANDLES__ 323
-#define __GO_SHOWHIDDENPROPERTIES__ 324
-#define __GO_USEDEPRECATEDLF__ 325
-#define __GO_WAITBAR__ 326
-#define __GO_PROGRESSIONBAR__ 327
-#define __GO_UI_MESSAGE__ 328
-#define __GO_UI_MESSAGE_SIZE__ 329
-#define __GO_DATATIP__ 330
-#define __GO_DATATIP_DATA__ 331
-#define __GO_DATATIP_ORIENTATION__ 332
-#define __GO_DATATIP_3COMPONENT__ 333
-#define __GO_DATATIP_AUTOORIENTATION__ 334
-#define __GO_DATATIP_INTERP_MODE__ 335
-#define __GO_DATATIP_DISPLAY_FNC__ 336
-#define __GO_DATATIP_BOX_MODE__ 337
-#define __GO_DATATIP_LABEL_MODE__ 338
-#define __GO_DATATIP_MARK__ 339
-#define __GO_AMBIENTCOLOR__ 340
-#define __GO_DIFFUSECOLOR__ 341
-#define __GO_SPECULARCOLOR__ 342
-#define __GO_COLOR_MATERIAL__ 343
-#define __GO_MATERIAL_SHININESS__ 344
-#define __GO_LIGHT__ 345
-#define __GO_LIGHT_TYPE__ 346
-#define __GO_DATATIPS__ 347
-#define __GO_DATATIPS_COUNT__ 348
-#define __GO_DATATIP_INDEXES__ 349
-#define __GO_DATA_MODEL_DISPLAY_FUNCTION__ 350
-#define __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ 351
-#define __GO_RESIZE__ 352
-#define __GO_TOOLBAR__ 353
-#define __GO_TOOLBAR_VISIBLE__ 354
-#define __GO_MENUBAR__ 355
-#define __GO_MENUBAR_VISIBLE__ 356
-#define __GO_INFOBAR_VISIBLE__ 357
-#define __GO_DOCKABLE__ 358
-#define __GO_LAYOUT__ 359
-#define __GO_LAYOUT_SET__ 360
-#define __GO_UI_TAB__ 361
-#define __GO_UI_GRIDBAG_GRID__ 362
-#define __GO_UI_GRIDBAG_WEIGHT__ 363
-#define __GO_UI_GRIDBAG_FILL__ 364
-#define __GO_UI_GRIDBAG_ANCHOR__ 365
-#define __GO_UI_GRIDBAG_PADDING__ 366
-#define __GO_UI_GRIDBAG_PREFERREDSIZE__ 367
-#define __GO_UI_GRID_GRID__ 368
-#define __GO_UI_GRID_PADDING__ 369
-#define __GO_UI_BORDER_POSITION__ 370
-#define __GO_UI_BORDER_PREFERREDSIZE__ 371
-#define __GO_GRID_OPT_GRID__ 372
-#define __GO_GRID_OPT_PADDING__ 373
-#define __GO_BORDER_OPT_PADDING__ 374
-#define __GO_UI_FRAME_BORDER__ 375
-#define __GO_UI_FRAME_BORDER_COLOR__ 376
-#define __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ 377
-#define __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ 378
-#define __GO_UI_FRAME_BORDER_IN_BORDER__ 379
-#define __GO_UI_FRAME_BORDER_JUSTIFICATION__ 380
-#define __GO_UI_FRAME_BORDER_OUT_BORDER__ 381
-#define __GO_UI_FRAME_BORDER_ROUNDED__ 382
-#define __GO_UI_FRAME_BORDER_SHADOW_IN__ 383
-#define __GO_UI_FRAME_BORDER_SHADOW_OUT__ 384
-#define __GO_UI_FRAME_BORDER_TITLE__ 385
-#define __GO_UI_FRAME_BORDER_POSITION__ 386
-#define __GO_UI_FRAME_BORDER_STYLE__ 387
-#define __GO_UI_GROUP_NAME__ 388
-#define __GO_UI_TITLE_POSITION__ 389
-#define __GO_UI_TITLE_SCROLL__ 390
-#define __GO_UI_FRAME_BORDER_TYPE__ 391
-#define __GO_UI_SCROLLABLE__ 392
+#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__ */
index eb71069..2e5c852 100644 (file)
     <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\Plot3DDecomposer.cpp" />
     <ClCompile Include="..\cpp\PolylineDecomposer.cpp" />
     <ClCompile Include="..\cpp\setGraphicObjectProperty.cpp" />
-    <ClCompile Include="..\cpp\TriangleMeshData.cpp" />
-    <ClCompile Include="..\cpp\TriangleMeshFecData.cpp" />
-    <ClCompile Include="..\cpp\TriangleMeshFecDataDecomposer.cpp" />
     <ClCompile Include="..\jni\SurfaceData_wrap.c" />
     <ClCompile Include="..\cpp\createObjectData.cpp" />
     <ClCompile Include="..\cpp\pickSurface.cpp" />
index ae53de2..b61c492 100644 (file)
     <ClCompile Include="..\cpp\setGraphicObjectProperty.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\cpp\TriangleMeshData.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\cpp\TriangleMeshFecData.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="..\cpp\TriangleMeshFecDataDecomposer.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="..\cpp\NgonGridMatplotDataDecomposer.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">
index f9071aa..0debb60 100644 (file)
@@ -22,7 +22,7 @@
 #include "NgonGridMatplotDataDecomposer.hxx"
 #include "Plot3DDecomposer.hxx"
 #include "PolylineDecomposer.hxx"
-#include "TriangleMeshFecDataDecomposer.hxx"
+#include "MeshFecDataDecomposer.hxx"
 #include "NormalGenerator.hxx"
 
 extern "C"
@@ -103,7 +103,7 @@ int getDataSize(int id)
         case __GO_FAC3D__ :
             return Fac3DDecomposer::getDataSize(id);
         case __GO_FEC__ :
-            return TriangleMeshFecDataDecomposer::getDataSize(id);
+            return MeshFecDataDecomposer::getDataSize(id);
         case __GO_GRAYPLOT__ :
             return NgonGridGrayplotDataDecomposer::getDataSize(id);
         case __GO_MATPLOT__ :
@@ -131,7 +131,7 @@ void fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int
             Fac3DDecomposer::fillVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask);
             break;
         case __GO_FEC__ :
-            TriangleMeshFecDataDecomposer::fillVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask);
+            MeshFecDataDecomposer::fillVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask);
             break;
         case __GO_GRAYPLOT__ :
             NgonGridGrayplotDataDecomposer::fillVertices(id, buffer, bufferLength, elementsSize, coordinateMask, scale, translation, logMask);
@@ -204,7 +204,7 @@ void fillTextureCoordinates(int id, float* BUFF, int bufferLength)
             Fac3DDecomposer::fillTextureCoordinates(id, BUFF, bufferLength);
             break;
         case __GO_FEC__ :
-            TriangleMeshFecDataDecomposer::fillTextureCoordinates(id, BUFF, bufferLength);
+            MeshFecDataDecomposer::fillTextureCoordinates(id, BUFF, bufferLength);
             break;
         case __GO_POLYLINE__ :
             PolylineDecomposer::fillTextureCoordinates(id, BUFF, bufferLength);
@@ -222,7 +222,7 @@ void fillColors(int id, float* BUFF, int bufferLength, int elementsSize)
     switch (iType)
     {
         case __GO_FEC__ :
-            TriangleMeshFecDataDecomposer::fillColors(id, BUFF, bufferLength, elementsSize);
+            MeshFecDataDecomposer::fillColors(id, BUFF, bufferLength, elementsSize);
             break;
         case __GO_GRAYPLOT__ :
             NgonGridGrayplotDataDecomposer::fillColors(id, BUFF, bufferLength, elementsSize);
@@ -252,7 +252,7 @@ int getIndicesSize(int id)
         case __GO_FAC3D__ :
             return Fac3DDecomposer::getIndicesSize(id);
         case __GO_FEC__ :
-            return TriangleMeshFecDataDecomposer::getIndicesSize(id);
+            return MeshFecDataDecomposer::getIndicesSize(id);
         case __GO_GRAYPLOT__ :
             return NgonGridGrayplotDataDecomposer::getIndicesSize(id);
         case __GO_MATPLOT__ :
@@ -279,7 +279,7 @@ int fillIndices(int id, int* buffer, int bufferLength, int logMask)
         case __GO_FAC3D__ :
             return Fac3DDecomposer::fillIndices(id, buffer, bufferLength, logMask);
         case __GO_FEC__ :
-            return TriangleMeshFecDataDecomposer::fillIndices(id, buffer, bufferLength, logMask);
+            return MeshFecDataDecomposer::fillIndices(id, buffer, bufferLength, logMask);
         case __GO_GRAYPLOT__ :
             return NgonGridGrayplotDataDecomposer::fillIndices(id, buffer, bufferLength, logMask);
         case __GO_MATPLOT__ :
@@ -305,7 +305,7 @@ int getWireIndicesSize(int id)
         case __GO_FAC3D__ :
             return Fac3DDecomposer::getWireIndicesSize(id);
         case __GO_FEC__ :
-            return TriangleMeshFecDataDecomposer::getWireIndicesSize(id);
+            return MeshFecDataDecomposer::getWireIndicesSize(id);
         case __GO_PLOT3D__ :
             return Plot3DDecomposer::getWireIndicesSize(id);
         case __GO_POLYLINE__ :
@@ -327,7 +327,7 @@ int fillWireIndices(int id, int* buffer, int bufferLength, int logMask)
         case __GO_FAC3D__ :
             return Fac3DDecomposer::fillWireIndices(id, buffer, bufferLength, logMask);
         case __GO_FEC__ :
-            return TriangleMeshFecDataDecomposer::fillWireIndices(id, buffer, bufferLength, logMask);
+            return MeshFecDataDecomposer::fillWireIndices(id, buffer, bufferLength, logMask);
         case __GO_PLOT3D__ :
             return Plot3DDecomposer::fillWireIndices(id, buffer, bufferLength, logMask);
         case __GO_POLYLINE__ :
index ca041c6..5c0e3c0 100644 (file)
@@ -74,6 +74,18 @@ int DecompositionUtils::isValid(double x, double y, double z)
     }
 }
 
+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);
@@ -113,6 +125,23 @@ int DecompositionUtils::isLogValid(double x, double y, double z, int logMask)
     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;
@@ -10,7 +10,7 @@
  *
  */
 
-#include "TriangleMeshData.hxx"
+#include "MeshData.hxx"
 #include "DataProperties.hxx"
 
 extern "C" {
@@ -20,29 +20,30 @@ extern "C" {
 #include "graphicObjectProperties.h"
 }
 
-TriangleMeshData::TriangleMeshData(void)
+MeshData::MeshData(void)
 {
     vertices = NULL;
     indices = NULL;
     values = NULL;
 
     numberVertices = 0;
-    numberTriangles = 0;
+    numberElements = 0;
+    numberVerticesByElem = 3;
 }
 
 /* To be correctly implemented */
-TriangleMeshData::TriangleMeshData(unsigned int numberVertices, unsigned int numberTriangles)
+MeshData::MeshData(unsigned int numberVertices, unsigned int numberElements, unsigned int numberVerticesByElem)
 {
-    vertices = new double[3 * numberVertices];
-
-    indices = new unsigned int[3 * numberTriangles];
+    vertices = new double[numberVerticesByElem * numberVertices];
+    indices = new unsigned int[numberVerticesByElem * numberElements];
 
     this->numberVertices = numberVertices;
-    this->numberTriangles = numberTriangles;
+    this->numberElements = numberElements;
+    this->numberVerticesByElem = numberVerticesByElem;
 }
 
 /* To be correctly implemented */
-TriangleMeshData::~TriangleMeshData(void)
+MeshData::~MeshData(void)
 {
     if (numberVertices > 0)
     {
@@ -50,14 +51,14 @@ TriangleMeshData::~TriangleMeshData(void)
         delete [] values;
     }
 
-    if (numberTriangles > 0)
+    if (numberElements > 0)
     {
         delete [] indices;
     }
 
 }
 
-int TriangleMeshData::getPropertyFromName(int propertyName)
+int MeshData::getPropertyFromName(int propertyName)
 {
     switch (propertyName)
     {
@@ -77,6 +78,8 @@ int TriangleMeshData::getPropertyFromName(int propertyName)
             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);
     }
@@ -84,7 +87,7 @@ int TriangleMeshData::getPropertyFromName(int propertyName)
 }
 
 
-int TriangleMeshData::setDataProperty(int property, void const* value, int numElements)
+int MeshData::setDataProperty(int property, void const* value, int numElements)
 {
     switch (property)
     {
@@ -110,6 +113,9 @@ int TriangleMeshData::setDataProperty(int property, void const* value, int numEl
         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);
     }
@@ -117,7 +123,7 @@ int TriangleMeshData::setDataProperty(int property, void const* value, int numEl
     return 1;
 }
 
-void TriangleMeshData::getDataProperty(int property, void **_pvData)
+void MeshData::getDataProperty(int property, void **_pvData)
 {
     switch (property)
     {
@@ -136,12 +142,15 @@ void TriangleMeshData::getDataProperty(int property, void **_pvData)
         case VALUES :
             *_pvData = getValues();
             break;
+        case NUM_VERTICES_BY_ELEM :
+           ((int *) *_pvData)[0] = numberVerticesByElem;
+           break;
         default :
             Data3D::getDataProperty(property, _pvData);
     }
 }
 
-unsigned int TriangleMeshData::getNumVertices(void)
+unsigned int MeshData::getNumVertices(void)
 {
     return numberVertices;
 }
@@ -150,7 +159,7 @@ unsigned int TriangleMeshData::getNumVertices(void)
  * Values are considered as being specified per-vertex for now
  * To be corrected
  */
-int TriangleMeshData::setNumVertices(unsigned int numVertices)
+int MeshData::setNumVertices(unsigned int numVertices)
 {
     int result = 1;
 
@@ -223,22 +232,22 @@ int TriangleMeshData::setNumVertices(unsigned int numVertices)
     return result;
 }
 
-unsigned int TriangleMeshData::getNumIndices(void)
+unsigned int MeshData::getNumIndices(void)
 {
-    return numberTriangles;
+    return numberElements;
 }
 
-int TriangleMeshData::setNumIndices(unsigned int numIndices)
+int MeshData::setNumIndices(unsigned int numIndices)
 {
     int result = 1;
 
-    if (numIndices != this->numberTriangles)
+    if (numIndices != this->numberElements)
     {
         unsigned int* newIndices = NULL;
 
         try
         {
-            newIndices = new unsigned int[3 * numIndices];
+            newIndices = new unsigned int[numberVerticesByElem * numIndices];
         }
         catch (const std::exception& e)
         {
@@ -248,14 +257,14 @@ int TriangleMeshData::setNumIndices(unsigned int numIndices)
 
         if (result)
         {
-            if (this->numberTriangles > 0)
+            if (this->numberElements > 0)
             {
                 delete [] indices;
             }
 
             indices = newIndices;
 
-            this->numberTriangles =  numIndices;
+            this->numberElements = numIndices;
         }
         else
         {
@@ -271,12 +280,12 @@ int TriangleMeshData::setNumIndices(unsigned int numIndices)
     return result;
 }
 
-double* TriangleMeshData::getVertices(void)
+double* MeshData::getVertices(void)
 {
     return vertices;
 }
 
-void TriangleMeshData::setVertices(double const* vertices, unsigned int numElements)
+void MeshData::setVertices(double const* vertices, unsigned int numElements)
 {
     if (numElements <= numberVertices)
     {
@@ -284,20 +293,20 @@ void TriangleMeshData::setVertices(double const* vertices, unsigned int numEleme
     }
 }
 
-unsigned int* TriangleMeshData::getIndices(void)
+unsigned int* MeshData::getIndices(void)
 {
     return indices;
 }
 
-void TriangleMeshData::setIndices(unsigned int const* indices, unsigned int numElements)
+void MeshData::setIndices(unsigned int const* indices, unsigned int numElements)
 {
-    if (numElements <= numberTriangles)
+    if (numElements <= numberElements)
     {
-        memcpy(this->indices, indices, numElements * 3 * sizeof(unsigned int));
+        memcpy(this->indices, indices, numElements * numberVerticesByElem * sizeof(unsigned int));
     }
 }
 
-void TriangleMeshData::setDataX(double const* data, unsigned int numElements)
+void MeshData::setDataX(double const* data, unsigned int numElements)
 {
     if (numElements <= numberVertices)
     {
@@ -308,7 +317,7 @@ void TriangleMeshData::setDataX(double const* data, unsigned int numElements)
     }
 }
 
-void TriangleMeshData::setDataY(double const* data, unsigned int numElements)
+void MeshData::setDataY(double const* data, unsigned int numElements)
 {
     if (numElements <= numberVertices)
     {
@@ -319,7 +328,7 @@ void TriangleMeshData::setDataY(double const* data, unsigned int numElements)
     }
 }
 
-void TriangleMeshData::setDataZ(double const* data, unsigned int numElements)
+void MeshData::setDataZ(double const* data, unsigned int numElements)
 {
     if (numElements <= numberVertices)
     {
@@ -330,7 +339,7 @@ void TriangleMeshData::setDataZ(double const* data, unsigned int numElements)
     }
 }
 
-void TriangleMeshData::setValues(double const* data, unsigned int numElements)
+void MeshData::setValues(double const* data, unsigned int numElements)
 {
     if (numElements <= numberVertices)
     {
@@ -338,23 +347,18 @@ void TriangleMeshData::setValues(double const* data, unsigned int numElements)
     }
 }
 
-double* TriangleMeshData::getValues(void)
+double* MeshData::getValues(void)
 {
     return values;
 }
 
-unsigned int TriangleMeshData::scilabIndexToIndex(unsigned int scilabIndex)
+unsigned int MeshData::scilabIndexToIndex(unsigned int scilabIndex)
 {
     return (scilabIndex - 1);
 }
 
-void TriangleMeshData::resetCoordinates(void)
+void MeshData::resetCoordinates(void)
 {
-    for (unsigned int i = 0; i < numberVertices; i++)
-    {
-        vertices[3 * i] = 0.0;
-        vertices[3 * i + 1] = 0.0;
-        vertices[3 * i + 2] = 0.0;
-    }
+    memset(vertices, 0, numberVertices * 3 * sizeof(double));
 }
 
diff --git a/scilab/modules/graphic_objects/src/cpp/MeshFecData.cpp b/scilab/modules/graphic_objects/src/cpp/MeshFecData.cpp
new file mode 100644 (file)
index 0000000..7a98ade
--- /dev/null
@@ -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;
+}
+
@@ -12,7 +12,9 @@
 
 #include "ColorComputer.hxx"
 #include "DecompositionUtils.hxx"
-#include "TriangleMeshFecDataDecomposer.hxx"
+#include "MeshFecDataDecomposer.hxx"
+
+#include <iostream>
 
 extern "C"
 {
@@ -23,7 +25,7 @@ extern "C"
 #include "graphicObjectProperties.h"
 }
 
-int TriangleMeshFecDataDecomposer::getDataSize(int id)
+int MeshFecDataDecomposer::getDataSize(int id)
 {
     int numVertices = 0;
     int* piNumVertices = &numVertices;
@@ -33,7 +35,7 @@ int TriangleMeshFecDataDecomposer::getDataSize(int id)
     return numVertices;
 }
 
-void TriangleMeshFecDataDecomposer::fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask)
+void MeshFecDataDecomposer::fillVertices(int id, float* buffer, int bufferLength, int elementsSize, int coordinateMask, double* scale, double* translation, int logMask)
 {
     double* coordinates = NULL;
 
@@ -83,7 +85,7 @@ void TriangleMeshFecDataDecomposer::fillVertices(int id, float* buffer, int buff
 
 }
 
-void TriangleMeshFecDataDecomposer::fillTextureCoordinates(int id, float* buffer, int bufferLength)
+void MeshFecDataDecomposer::fillTextureCoordinates(int id, float* buffer, int bufferLength)
 {
     int parentFigure = 0;
     int * piParentFigure = &parentFigure;
@@ -173,7 +175,7 @@ void TriangleMeshFecDataDecomposer::fillTextureCoordinates(int id, float* buffer
     }
 }
 
-void TriangleMeshFecDataDecomposer::fillColors(int id, float* buffer, int bufferLength, int elementsSize)
+void MeshFecDataDecomposer::fillColors(int id, float* buffer, int bufferLength, int elementsSize)
 {
     int parent = 0;
     int parentFigure = 0;
@@ -328,7 +330,7 @@ void TriangleMeshFecDataDecomposer::fillColors(int id, float* buffer, int buffer
     releaseGraphicObjectProperty(__GO_COLORMAP__, colormap, jni_double_vector, colormapSize);
 }
 
-void TriangleMeshFecDataDecomposer::computeMinMaxValues(double* values, int numValues, double* valueMin, double* valueMax)
+void MeshFecDataDecomposer::computeMinMaxValues(double* values, int numValues, double* valueMin, double* valueMax)
 {
     double maxDouble = DecompositionUtils::getMaxDoubleValue();
     double tmpValueMin = maxDouble;
@@ -354,17 +356,20 @@ void TriangleMeshFecDataDecomposer::computeMinMaxValues(double* values, int numV
     *valueMax = tmpValueMax;
 }
 
-int TriangleMeshFecDataDecomposer::getIndicesSize(int id)
+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 * numIndices;
+    return 3 * (nVertex - 2) * numIndices;
 }
 
-int TriangleMeshFecDataDecomposer::fillIndices(int id, int* buffer, int bufferLength, int logMask)
+int MeshFecDataDecomposer::fillIndices(int id, int* buffer, int bufferLength, int logMask)
 {
     double* coordinates = NULL;
     double* values = NULL;
@@ -373,6 +378,8 @@ int TriangleMeshFecDataDecomposer::fillIndices(int id, int* buffer, int bufferLe
     int* piNumIndices = &numIndices;
     int numVertices = 0;
     int* piNumVertices = &numVertices;
+    int nVertex = 0;
+    int* piNVertex = &nVertex;
 
     int* triangleIndices = NULL;
 
@@ -383,6 +390,7 @@ int TriangleMeshFecDataDecomposer::fillIndices(int id, int* buffer, int bufferLe
 
     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);
@@ -397,27 +405,28 @@ int TriangleMeshFecDataDecomposer::fillIndices(int id, int* buffer, int bufferLe
 
     for (int i = 0; i < numIndices; i++)
     {
-        v0 = triangleIndices[3 * i];
-        v1 = triangleIndices[3 * i + 1];
-        v2 = triangleIndices[3 * i + 2];
-
-        if (areFaceIndicesValid(numVertices, v0, v1, v2) &&
+       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;
-        }
-
+           {
+               buffer[bufferOffset] = v0;
+               buffer[bufferOffset + 1] = v1;
+               buffer[bufferOffset + 2] = v2;
+               bufferOffset += 3;
+           }
+       }
     }
 
     return bufferOffset;
 }
 
-int TriangleMeshFecDataDecomposer::areFaceVerticesValid(double* coordinates, int v0, int v1, int v2, int logMask)
+int MeshFecDataDecomposer::areFaceVerticesValid(double* coordinates, int v0, int v1, int v2, int logMask)
 {
     double vertex0[3];
     double vertex1[3];
@@ -440,7 +449,26 @@ int TriangleMeshFecDataDecomposer::areFaceVerticesValid(double* coordinates, int
     return 0;
 }
 
-int TriangleMeshFecDataDecomposer::areFaceValuesValid(double* values, int v0, int v1, int v2)
+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]))
     {
@@ -450,7 +478,17 @@ int TriangleMeshFecDataDecomposer::areFaceValuesValid(double* values, int v0, in
     return 0;
 }
 
-int TriangleMeshFecDataDecomposer::areFaceIndicesValid(int numVertices, int v0, int v1, int v2)
+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)
     {
@@ -460,27 +498,41 @@ int TriangleMeshFecDataDecomposer::areFaceIndicesValid(int numVertices, int v0,
     return 1;
 }
 
-void TriangleMeshFecDataDecomposer::getVertexCoordinates(double* coordinates, int index, double* vertexCoordinates)
+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 TriangleMeshFecDataDecomposer::getWireIndicesSize(int id)
+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 6 * numTriangles;
+    return 2 * nVertex * numTriangles;
 }
 
 /*
  * To do: output shared edges once instead of twice (once per adjacent face).
  */
-int TriangleMeshFecDataDecomposer::fillWireIndices(int id, int* buffer, int bufferLength, int logMask)
+int MeshFecDataDecomposer::fillWireIndices(int id, int* buffer, int bufferLength, int logMask)
 {
     double* coordinates = NULL;
     double* values = NULL;
@@ -490,6 +542,8 @@ int TriangleMeshFecDataDecomposer::fillWireIndices(int id, int* buffer, int buff
     int numIndices = 0;
     int* piNumIndices = &numIndices;
     int* triangleIndices = NULL;
+    int nVertex = 0;
+    int* piNVertex = &nVertex;
 
     int v0 = 0;
     int v1 = 0;
@@ -501,6 +555,7 @@ int TriangleMeshFecDataDecomposer::fillWireIndices(int id, int* buffer, int buff
     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)
@@ -512,24 +567,30 @@ int TriangleMeshFecDataDecomposer::fillWireIndices(int id, int* buffer, int buff
 
     for (int i = 0; i < numIndices; i++)
     {
-        v0 = triangleIndices[3 * i];
-        v1 = triangleIndices[3 * i + 1];
-        v2 = triangleIndices[3 * i + 2];
-
-        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] = v1;
-            buffer[bufferOffset + 3] = v2;
-            buffer[bufferOffset + 4] = v2;
-            buffer[bufferOffset + 5] = v0;
-
-            bufferOffset += 6;
-        }
-
+       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/scilab/modules/graphic_objects/src/cpp/TriangleMeshFecData.cpp b/scilab/modules/graphic_objects/src/cpp/TriangleMeshFecData.cpp
deleted file mode 100644 (file)
index 55b8ca5..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- *  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 "TriangleMeshFecData.hxx"
-#include "TriangleMeshData.hxx"
-#include "DataProperties.hxx"
-
-extern "C" {
-#include <string.h>
-#include "BOOL.h"
-
-#include "graphicObjectProperties.h"
-}
-
-TriangleMeshFecData::TriangleMeshFecData(void)
-{
-    vertices = NULL;
-    indices = NULL;
-    values = NULL;
-    fecValues = NULL;
-
-    numberVertices = 0;
-    numberTriangles = 0;
-}
-
-/* To be correctly implemented */
-TriangleMeshFecData::TriangleMeshFecData(unsigned int numberVertices, unsigned int numberTriangles)
-{
-    vertices = new double[3 * numberVertices];
-
-    indices = new unsigned int[3 * numberTriangles];
-
-    fecValues = new double[5 * numberTriangles];
-
-    this->numberVertices = numberVertices;
-    this->numberTriangles = numberTriangles;
-}
-
-/* To be correctly implemented */
-TriangleMeshFecData::~TriangleMeshFecData(void)
-{
-    if (numberVertices > 0)
-    {
-        delete [] vertices;
-        delete [] values;
-    }
-
-    if (numberTriangles > 0)
-    {
-        delete [] indices;
-        delete [] fecValues;
-    }
-
-    numberVertices = 0;
-    numberTriangles = 0;
-}
-
-int TriangleMeshFecData::getPropertyFromName(int propertyName)
-{
-    switch (propertyName)
-    {
-        case __GO_DATA_MODEL_NUM_INDICES__ :
-            return NUM_INDICES;
-        case __GO_DATA_MODEL_FEC_TRIANGLES__ :
-            return FEC_TRIANGLES;
-        default :
-            return TriangleMeshData::getPropertyFromName(propertyName);
-    }
-}
-
-
-int TriangleMeshFecData::setDataProperty(int property, void const* value, int numElements)
-{
-    if (property == NUM_INDICES)
-    {
-        return setNumIndices(*((unsigned int const*) value));
-    }
-    else if (property == FEC_TRIANGLES)
-    {
-        setFecTriangles((double const*) value, numElements);
-    }
-    else
-    {
-        return TriangleMeshData::setDataProperty(property, value, numElements);
-    }
-
-    return 1;
-}
-
-void TriangleMeshFecData::getDataProperty(int property, void **_pvData)
-{
-    if (property == NUM_INDICES)
-    {
-        ((int *) *_pvData)[0] = getNumIndices();
-    }
-    else if (property == FEC_TRIANGLES)
-    {
-        *_pvData = getFecTriangles();
-    }
-    else
-    {
-        TriangleMeshData::getDataProperty(property, _pvData);
-    }
-
-}
-
-unsigned int TriangleMeshFecData::getNumIndices(void)
-{
-    return numberTriangles;
-}
-
-int TriangleMeshFecData::setNumIndices(unsigned int numIndices)
-{
-    int result = 1;
-
-    if (numIndices != this->numberTriangles)
-    {
-        unsigned int* newIndices = NULL;
-        double* newFecValues = NULL;
-
-        try
-        {
-            newIndices = new unsigned int[3 * numIndices];
-        }
-        catch (const std::exception& e)
-        {
-            e.what();
-            result = 0;
-        }
-
-        try
-        {
-            newFecValues = new double[5 * numIndices];
-        }
-        catch (const std::exception& e)
-        {
-            e.what();
-            result = 0;
-        }
-
-
-        if (result)
-        {
-            if (this->numberTriangles > 0)
-            {
-                delete [] indices;
-                delete [] fecValues;
-            }
-
-            indices = newIndices;
-            fecValues = newFecValues;
-
-            this->numberTriangles =  numIndices;
-        }
-        else
-        {
-            /* Failed allocation, nothing is set */
-            if (newIndices != NULL)
-            {
-                delete [] newIndices;
-            }
-
-            if (newFecValues != NULL)
-            {
-                delete [] newFecValues;
-            }
-        }
-
-    }
-
-    return result;
-}
-
-void TriangleMeshFecData::setFecTriangles(double const* data, int numElements)
-{
-    if ((unsigned int)numElements > numberTriangles)
-    {
-        return;
-    }
-
-    for (int i = 0; i < numElements; i++)
-    {
-        indices[3 * i] =  scilabIndexToIndex((unsigned int) data[numElements + i]);
-        indices[3 * i + 1] = scilabIndexToIndex((unsigned int) data[2 * numElements + i]);
-        indices[3 * i + 2] = scilabIndexToIndex((unsigned int) data[3 * numElements + i]);
-
-        /* Triangle number */
-        fecValues[i] = data[i];
-
-        /* Triangle vertices */
-        fecValues[numElements + i] = data[numElements + i];
-        fecValues[2 * numElements + i] = data[2 * numElements + i];
-        fecValues[3 * numElements + i] = data[3 * numElements + i];
-
-        /* Flag */
-        fecValues[4 * numElements + i] = data[4 * numElements + i];
-    }
-}
-
-double* TriangleMeshFecData::getFecTriangles(void)
-{
-    return fecValues;
-}
-
index bde5493..55317ad 100644 (file)
@@ -94,7 +94,7 @@ int DataModel::createDataObject(int iUID, int _iType)
             newObject = new NgonPolylineData();
             break;
         case __GO_FEC__ :
-            newObject = new TriangleMeshFecData();
+            newObject = new MeshFecData();
             break;
         default :
             return 0;
index 30d1fe5..da730e6 100644 (file)
@@ -70,7 +70,8 @@ void getGraphicObjectProperty(int iUID, int _iName, _ReturnType_ _returnType, vo
         case __GO_DATA_MODEL_NUM_INDICES__ :
         case __GO_DATA_MODEL_INDICES__ :
         case __GO_DATA_MODEL_VALUES__ :
-        case __GO_DATA_MODEL_FEC_TRIANGLES__ :
+        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__ :
@@ -213,7 +214,8 @@ void releaseGraphicObjectProperty(int _iName, void * _pvData, enum _ReturnType_
             || _iName == __GO_DATA_MODEL_NUM_INDICES__
             || _iName == __GO_DATA_MODEL_INDICES__
             || _iName == __GO_DATA_MODEL_VALUES__
-            || _iName == __GO_DATA_MODEL_FEC_TRIANGLES__
+            || _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__
index c3965a3..ea6fdbd 100644 (file)
@@ -90,7 +90,8 @@ BOOL setGraphicObjectPropertyAndWarn(int _iID, int _iName, void const* _pvValue,
         case __GO_DATA_MODEL_NUM_INDICES__ :
         case __GO_DATA_MODEL_INDICES__ :
         case __GO_DATA_MODEL_VALUES__ :
-        case __GO_DATA_MODEL_FEC_TRIANGLES__ :
+        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__ :
index deae68c..fa03ad5 100644 (file)
@@ -25,8 +25,8 @@ public class ObjectData {
         return ObjectDataJNI.getSegsData(uid);
     }
 
-    public static Object getFecTriangles(int uid) {
-        return ObjectDataJNI.getFecTriangles(uid);
+    public static Object getFecElements(int uid) {
+        return ObjectDataJNI.getFecElements(uid);
     }
 
     public static Object getFecData(int uid) {
@@ -41,4 +41,8 @@ public class ObjectData {
         return ObjectDataJNI.getArcData(uid);
     }
 
+    public static int getFecNumVerticesByElement(int uid) {
+        return ObjectDataJNI.getFecNumVerticesByElement(uid);
+    }
+
 }
index 740f7ba..e4c7e51 100644 (file)
@@ -23,8 +23,9 @@ public class ObjectDataJNI {
     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 getFecTriangles(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);
 }
index 8882668..f5b4305 100755 (executable)
@@ -80,339 +80,340 @@ public class GraphicObjectProperties {
     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_FEC_TRIANGLES__ = 59;
-    public static final int __GO_DATA_MODEL_NUM_X__ = 60;
-    public static final int __GO_DATA_MODEL_NUM_Y__ = 61;
-    public static final int __GO_DATA_MODEL_NUM_Z__ = 62;
-    public static final int __GO_DATA_MODEL_GRID_SIZE__ = 63;
-    public static final int __GO_DATA_MODEL_X_DIMENSIONS__ = 64;
-    public static final int __GO_DATA_MODEL_Y_DIMENSIONS__ = 65;
-    public static final int __GO_MATPLOT_TRANSLATE__ = 66;
-    public static final int __GO_MATPLOT_SCALE__ = 67;
-    public static final int __GO_DATA_MODEL_MATPLOT_BOUNDS__ = 68;
-    public static final int __GO_DATA_MODEL_MATPLOT_TYPE__ = 69;
-    public static final int __GO_DATA_MODEL_MATPLOT_GL_TYPE__ = 70;
-    public static final int __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ = 71;
-    public static final int __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ = 72;
-    public static final int __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ = 73;
-    public static final int __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ = 74;
-    public static final int __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ = 75;
-    public static final int __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__ = 76;
-    public static final int __GO_REFERENCED__ = 77;
-    public static final int __GO_VALID__ = 78;
-    public static final int __GO_POSITION__ = 79;
-    public static final int __GO_SIZE__ = 80;
-    public static final int __GO_CANVAS__ = 81;
-    public static final int __GO_AUTORESIZE__ = 82;
-    public static final int __GO_VIEWPORT__ = 83;
-    public static final int __GO_AXES_SIZE__ = 84;
-    public static final int __GO_FIGURE_NAME__ = 85;
-    public static final int __GO_NAME__ = 86;
-    public static final int __GO_ID__ = 87;
-    public static final int __GO_INFO_MESSAGE__ = 88;
-    public static final int __GO_COLORMAP__ = 89;
-    public static final int __GO_COLORMAP_SIZE__ = 90;
-    public static final int __GO_RENDERING_MODE__ = 91;
-    public static final int __GO_PIXEL_DRAWING_MODE__ = 92;
-    public static final int __GO_ANTIALIASING__ = 93;
-    public static final int __GO_IMMEDIATE_DRAWING__ = 94;
-    public static final int __GO_BACKGROUND__ = 95;
-    public static final int __GO_EVENTHANDLER__ = 96;
-    public static final int __GO_EVENTHANDLER_NAME__ = 97;
-    public static final int __GO_EVENTHANDLER_ENABLE__ = 98;
-    public static final int __GO_TAG__ = 99;
-    public static final int __GO_ROTATION_TYPE__ = 100;
-    public static final int __GO_RESIZEFCN__ = 101;
-    public static final int __GO_CLOSEREQUESTFCN__ = 102;
-    public static final int __GO_DEFAULT_AXES__ = 103;
-    public static final int __GO_UPPER_LEFT_POINT__ = 104;
-    public static final int __GO_WIDTH__ = 105;
-    public static final int __GO_HEIGHT__ = 106;
-    public static final int __GO_START_ANGLE__ = 107;
-    public static final int __GO_END_ANGLE__ = 108;
-    public static final int __GO_ARC_DRAWING_METHOD__ = 109;
-    public static final int __GO_X_AXIS_VISIBLE__ = 110;
-    public static final int __GO_X_AXIS_REVERSE__ = 111;
-    public static final int __GO_X_AXIS_GRID_COLOR__ = 112;
-    public static final int __GO_X_AXIS_GRID_THICKNESS__ = 113;
-    public static final int __GO_X_AXIS_GRID_STYLE__ = 114;
-    public static final int __GO_X_AXIS_LABEL__ = 115;
-    public static final int __GO_X_AXIS_LOCATION__ = 116;
-    public static final int __GO_X_AXIS_LOG_FLAG__ = 117;
-    public static final int __GO_X_AXIS_TICKS__ = 118;
-    public static final int __GO_X_AXIS_FORMAT__ = 119;
-    public static final int __GO_X_AXIS_ST_FACTORS__ = 120;
-    public static final int __GO_X_AXIS_AUTO_TICKS__ = 121;
-    public static final int __GO_X_AXIS_NUMBER_TICKS__ = 122;
-    public static final int __GO_X_AXIS_TICKS_LOCATIONS__ = 123;
-    public static final int __GO_X_AXIS_TICKS_LABELS__ = 124;
-    public static final int __GO_X_AXIS_SUBTICKS__ = 125;
-    public static final int __GO_Y_AXIS_VISIBLE__ = 126;
-    public static final int __GO_Y_AXIS_REVERSE__ = 127;
-    public static final int __GO_Y_AXIS_GRID_COLOR__ = 128;
-    public static final int __GO_Y_AXIS_GRID_THICKNESS__ = 129;
-    public static final int __GO_Y_AXIS_GRID_STYLE__ = 130;
-    public static final int __GO_Y_AXIS_LABEL__ = 131;
-    public static final int __GO_Y_AXIS_LOCATION__ = 132;
-    public static final int __GO_Y_AXIS_LOG_FLAG__ = 133;
-    public static final int __GO_Y_AXIS_TICKS__ = 134;
-    public static final int __GO_Y_AXIS_FORMAT__ = 135;
-    public static final int __GO_Y_AXIS_ST_FACTORS__ = 136;
-    public static final int __GO_Y_AXIS_AUTO_TICKS__ = 137;
-    public static final int __GO_Y_AXIS_NUMBER_TICKS__ = 138;
-    public static final int __GO_Y_AXIS_TICKS_LOCATIONS__ = 139;
-    public static final int __GO_Y_AXIS_TICKS_LABELS__ = 140;
-    public static final int __GO_Y_AXIS_SUBTICKS__ = 141;
-    public static final int __GO_Z_AXIS_VISIBLE__ = 142;
-    public static final int __GO_Z_AXIS_REVERSE__ = 143;
-    public static final int __GO_Z_AXIS_GRID_COLOR__ = 144;
-    public static final int __GO_Z_AXIS_GRID_THICKNESS__ = 145;
-    public static final int __GO_Z_AXIS_GRID_STYLE__ = 146;
-    public static final int __GO_Z_AXIS_LABEL__ = 147;
-    public static final int __GO_Z_AXIS_LOCATION__ = 148;
-    public static final int __GO_Z_AXIS_LOG_FLAG__ = 149;
-    public static final int __GO_Z_AXIS_TICKS__ = 150;
-    public static final int __GO_Z_AXIS_FORMAT__ = 151;
-    public static final int __GO_Z_AXIS_ST_FACTORS__ = 152;
-    public static final int __GO_Z_AXIS_AUTO_TICKS__ = 153;
-    public static final int __GO_Z_AXIS_NUMBER_TICKS__ = 154;
-    public static final int __GO_Z_AXIS_TICKS_LOCATIONS__ = 155;
-    public static final int __GO_Z_AXIS_TICKS_LABELS__ = 156;
-    public static final int __GO_Z_AXIS_SUBTICKS__ = 157;
-    public static final int __GO_AUTO_SUBTICKS__ = 158;
-    public static final int __GO_GRID_POSITION__ = 159;
-    public static final int __GO_TITLE__ = 160;
-    public static final int __GO_AUTO_CLEAR__ = 161;
-    public static final int __GO_FILLED__ = 162;
-    public static final int __GO_CAMERA__ = 163;
-    public static final int __GO_VIEW__ = 164;
-    public static final int __GO_ISOVIEW__ = 165;
-    public static final int __GO_CUBE_SCALING__ = 166;
-    public static final int __GO_ROTATION_ANGLES__ = 167;
-    public static final int __GO_ROTATION_ANGLES_3D__ = 168;
-    public static final int __GO_BOX_TYPE__ = 169;
-    public static final int __GO_HIDDEN_AXIS_COLOR__ = 170;
-    public static final int __GO_X_TIGHT_LIMITS__ = 171;
-    public static final int __GO_Y_TIGHT_LIMITS__ = 172;
-    public static final int __GO_Z_TIGHT_LIMITS__ = 173;
-    public static final int __GO_DATA_BOUNDS__ = 174;
-    public static final int __GO_REAL_DATA_BOUNDS__ = 175;
-    public static final int __GO_ZOOM_ENABLED__ = 176;
-    public static final int __GO_ZOOM_BOX__ = 177;
-    public static final int __GO_AUTO_SCALE__ = 178;
-    public static final int __GO_FIRST_PLOT__ = 179;
-    public static final int __GO_MARGINS__ = 180;
-    public static final int __GO_AUTO_MARGINS__ = 181;
-    public static final int __GO_AXES_BOUNDS__ = 182;
-    public static final int __GO_CLIP_PROPERTY__ = 183;
-    public static final int __GO_CLIP_STATE__ = 184;
-    public static final int __GO_CLIP_BOX__ = 185;
-    public static final int __GO_CLIP_BOX_SET__ = 186;
-    public static final int __GO_LINE__ = 187;
-    public static final int __GO_LINE_MODE__ = 188;
-    public static final int __GO_LINE_STYLE__ = 189;
-    public static final int __GO_LINE_THICKNESS__ = 190;
-    public static final int __GO_LINE_COLOR__ = 191;
-    public static final int __GO_FILL_MODE__ = 192;
-    public static final int __GO_MARK__ = 193;
-    public static final int __GO_MARK_MODE__ = 194;
-    public static final int __GO_MARK_STYLE__ = 195;
-    public static final int __GO_MARK_SIZE_UNIT__ = 196;
-    public static final int __GO_MARK_SIZE__ = 197;
-    public static final int __GO_MARK_FOREGROUND__ = 198;
-    public static final int __GO_MARK_BACKGROUND__ = 199;
-    public static final int __GO_MARK_OFFSET__ = 200;
-    public static final int __GO_MARK_STRIDE__ = 201;
-    public static final int __GO_SELECTED__ = 202;
-    public static final int __GO_TICKS_DIRECTION__ = 203;
-    public static final int __GO_X_NUMBER_TICKS__ = 204;
-    public static final int __GO_Y_NUMBER_TICKS__ = 205;
-    public static final int __GO_X_TICKS_COORDS__ = 206;
-    public static final int __GO_Y_TICKS_COORDS__ = 207;
-    public static final int __GO_TICKS_COLOR__ = 208;
-    public static final int __GO_TICKS_SEGMENT__ = 209;
-    public static final int __GO_TICKS_STYLE__ = 210;
-    public static final int __GO_SUBTICKS__ = 211;
-    public static final int __GO_NUMBER_TICKS_LABELS__ = 212;
-    public static final int __GO_TICKS_LABELS__ = 213;
-    public static final int __GO_FORMATN__ = 214;
-    public static final int __GO_FONT__ = 215;
-    public static final int __GO_FONT_STYLE__ = 216;
-    public static final int __GO_FONT_SIZE__ = 217;
-    public static final int __GO_FONT_COLOR__ = 218;
-    public static final int __GO_FONT_FRACTIONAL__ = 219;
-    public static final int __GO_Z_BOUNDS__ = 220;
-    public static final int __GO_OUTSIDE_COLOR__ = 221;
-    public static final int __GO_COLOR_RANGE__ = 222;
-    public static final int __GO_DATA_MAPPING__ = 223;
-    public static final int __GO_FONT_ANGLE__ = 224;
-    public static final int __GO_AUTO_POSITION__ = 225;
-    public static final int __GO_CORNERS__ = 226;
-    public static final int __GO_AUTO_ROTATION__ = 227;
-    public static final int __GO_LINKS__ = 228;
-    public static final int __GO_LINKS_COUNT__ = 229;
-    public static final int __GO_LEGEND_LOCATION__ = 230;
-    public static final int __GO_MARKS_COUNT__ = 231;
-    public static final int __GO_LINE_WIDTH__ = 232;
-    public static final int __GO_CLOSED__ = 233;
-    public static final int __GO_ARROW_SIZE_FACTOR__ = 234;
-    public static final int __GO_POLYLINE_STYLE__ = 235;
-    public static final int __GO_INTERP_COLOR_VECTOR__ = 236;
-    public static final int __GO_INTERP_COLOR_VECTOR_SET__ = 237;
-    public static final int __GO_INTERP_COLOR_MODE__ = 238;
-    public static final int __GO_X_SHIFT__ = 239;
-    public static final int __GO_Y_SHIFT__ = 240;
-    public static final int __GO_Z_SHIFT__ = 241;
-    public static final int __GO_BAR_WIDTH__ = 242;
-    public static final int __GO_SURFACE_MODE__ = 243;
-    public static final int __GO_COLOR_MODE__ = 244;
-    public static final int __GO_COLOR_FLAG__ = 245;
-    public static final int __GO_ALIGNMENT__ = 246;
-    public static final int __GO_BOX__ = 247;
-    public static final int __GO_TEXT_BOX__ = 248;
-    public static final int __GO_TEXT_BOX_MODE__ = 249;
-    public static final int __GO_AUTO_DIMENSIONING__ = 250;
-    public static final int __GO_FORMATTED_TEXT__ = 251;
-    public static final int __GO_TEXT_ARRAY_DIMENSIONS__ = 252;
-    public static final int __GO_TEXT_STRINGS__ = 253;
-    public static final int __GO_BASE__ = 254;
-    public static final int __GO_BASE_X__ = 255;
-    public static final int __GO_BASE_Y__ = 256;
-    public static final int __GO_BASE_Z__ = 257;
-    public static final int __GO_DIRECTION__ = 258;
-    public static final int __GO_DIRECTION_X__ = 259;
-    public static final int __GO_DIRECTION_Y__ = 260;
-    public static final int __GO_DIRECTION_Z__ = 261;
-    public static final int __GO_ARROW_SIZE__ = 262;
-    public static final int __GO_SEGS_COLORS__ = 263;
-    public static final int __GO_COLORED__ = 264;
-    public static final int __GO_ARROWS__ = 265;
-    public static final int __GO_NUMBER_ARROWS__ = 266;
-    public static final int __GO_CHAMP_DIMENSIONS__ = 267;
-    public static final int __GO_BOUNDING_BOX__ = 268;
-    public static final int __GO_MAX_LENGTH__ = 269;
-    public static final int __GO_MAX_USABLE_LENGTH__ = 270;
-    public static final int __GO_HIDDEN_COLOR__ = 271;
-    public static final int __GO_STYLE__ = 272;
-    public static final int __GO_UI_CHECKBOX__ = 273;
-    public static final int __GO_UI_EDIT__ = 274;
-    public static final int __GO_UI_SPINNER__ = 275;
-    public static final int __GO_UI_FRAME__ = 276;
-    public static final int __GO_UI_FRAME_SCROLLABLE__ = 277;
-    public static final int __GO_UI_IMAGE__ = 278;
-    public static final int __GO_UI_LISTBOX__ = 279;
-    public static final int __GO_UI_POPUPMENU__ = 280;
-    public static final int __GO_UI_PUSHBUTTON__ = 281;
-    public static final int __GO_UI_RADIOBUTTON__ = 282;
-    public static final int __GO_UI_SLIDER__ = 283;
-    public static final int __GO_UI_TABLE__ = 284;
-    public static final int __GO_UI_TEXT__ = 285;
-    public static final int __GO_UI_LAYER__ = 286;
-    public static final int __GO_UI_BACKGROUNDCOLOR__ = 287;
-    public static final int __GO_UI_ENABLE__ = 288;
-    public static final int __GO_UI_FONTANGLE__ = 289;
-    public static final int __GO_UI_FONTNAME__ = 290;
-    public static final int __GO_UI_FONTSIZE__ = 291;
-    public static final int __GO_UI_FONTUNITS__ = 292;
-    public static final int __GO_UI_FONTWEIGHT__ = 293;
-    public static final int __GO_UI_FOREGROUNDCOLOR__ = 294;
-    public static final int __GO_UI_HORIZONTALALIGNMENT__ = 295;
-    public static final int __GO_UI_LISTBOXTOP__ = 296;
-    public static final int __GO_UI_LISTBOXTOP_SIZE__ = 297;
-    public static final int __GO_UI_MAX__ = 298;
-    public static final int __GO_UI_MIN__ = 299;
-    public static final int __GO_UI_RELIEF__ = 300;
-    public static final int __GO_UI_STRING__ = 301;
-    public static final int __GO_UI_TAB_STRING__ = 302;
-    public static final int __GO_UI_STRING_SIZE__ = 303;
-    public static final int __GO_UI_STRING_COLNB__ = 304;
-    public static final int __GO_UI_TOOLTIPSTRING__ = 305;
-    public static final int __GO_UI_TOOLTIPSTRING_SIZE__ = 306;
-    public static final int __GO_UI_SLIDERSTEP__ = 307;
-    public static final int __GO_UI_UNITS__ = 308;
-    public static final int __GO_UI_VALUE__ = 309;
-    public static final int __GO_UI_TAB_VALUE__ = 310;
-    public static final int __GO_UI_VALUE_SIZE__ = 311;
-    public static final int __GO_UI_VERTICALALIGNMENT__ = 312;
-    public static final int __GO_UIPARENTMENU__ = 313;
-    public static final int __GO_UICHILDMENU__ = 314;
-    public static final int __GO_UICHECKEDMENU__ = 315;
-    public static final int __GO_UI_CHECKED__ = 316;
-    public static final int __GO_UI_LABEL__ = 317;
-    public static final int __GO_UI_MNEMONIC__ = 318;
-    public static final int __GO_UI_ACCELERATOR__ = 319;
-    public static final int __GO_UI_SEPARATOR__ = 320;
-    public static final int __GO_UI_ICON__ = 321;
-    public static final int __GO_CONSOLE__ = 322;
-    public static final int __GO_SHOWHIDDENHANDLES__ = 323;
-    public static final int __GO_SHOWHIDDENPROPERTIES__ = 324;
-    public static final int __GO_USEDEPRECATEDLF__ = 325;
-    public static final int __GO_WAITBAR__ = 326;
-    public static final int __GO_PROGRESSIONBAR__ = 327;
-    public static final int __GO_UI_MESSAGE__ = 328;
-    public static final int __GO_UI_MESSAGE_SIZE__ = 329;
-    public static final int __GO_DATATIP__ = 330;
-    public static final int __GO_DATATIP_DATA__ = 331;
-    public static final int __GO_DATATIP_ORIENTATION__ = 332;
-    public static final int __GO_DATATIP_3COMPONENT__ = 333;
-    public static final int __GO_DATATIP_AUTOORIENTATION__ = 334;
-    public static final int __GO_DATATIP_INTERP_MODE__ = 335;
-    public static final int __GO_DATATIP_DISPLAY_FNC__ = 336;
-    public static final int __GO_DATATIP_BOX_MODE__ = 337;
-    public static final int __GO_DATATIP_LABEL_MODE__ = 338;
-    public static final int __GO_DATATIP_MARK__ = 339;
-    public static final int __GO_AMBIENTCOLOR__ = 340;
-    public static final int __GO_DIFFUSECOLOR__ = 341;
-    public static final int __GO_SPECULARCOLOR__ = 342;
-    public static final int __GO_COLOR_MATERIAL__ = 343;
-    public static final int __GO_MATERIAL_SHININESS__ = 344;
-    public static final int __GO_LIGHT__ = 345;
-    public static final int __GO_LIGHT_TYPE__ = 346;
-    public static final int __GO_DATATIPS__ = 347;
-    public static final int __GO_DATATIPS_COUNT__ = 348;
-    public static final int __GO_DATATIP_INDEXES__ = 349;
-    public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION__ = 350;
-    public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ = 351;
-    public static final int __GO_RESIZE__ = 352;
-    public static final int __GO_TOOLBAR__ = 353;
-    public static final int __GO_TOOLBAR_VISIBLE__ = 354;
-    public static final int __GO_MENUBAR__ = 355;
-    public static final int __GO_MENUBAR_VISIBLE__ = 356;
-    public static final int __GO_INFOBAR_VISIBLE__ = 357;
-    public static final int __GO_DOCKABLE__ = 358;
-    public static final int __GO_LAYOUT__ = 359;
-    public static final int __GO_LAYOUT_SET__ = 360;
-    public static final int __GO_UI_TAB__ = 361;
-    public static final int __GO_UI_GRIDBAG_GRID__ = 362;
-    public static final int __GO_UI_GRIDBAG_WEIGHT__ = 363;
-    public static final int __GO_UI_GRIDBAG_FILL__ = 364;
-    public static final int __GO_UI_GRIDBAG_ANCHOR__ = 365;
-    public static final int __GO_UI_GRIDBAG_PADDING__ = 366;
-    public static final int __GO_UI_GRIDBAG_PREFERREDSIZE__ = 367;
-    public static final int __GO_UI_GRID_GRID__ = 368;
-    public static final int __GO_UI_GRID_PADDING__ = 369;
-    public static final int __GO_UI_BORDER_POSITION__ = 370;
-    public static final int __GO_UI_BORDER_PREFERREDSIZE__ = 371;
-    public static final int __GO_GRID_OPT_GRID__ = 372;
-    public static final int __GO_GRID_OPT_PADDING__ = 373;
-    public static final int __GO_BORDER_OPT_PADDING__ = 374;
-    public static final int __GO_UI_FRAME_BORDER__ = 375;
-    public static final int __GO_UI_FRAME_BORDER_COLOR__ = 376;
-    public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ = 377;
-    public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ = 378;
-    public static final int __GO_UI_FRAME_BORDER_IN_BORDER__ = 379;
-    public static final int __GO_UI_FRAME_BORDER_JUSTIFICATION__ = 380;
-    public static final int __GO_UI_FRAME_BORDER_OUT_BORDER__ = 381;
-    public static final int __GO_UI_FRAME_BORDER_ROUNDED__ = 382;
-    public static final int __GO_UI_FRAME_BORDER_SHADOW_IN__ = 383;
-    public static final int __GO_UI_FRAME_BORDER_SHADOW_OUT__ = 384;
-    public static final int __GO_UI_FRAME_BORDER_TITLE__ = 385;
-    public static final int __GO_UI_FRAME_BORDER_POSITION__ = 386;
-    public static final int __GO_UI_FRAME_BORDER_STYLE__ = 387;
-    public static final int __GO_UI_GROUP_NAME__ = 388;
-    public static final int __GO_UI_TITLE_POSITION__ = 389;
-    public static final int __GO_UI_TITLE_SCROLL__ = 390;
-    public static final int __GO_UI_FRAME_BORDER_TYPE__ = 391;
-    public static final int __GO_UI_SCROLLABLE__ = 392;
+    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;
 
 }
index cdaa87e..878eb00 100644 (file)
@@ -11,6 +11,8 @@
  *
  */
 
+// swig -java -package org.scilab.modules.graphic_objects -outdir ../java/org/scilab/modules/graphic_objects/ ObjectData.i
+
 %module ObjectData
  
 
@@ -164,26 +166,41 @@ int _getSegsSize(int uid) {
 %}
 
 %typemap(out) double * FEC {
-       $result = (*jenv)->NewDoubleArray(jenv, _getFecTrianglesSize(arg1));
-       (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, _getFecTrianglesSize(arg1), $1);
+       $result = (*jenv)->NewDoubleArray(jenv, _getFecElementsSize(arg1));
+       (*jenv)->SetDoubleArrayRegion(jenv, $result, 0, _getFecElementsSize(arg1), $1);
 }
 
-%apply double * FEC { double * getFecTriangles(int uid) }
+%apply double * FEC { double * getFecElements(int uid) }
 %{
 
-double * getFecTriangles(int uid) {
+double * getFecElements(int uid) {
 
-    double * triangles;
-    getGraphicObjectProperty(uid, __GO_DATA_MODEL_FEC_TRIANGLES__, jni_double_vector, (void**)&triangles);
-    return triangles;
+    double * elements;
+    getGraphicObjectProperty(uid, __GO_DATA_MODEL_FEC_ELEMENTS__, jni_double_vector, (void**)&elements);
+    return elements;
 }
 
-int _getFecTrianglesSize(int uid) {
+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);
-    return indices * 5;
+    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;
 }
 
 %}
@@ -262,7 +279,8 @@ double * getChampX(int uid);
 double * getChampY(int uid);
 double * getArrows(int uid);
 double * getSegsData(int uid);
-double * getFecTriangles(int uid);
+double * getFecElements(int uid);
 double * getFecData(int uid);
 double * getArcUpperLeftPoint(int uid);
-double * getArcData(int uid);
\ No newline at end of file
+double * getArcData(int uid);
+int getFecNumVerticesByElement(int uid);
index 32f4635..f466291 100644 (file)
@@ -261,19 +261,34 @@ int _getSegsSize(int uid) {
 
 
 
-double * getFecTriangles(int uid) {
+double * getFecElements(int uid) {
 
-    double * triangles;
-    getGraphicObjectProperty(uid, __GO_DATA_MODEL_FEC_TRIANGLES__, jni_double_vector, (void**)&triangles);
-    return triangles;
+    double * elements;
+    getGraphicObjectProperty(uid, __GO_DATA_MODEL_FEC_ELEMENTS__, jni_double_vector, (void**)&elements);
+    return elements;
 }
 
-int _getFecTrianglesSize(int uid) {
+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);
-    return indices * 5;
+    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;
 }
 
 
@@ -397,7 +412,7 @@ SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_ObjectDataJN
 }
 
 
-SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_ObjectDataJNI_getFecTriangles(JNIEnv *jenv, jclass jcls, jint jarg1) {
+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 ;
@@ -405,10 +420,10 @@ SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_ObjectDataJN
   (void)jenv;
   (void)jcls;
   arg1 = (int)jarg1; 
-  result = (double *)getFecTriangles(arg1);
+  result = (double *)getFecElements(arg1);
   {
-    jresult = (*jenv)->NewDoubleArray(jenv, _getFecTrianglesSize(arg1));
-    (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, _getFecTrianglesSize(arg1), result);
+    jresult = (*jenv)->NewDoubleArray(jenv, _getFecElementsSize(arg1));
+    (*jenv)->SetDoubleArrayRegion(jenv, jresult, 0, _getFecElementsSize(arg1), result);
   }
   return jresult;
 }
@@ -465,6 +480,20 @@ SWIGEXPORT jobject JNICALL Java_org_scilab_modules_graphic_1objects_ObjectDataJN
 }
 
 
+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
index 8713e12..fe4eb7b 100755 (executable)
@@ -65,8 +65,9 @@ __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_TRIANGLES__
+__GO_DATA_MODEL_FEC_ELEMENTS__
 
 __GO_DATA_MODEL_NUM_X__
 __GO_DATA_MODEL_NUM_Y__
index 00a72fa..4cf6558 100644 (file)
@@ -13,7 +13,7 @@
 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"  xml:lang="en" xml:id="fec">
     <refnamediv>
         <refname>fec</refname>
-        <refpurpose>pseudo-color plot of a function defined on a triangular mesh</refpurpose>
+        <refpurpose>pseudo-color plot of a function defined on a mesh</refpurpose>
     </refnamediv>
     <refsynopsisdiv>
         <title>Calling Sequence</title>
                 <term>triangles</term>
                 <listitem>
                     <para>
-                        is a <literal>[Ntr,5]</literal> matrix. Each line of <literal>triangles</literal> specifies a triangle 
-                        of the  mesh <literal>triangle(j) = [number,node1,node2,node3,flag]</literal>. 
-                        <literal>node1,node2,node3</literal> are the number of the nodes which constitutes 
-                        the triangle. number is the number of the triangle and flag is an integer 
-                        not used in the fec function
+                        is a <literal>[Ntr,N+2]</literal> matrix. Each line of <varname>triangles</varname> specifies a convex polygon 
+                        of the  mesh <literal>triangles(j) = [number,node1,node2,node3, ..., nodeN, flag]</literal>. 
+                        <literal>node1,node2,node3, ..., nodeN</literal> are the number of the nodes which constitutes 
+                        the polygon. number is the number of the polygons and flag is an integer 
+                        not used in the fec function.
                     </para>
                 </listitem>
             </varlistentry>
@@ -98,8 +98,8 @@
     </refsection>
     <refsection>
         <title>Description</title>
-        <para>This function is the good one to draw linear triangular finite element solutions 
-            or simply to display a function defined on a triangulation. The color interpolation
+        <para>This function is the good one to draw linear finite element solutions, based on polygons
+            or simply to display a function defined on a polygon mapping. The color interpolation
             is done through software computation and so it is not too fast.
         </para>
         <para>
             section).
         </para>
         <para>    
-            The <literal>zminmax</literal> argument gives the z values associated with the first and the last 
+            The <varname>zminmax</varname> argument gives the z values associated with the first and the last 
             color (of the current colormap). More exactly if the colormap have nc colors and if we note 
-            <emphasis>dz = (zmax-zmin)/nc</emphasis>, then the part of the triangulation where  
+            <emphasis>dz = (zmax-zmin)/nc</emphasis>, then the part of the polygon mapping where  
             <emphasis>zmin + (i-1)dz &lt;= z &lt; zmin + i dz</emphasis> is filled with the color <emphasis>i</emphasis>). 
             By default <emphasis>zmin = min(func)</emphasis> and <emphasis>zmax = max(func)</emphasis>. If you want to do 
             an animation with func values that varie in time, take for zmin and zmax the global 
             minimum and maximum or something close.
         </para>
         <para>
-            The <literal>colout</literal> argument lets the user choosing the colors for the 2 extremes
+            The <varname>colout</varname> argument lets the user choosing the colors for the 2 extremes
             regions <emphasis>{func &lt; zmin}</emphasis> and <emphasis>{func &gt; zmax}</emphasis>, <literal>under_min_col</literal> and 
             <literal>upper_max_col</literal> may be equal (independantly) to:
         </para>
             </varlistentry>
         </variablelist>
         <para>
-            If you do not want to use the complete colormap you may use the <literal>colminmax</literal>
+            If you do not want to use the complete colormap you may use the <varname>colminmax</varname>
             argument with <emphasis>1 &lt;= colmin &lt; colmax &lt;= nc</emphasis> (nc being the number of colors 
             of the current colormap) so as to use only the [colmin,colmax]  sub-part of the colormap.
             (by default all the colors of the colormap are used).
         </para>
         <para>
+            Note that for historical reasons, the third input argument is called <varname>triangles</varname>, but <function>fec</function> accepts all types of convex polygons.
+        </para>
+        <para>
             See the demo files <literal>demos/fec</literal>:
         </para>
         <para>
@@ -339,6 +342,34 @@ show_window()
             xtitle("fec using the jet colormap")
             show_window()
         </scilab:image>
+        <programlisting role="example"><![CDATA[ 
+// define a mapping with one quadrangle (4 vertices, 1 quadrangle)
+x = [1 2 2 1];
+y = [1 1 2 2];
+T = [1 1 2 3 4 0];
+z = [-1; -1; 1; 1];  // values of the func at each vertices
+
+clf()
+f = gcf();
+f.color_map = jetcolormap(12);
+colorbar(-1,1);
+fec(x,y,T,z,mesh=%t)
+xtitle("fec using the hot colormap, composed by one quadrangle")
+ ]]></programlisting>
+        <scilab:image>
+            // define a mapping with one quadrangle (4 vertices, 1 quadrangle)
+            x = [1 2 2 1];
+            y = [1 1 2 2];
+            T = [1 1 2 3 4 0];
+            z = [-1 -1 1 1];  // values of the func at each vertices
+            
+            clf()
+            f = gcf();
+            f.color_map = jetcolormap(12);
+            colorbar(-1,1);
+            fec(x,y,T,z,mesh=%t)
+            xtitle("fec using the hot colormap, composed by one quadrangle")
+        </scilab:image>
     </refsection>
     <refsection role="see also">
         <title>See Also</title>
@@ -354,4 +385,17 @@ show_window()
             </member>
         </simplelist>
     </refsection>
+    <refsection>
+        <title>History</title>
+        <revhistory>
+            <revision>
+                <revnumber>5.5.2</revnumber>
+                <revremark>
+                    <para>
+                        Mapping is not limited on triangles anymore. All types of convex polygons are acceptable.
+                    </para>
+                </revremark>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>
index 61a52c3..d71a6f6 100644 (file)
                 <term>triangles: </term>
                 <listitem>
                     <para>
-                        This is a five column matrix <literal>[tn,n1,n2,n3,flag]</literal>.
-                        <literal>tn(j)</literal> is the triangle number. <literal>n1(j)</literal>,
-                        <literal>n2(j)</literal> and <literal>n3(j)</literal> are the index of the nodes
-                        which constitute the triangle. (<literal>flag(j)</literal> is not
-                        used).
+                        This is a  <literal>[Ntr,N+2]</literal> matrix. Each line of <varname>triangles</varname> specifies a convex polygon 
+                        of the  mesh <literal>triangles(j) = [number,node1,node2,node3, ..., nodeN, flag]</literal>. 
+                        <literal>node1,node2,node3, ..., nodeN</literal> are the number of the nodes which constitutes 
+                        the polygon. number is the number of the polygons and flag is an integer 
+                        not used.
                     </para>
                 </listitem>
             </varlistentry>
diff --git a/scilab/modules/graphics/help/en_US/xsetm.xml b/scilab/modules/graphics/help/en_US/xsetm.xml
deleted file mode 100644 (file)
index 21c0373..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) ENPC - Jean-Philippe Chancelier
- * 
- * 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
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org"  xml:id="xsetm" xml:lang="en">
-    <refnamediv>
-        <refname>xsetm</refname>
-        <refpurpose>
-            dialog to set values of the graphics context. <emphasis role="bold">This function is obsolete.</emphasis>
-        </refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Calling Sequence</title>
-        <synopsis>xsetm()</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Description</title>
-        <para>
-            <warning>
-                This function is obsolete. This function as well as the <link
-                linkend="xset">xset</link> one was strongly linked with the old
-                graphic mode which is no more available.
-            </warning>
-            The current graphic is much more flexible with respect to parameter
-            setting (see the <link linkend="set">set</link> and <link
-            linkend="get">get</link> functions as well as the <link
-            linkend="graphics_entities">graphics entities</link> help page). It
-            is possible to start a more convenient property editor using <link
-            linkend="ged">ged</link>.
-        </para>
-    </refsection>
-    <refsection>
-        <title>History</title>
-        <revhistory>
-            <revision>
-                <revnumber>5.4.1</revnumber>
-                <revdescription>Function tagged obsolete. Will be removed in 5.5.0.
-                    See the <link linkend="set">set</link> and <link
-            linkend="get">get</link> functions as well as the <link
-            linkend="graphics_entities">graphics entities</link> help page). It
-                    is possible to start a more convenient property editor using <link
-            linkend="ged">ged</link>.
-                </revdescription>
-            </revision>
-        </revhistory>
-    </refsection>
-    <refsection role="see also">
-        <title>See Also</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="xset">xset</link>
-            </member>
-            <member>
-                <link linkend="ged">ged</link>
-            </member>
-            <member>
-                <link linkend="set">set</link>
-            </member>
-            <member>
-                <link linkend="graphics_entities">graphics entities</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
index 0b541de..3cb1162 100644 (file)
@@ -3,7 +3,7 @@
     <refnamediv>
         <refname>fec</refname>
         <refpurpose>dessin en pseudo-couleurs d'une surface
-            définie sur une triangulation
+            définie sur un maillage constitué de polygones convexes
         </refpurpose>
     </refnamediv>
     <refsynopsisdiv>
                 <term>triangles</term>
                 <listitem>
                     <para>
-                        une matrice <literal>[Ntr,5]</literal>. Chaque ligne de
-                        <literal>triangles</literal> représente un triangle du maillage
-                        <literal>triangle(j) = [number,node1,node2,node3,flag]</literal>.
-                        <literal>node1,node2,node3</literal> sont les numéros des sommets qui
-                        constituent le triangle j. number est le numéro du triangle et flag
+                        une matrice <literal>[Ntr, N+2]</literal>. Chaque ligne de
+                        <varname>triangles</varname> représente un polygone du maillage
+                        <literal>triangles(j) = [number,node1,node2,node3, ..., nodeN, flag]</literal>.
+                        <literal>node1,node2,node3, ..., nodeN</literal> sont les numéros des sommets qui
+                        constituent le polygone j. number est le numéro du polygone et flag
                         est un entier qui n'est pas utilisé par fec.
                     </para>
                 </listitem>
             <varlistentry>
                 <term>zminmax</term>
                 <listitem>
-                    <para>parfait pour faire des animations avec fec. zminmax est un
+                    <para>
+                        parfait pour faire des animations avec fec. <varname>zminmax</varname> est un
                         vecteur de taille 2 [zmin zmax] qui donne les z associés à  la
                         première et la dernière couleur (de la table des couleurs courante).
                         Plus exactement si la table des couleurs a nc couleurs et si on note
-                        dz = (zmax-zmin)/nc, alors la partie de la triangulation où zmin +
-                        (i-1)dz &lt;= z &lt; zmin + i dz est remplie avec la couleur i). Par
-                        défaut zmin = min(func) et zmax = max(func). Si vous voulez faire
+                        <emphasis>dz = (zmax-zmin)/nc</emphasis>, alors la partie du maillage où <emphasis>zmin +
+                            (i-1)dz &lt;= z &lt; zmin + i dz
+                        </emphasis>
+                        est remplie avec la couleur <emphasis>i</emphasis>). Par
+                        défaut <emphasis>zmin = min(func)</emphasis> et <emphasis>zmax = max(func)</emphasis>. Si vous voulez faire
                         une animation avec des valeurs de func changeant en fonction du
                         temps, prenez zmin et zmax égaux au minimum et maximum globaux.
                         ATTENTION : pour les valeurs de func plus grandes que zmax la
                     </para>
                 </listitem>
             </varlistentry>
+            <varlistentry>
+                <term>colout</term>
+                <listitem>
+                    <para>un vecteur de 2 entiers [under_min_col upper_max_col]</para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>mesh</term>
+                <listitem>
+                    <para>un booléen, valeur par défaut %f (doit être %t pour afficher le maillage)</para>
+                </listitem>
+            </varlistentry>
         </variablelist>
     </refsection>
     <refsection>
         <title>Description</title>
+        <para>Cette fonction est utile pour afficher les solutions des équations obtenues par la méthode des éléments finis, ou
+            simplement pour afficher une fonction basée sur un maillage constitué de polygones.
+        </para>
+        <para>
+            Pour des raisons historiques, le troisième argument d'entrée est nommé <varname>triangles</varname>, mais <function>fec</function> accepte tous les types de polygones convexes.
+        </para>
         <para>Voir les fonctions de démonstration dans le répertoire
             <literal>demos/fec</literal>.
         </para>
@@ -273,6 +294,34 @@ show_window()
             xtitle("fec using the jet colormap")
             show_window()
         </scilab:image>
+        <programlisting role="example"><![CDATA[ 
+// define a mapping with one quadrangle (4 vertices, 1 quadrangle)
+x = [1 2 2 1];
+y = [1 1 2 2];
+T = [1 1 2 3 4 0];
+z = [-1; -1; 1; 1];  // values of the func at each vertices
+
+clf()
+f = gcf();
+f.color_map = jetcolormap(12);
+colorbar(-1,1);
+fec(x,y,T,z,mesh=%t)
+xtitle("fec using the hot colormap, composed by one quadrangle")
+ ]]></programlisting>
+        <scilab:image>
+            // define a mapping with one quadrangle (4 vertices, 1 quadrangle)
+            x = [1 2 2 1];
+            y = [1 1 2 2];
+            T = [1 1 2 3 4 0];
+            z = [-1 -1 1 1];  // values of the func at each vertices
+            
+            clf()
+            f = gcf();
+            f.color_map = jetcolormap(12);
+            colorbar(-1,1);
+            fec(x,y,T,z,mesh=%t)
+            xtitle("fec using the hot colormap, composed by one quadrangle")
+        </scilab:image>
     </refsection>
     <refsection role="see also">
         <title>Voir aussi</title>
@@ -285,4 +334,17 @@ show_window()
             </member>
         </simplelist>
     </refsection>
+    <refsection>
+        <title>History</title>
+        <revhistory>
+            <revision>
+                <revnumber>5.5.2</revnumber>
+                <revremark>
+                    <para>
+                        Le maillage peut désormais être consitué de polygones convexes.
+                    </para>
+                </revremark>
+            </revision>
+        </revhistory>
+    </refsection>
 </refentry>
diff --git a/scilab/modules/graphics/help/fr_FR/xsetm.xml b/scilab/modules/graphics/help/fr_FR/xsetm.xml
deleted file mode 100644 (file)
index 6ba9c53..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="xsetm" xml:lang="fr">
-    <refnamediv>
-        <refname>xsetm</refname>
-        <refpurpose>boîte de dialogue pour changer des valeurs du contexte
-            graphique.<emphasis role="bold"> Fonction
-                obsolete.
-            </emphasis>
-        </refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Séquence d'appel</title>
-        <synopsis>xsetm()</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Description</title>
-        <para>
-            Cette fonction ainsi la fonction <link linkend="xset">xset</link>
-            était fortement liée à l'ancien mode graphique qui n'est plus supporté. Le
-            paramétrage du graphique actuel est beaucoup plus flexible (voir les
-            fonctions <link linkend="set">set</link> et <link linkend="get">get</link>
-            ainsi que la page d'aide <link linkend="graphics_entities">graphics_entities</link>). Il est possible de
-            lancer un éditeur de propriété graphiques mieux adapté à la structure
-            actuelle par l'instruction <link linkend="ged">ged</link>.
-        </para>
-    </refsection>
-    <refsection>
-        <title>Historique</title>
-        <revhistory>
-            <revision>
-                <revnumber>5.4.1</revnumber>
-                <revdescription>Fonction marquée comme obsolète. Sera supprimée en version 5.5.0.
-                    Voir les
-                    fonctions <link linkend="set">set</link> et <link linkend="get">get</link>
-                    ainsi que la page d'aide <link linkend="graphics_entities">graphics_entities</link>). Il est possible de
-                    lancer un éditeur de propriété graphiques mieux adapté à la structure
-                    actuelle par l'instruction <link linkend="ged">ged</link>.
-                </revdescription>
-            </revision>
-        </revhistory>
-    </refsection>
-    <refsection role="see also">
-        <title>Voir aussi</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="xset">xset</link>
-            </member>
-            <member>
-                <link linkend="ged">ged</link>
-            </member>
-            <member>
-                <link linkend="set">set</link>
-            </member>
-            <member>
-                <link linkend="graphics_entities">graphics_entities</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
diff --git a/scilab/modules/graphics/help/ja_JP/xsetm.xml b/scilab/modules/graphics/help/ja_JP/xsetm.xml
deleted file mode 100644 (file)
index 695b49a..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-
- * Copyright (C) ENPC - Jean-Philippe Chancelier
-
- * 
-
- * 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
-
- *
-
- -->
-
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="xsetm" xml:lang="ja">
-    
-    <refnamediv>
-        
-        <refname>xsetm</refname>
-        
-        <refpurpose>
-            
-            グラフィックコンテキストの値を設定するダイアログ. 
-            
-            <emphasis role="bold">この関数は廃止されています.</emphasis>
-            
-        </refpurpose>
-        
-    </refnamediv>
-    
-    <refsynopsisdiv>
-        
-        <title>呼び出し手順</title>
-        
-        <synopsis>xsetm()</synopsis>
-        
-    </refsynopsisdiv>
-    
-    <refsection>
-        
-        <title>説明</title>
-        
-        <para>
-            
-            <warning>
-                
-                この関数は廃止されました.
-                
-                この関数は,<link linkend="xset">xset</link>と同様に,
-                
-                古いグラフィックモードに強くリンクされており,
-                
-                もう利用できません.
-                
-            </warning>
-            
-            現在のグラフィックは,パラメータ設定に関してより柔軟です
-            
-            (<link linkend="set">set</link> および
-            
-            <link linkend="get">get</link> 関数および
-            
-            <link linkend="graphics_entities">graphics_entities</link>
-            
-            のヘルプページ参照).
-            
-            <link linkend="ged">ged</link>によりより便利なプロパティエディタ
-            
-            を起動できます.
-            
-        </para>
-        
-    </refsection>
-    
-    <refsection>
-        
-        <title>履歴</title>
-        
-        <revhistory>
-            
-            <revision>
-                
-                <revnumber>5.4.1</revnumber>
-                
-                <revdescription>
-                    
-                    この関数は廃止対象であり,5.5.0で削除されます.
-                    
-                    <link linkend="set">set</link> および <link
-
-            linkend="get">get</link> 関数と
-                    
-                    <link
-
-              linkend="graphics_entities">graphicsエンティティ</link> ヘルプページを
-                    
-                    
-                    
-                    参照). 
-                    
-                    <link linkend="ged">ged</link>により便利なプロパティエディタを
-                    
-                    起動できます.
-                    
-                </revdescription>
-                
-            </revision>
-            
-        </revhistory>
-        
-    </refsection>
-    
-    <refsection role="see also">
-        
-        <title>参照</title>
-        
-        <simplelist type="inline">
-            
-            <member>
-                
-                <link linkend="xset">xset</link>
-                
-            </member>
-            
-            <member>
-                
-                <link linkend="ged">ged</link>
-                
-            </member>
-            
-            <member>
-                
-                <link linkend="set">set</link>
-                
-            </member>
-            
-            <member>
-                
-                <link linkend="graphics_entities">graphics_entities</link>
-                
-            </member>
-            
-        </simplelist>
-        
-    </refsection>
-    
-</refentry>
-
-
-
diff --git a/scilab/modules/graphics/help/pt_BR/xsetm.xml b/scilab/modules/graphics/help/pt_BR/xsetm.xml
deleted file mode 100644 (file)
index 1c88fe0..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) ENPC - Jean-Philippe Chancelier
- * 
- * 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
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns3="http://www.w3.org/1999/xhtml" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:id="xsetm" xml:lang="en">
-    <refnamediv>
-        <refname>xsetm</refname>
-        <refpurpose>Abre uma caixa de diálogo para ajustar valores do contexto
-            gráfico. <emphasis role="bold">Função obsoleta.</emphasis>
-        </refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Seqüência de Chamamento</title>
-        <synopsis>xsetm()</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Descrição</title>
-        <para>
-            Esta função, bem como a função <link linkend="xset">xset</link>
-            estão fortemente ligadas ao modo gráfico antigo, que não está mais
-            disponível. O novo modo gráfico é muito mais flexível quanto ao ajuste de
-            parâmetros (ver a ajuda das funções <link linkend="set">set</link> e <link linkend="get">get</link> bem como a página de <link linkend="graphics_entities">graphics_entities</link>). É possível iniciar
-            um editor de propriedades mais conveniente através de <link linkend="ged">ged</link>.
-        </para>
-    </refsection>
-    <refsection>
-        <title>Ver Também</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="xset">xset</link>
-            </member>
-            <member>
-                <link linkend="ged">ged</link>
-            </member>
-            <member>
-                <link linkend="set">set</link>
-            </member>
-            <member>
-                <link linkend="graphics_entities">graphics_entities</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
index 5b4ce39..c264e79 100644 (file)
@@ -68,7 +68,7 @@ GRAPHICS_IMPEXP int ConstructPolyline(int iParentsubwinUID, double *pvecx, doubl
 GRAPHICS_IMPEXP int ConstructSurface(int iParentsubwinUID, sciTypeOf3D typeof3d, double *pvecx, double *pvecy, double *pvecz, double *zcol, int izcol, int dimzx, int dimzy, int *flag, double *ebox, int flagcolor, int *isfac, int *m1, int *n1, int *m2, int *n2, int *m3, int *n3, int *m3n, int *n3n); /* BUILD */
 GRAPHICS_IMPEXP int ConstructGrayplot(int iParentsubwinUID, double *vx, double *vy, double *vz, int nx, int ny, int type);  /* BUILD */
 GRAPHICS_IMPEXP int ConstructImplot(int iParentsubwinUID, double * rect, unsigned char *vz, int nx, int ny, int plottype);  /* BUILD */
-GRAPHICS_IMPEXP int ConstructFec(int iParentsubwinUID, double *pvecx, double *pvecy, double *pnoeud, double *pfun, int Nnode, int Ntr, double *zminmax, int *colminmax, int *colout, BOOL with_mesh);   /* BUILD */
+GRAPHICS_IMPEXP int ConstructFec(int iParentsubwinUID, double *pvecx, double *pvecy, double *pnoeud, double *pfun, int Nnode, int Ntr, int Nvertex, double *zminmax, int *colminmax, int *colout, BOOL with_mesh);   /* BUILD */
 GRAPHICS_IMPEXP int ConstructLight(char* fname, int iSubwin, int type, BOOL visible, double * position, double * direction, double * ambient_color, double * diffuse_color, double * specular_color);
 
 #endif /* __SCI_BUILD__ */
index f93237a..6225fe3 100644 (file)
@@ -51,6 +51,6 @@ GRAPHICS_IMPEXP void Objdrawaxis(char dir, char tics, double* x, int* nx, double
 
 GRAPHICS_IMPEXP void Objnumb(char* fname, unsigned long fname_len, int n, int flag, double x, double y, double* angle, double* box);
 
-GRAPHICS_IMPEXP void Objfec(double x[], double y[], double noeud[], double* fun, int* n, int* m, char strflag[], char legend[], double brect[], int aaint[], double Zminmax[], int Colminmax[], int ColOut[], BOOL WithMesh, BOOL flagNax);
+GRAPHICS_IMPEXP void Objfec(double x[], double y[], double noeud[], double* fun, int* n, int* m, int* p, char strflag[], char legend[], double brect[], int aaint[], double Zminmax[], int Colminmax[], int ColOut[], BOOL WithMesh, BOOL flagNax);
 
 #endif /* _SCI_CALL_H_ */
index f0bebba..bbbc689 100644 (file)
@@ -16,5 +16,5 @@
 //
 
 function [] = %_xget()
-    xsetm();
+    ged(1);
 endfunction
index e502ef7..4006e86 100644 (file)
@@ -16,5 +16,5 @@
 //
 
 function [] = %_xset()
-    xsetm();
+    ged(1);
 endfunction
diff --git a/scilab/modules/graphics/macros/xsetm.sci b/scilab/modules/graphics/macros/xsetm.sci
deleted file mode 100644 (file)
index 704593b..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) INRIA
-// 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
-
-function xsetm()
-    warnobsolete("ged", "5.5.0");
-    //obsolete function formely used for old_graphic style
-    ged(1);
-
-endfunction
index 0d49a0c..d44601e 100644 (file)
@@ -145,11 +145,13 @@ int sci_fec(char *fname, unsigned long fname_len)
         return 1;
     }
 
-    if (n3 != 5)
+    if (n3 < 5)
     {
-        Scierror(999, _("%s: Wrong number of columns for input argument #%d: %d expected.\n"), fname, 3, 5);
+        Scierror(999, _("%s: Wrong number of columns for input argument #%d: at least %d expected.\n"), fname, 3, 5);
         return 0;
     }
+    // remove number and flag
+    n3 -= 2;
 
     //get variable address
     sciErr = getVarAddressFromPosition(pvApiCtx, 4, &piAddr4);
@@ -203,7 +205,7 @@ int sci_fec(char *fname, unsigned long fname_len)
     }
     mn1 = m1 * n1;
 
-    Objfec ((l1), (l2), (l3), (l4), &mn1, &m3, strf, legend, rect, nax, zminmax, colminmax, colOut, withMesh, flagNax);
+    Objfec ((l1), (l2), (l3), (l4), &mn1, &m3, &n3, strf, legend, rect, nax, zminmax, colminmax, colOut, withMesh, flagNax);
 
     AssignOutputVariable(pvApiCtx, 1) = 0;
     ReturnArguments(pvApiCtx);
index 8f806bc..05fda9f 100644 (file)
@@ -625,7 +625,7 @@ int ConstructImplot(int iParentsubwinUID, double *pvecx, unsigned char *pvecz, i
  * @see sciSetCurrentObj
  */
 int ConstructFec(int iParentsubwinUID, double *pvecx, double *pvecy, double *pnoeud,
-                 double *pfun, int Nnode, int Ntr, double *zminmax, int *colminmax, int *colout, BOOL with_mesh)
+                 double *pfun, int Nnode, int Ntr, int Nvertex, double *zminmax, int *colminmax, int *colout, BOOL with_mesh)
 {
     int iObj = 0;
     int iFecId = 0;
@@ -671,6 +671,14 @@ int ConstructFec(int iParentsubwinUID, double *pvecx, double *pvecy, double *pno
         return 0;
     }
 
+    result = setGraphicObjectPropertyAndNoWarn(iObj, __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__, &Nvertex, jni_int, 1);
+    if (result == 0)
+    {
+        deleteGraphicObject(iObj);
+        deleteDataObject(iObj);
+        return 0;
+    }
+
     /* Allocates the triangle indices and values array */
     result = setGraphicObjectPropertyAndNoWarn(iObj, __GO_DATA_MODEL_NUM_INDICES__, &Ntr, jni_int, 1);
 
@@ -683,9 +691,9 @@ int ConstructFec(int iParentsubwinUID, double *pvecx, double *pvecy, double *pno
 
     setGraphicObjectPropertyAndNoWarn(iObj, __GO_DATA_MODEL_X__, pvecx, jni_double_vector, Nnode);
     setGraphicObjectPropertyAndNoWarn(iObj, __GO_DATA_MODEL_Y__, pvecy, jni_double_vector, Nnode);
-
+    
     /* Fec-specific property: triangle indices plus special values (triangle number and flag) */
-    setGraphicObjectPropertyAndNoWarn(iObj, __GO_DATA_MODEL_FEC_TRIANGLES__, pnoeud, jni_double_vector, Ntr);
+    setGraphicObjectPropertyAndNoWarn(iObj, __GO_DATA_MODEL_FEC_ELEMENTS__, pnoeud, jni_double_vector, Ntr);
 
     /* Function values */
     setGraphicObjectProperty(iObj, __GO_DATA_MODEL_VALUES__, pfun, jni_double_vector, Nnode);
index f2f027d..8ae4d5e 100644 (file)
@@ -75,7 +75,7 @@ static void coloutPatch(int colout[2]);
  *  first and last color of the colormap (Bruno.Pincon@iecn.u-nancy.fr)
 ---------------------------------------------------------------*/
 
-int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode, int *Ntr,
+int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode, int *Ntr, int *Nvertex, 
              char *strflag, char *legend, double *brect, int *aaint, double *zminmax,
              int *colminmax, int *colout, BOOL with_mesh, BOOL flagNax, int lstr1, int lstr2)
 {
@@ -223,7 +223,7 @@ int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode,
     /* [-1,-1] */
     coloutPatch(colout);
     iFecUID = ConstructFec(iSubwinUID, x, y, triangles, func,
-                           *Nnode, *Ntr, zminmax, colminmax, colout, with_mesh);
+                           *Nnode, *Ntr, *Nvertex, zminmax, colminmax, colout, with_mesh);
 
     if (iFecUID == 0)
     {
index 712d07d..8379dff 100644 (file)
@@ -42,7 +42,7 @@
  *  possibilities to set zmin, zmax by the user and also to set the
  *  first and last color of the colormap (Bruno.Pincon@iecn.u-nancy.fr)
  */
-int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode, int *Ntr,
+int C2F(fec)(double *x, double *y, double *triangles, double *func, int *Nnode, int *Ntr, int *Nvertex,
              char *strflag, char *legend, double *brect, int *aaint, double *zminmax,
              int *colminmax, int *colout, BOOL with_mesh, BOOL flagNax, int lstr1, int lstr2);
 
index 3b3496f..7e3d86b 100644 (file)
 /*------------------------------------------------------------------------*/
 int get_triangles_property(void* _pvCtx, int iObjUID)
 {
-    double* triangles = NULL;
-    int numTriangles = 0;
-    int *piNumTriangles = &numTriangles;
+    double* elements = NULL;
+    int numElements = 0;
+    int *piNumElements = &numElements;
+    int nVertex = 0;
+    int* piNVertex = &nVertex;
 
-    getGraphicObjectProperty(iObjUID, __GO_DATA_MODEL_FEC_TRIANGLES__, jni_double_vector, (void **)&triangles);
+    getGraphicObjectProperty(iObjUID, __GO_DATA_MODEL_FEC_ELEMENTS__, jni_double_vector, (void **)&elements);
 
-    if (triangles == NULL)
+    if (elements == NULL)
     {
-        Scierror(999, _("'%s' property does not exist for this handle.\n"), "triangles");
+        Scierror(999, _("'%s' property does not exist for this handle.\n"), "elements");
         return -1;
     }
 
-    getGraphicObjectProperty(iObjUID, __GO_DATA_MODEL_NUM_INDICES__, jni_int, (void**)&piNumTriangles);
-    if (piNumTriangles == NULL)
+    getGraphicObjectProperty(iObjUID, __GO_DATA_MODEL_NUM_INDICES__, jni_int, (void**)&piNumElements);
+    if (piNumElements == NULL)
     {
-        Scierror(999, _("Wrong value for '%s' property.\n"), "triangles");
+        Scierror(999, _("Wrong value for '%s' property.\n"), "elements");
         return -1;
     }
 
-    return sciReturnMatrix(_pvCtx, triangles, numTriangles , 5);
+    getGraphicObjectProperty(iObjUID, __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__, jni_int, (void**) &piNVertex);
+
+    return sciReturnMatrix(_pvCtx, elements, numElements , nVertex + 2);
 }
 /*------------------------------------------------------------------------*/
index 50716ba..7a0165a 100644 (file)
@@ -47,7 +47,14 @@ int set_tight_limits_property(void* _pvCtx, int iObjUID, void* _pvData, int valu
     {
         int tightLimits = (int) FALSE;
 
-        tightLimits = tryGetBooleanValueFromStack(((char**)_pvData)[0], valueType, nbRow, nbCol, "tight_limits");
+        if (valueType == sci_strings)
+        {
+            tightLimits = tryGetBooleanValueFromStack(((char **)_pvData)[0], valueType, nbRow, nbCol, "tight_limits");
+        }
+        else
+        {
+            tightLimits = tryGetBooleanValueFromStack(_pvData, valueType, nbRow, nbCol, "tight_limits");
+        }
 
         if (tightLimits == NOT_A_BOOLEAN_VALUE)
         {
index f8f8e35..3a35efc 100644 (file)
@@ -60,12 +60,19 @@ int set_triangles_property(void* _pvCtx, int iObjUID, void* _pvData, int valueTy
         return SET_PROPERTY_ERROR;
     }
 
-    if (nbCol != 5)
+    if (nbCol < 5)
     {
-        Scierror(999, _("Wrong size for '%s' property: Must have %d columns.\n"), "triangles", 5);
+        Scierror(999, _("Wrong size for '%s' property: Must have at least %d columns.\n"), "triangles", 5);
         return SET_PROPERTY_ERROR;
     }
 
+    result = setGraphicObjectPropertyAndNoWarn(iObjUID, __GO_DATA_MODEL_NUM_VERTICES_BY_ELEM__, &nbCol, jni_int, 1);
+    if (result == FALSE)
+    {
+        Scierror(999, _("%s: No more memory.\n"), "set_triangles_property");
+        return 0;
+    }
+
     /* Resizes the triangle array if required */
     result  = setGraphicObjectPropertyAndNoWarn(iObjUID, __GO_DATA_MODEL_NUM_INDICES__, &nbRow, jni_int, 1);
 
@@ -77,7 +84,7 @@ int set_triangles_property(void* _pvCtx, int iObjUID, void* _pvData, int valueTy
 
     pnoeud = (double*)_pvData;
 
-    setGraphicObjectProperty(iObjUID, __GO_DATA_MODEL_FEC_TRIANGLES__, pnoeud, jni_double_vector, nbRow);
+    setGraphicObjectProperty(iObjUID, __GO_DATA_MODEL_FEC_ELEMENTS__, pnoeud, jni_double_vector, nbRow);
 
     return SET_PROPERTY_SUCCEED;
 }
index fc54e11..e4dcabb 100644 (file)
@@ -943,6 +943,7 @@ void Objfec (double    x[]        ,
              double  * fun        ,
              int * n          ,
              int * m          ,
+             int * p          ,
              char      strflag[]  ,
              char      legend[]   ,
              double    brect[]    ,
@@ -953,7 +954,7 @@ void Objfec (double    x[]        ,
              BOOL      WithMesh   ,
              BOOL      flagNax)
 {
-    C2F(fec)(x, y, noeud, fun, n, m, strflag, legend, brect, aaint,
+    C2F(fec)(x, y, noeud, fun, n, m, p, strflag, legend, brect, aaint,
              Zminmax, Colminmax, ColOut, WithMesh, flagNax, 4L, bsiz);
 }
 /*------------------------------------------------------------------------*/
diff --git a/scilab/modules/graphics/tests/unit_tests/fec.dia.ref b/scilab/modules/graphics/tests/unit_tests/fec.dia.ref
new file mode 100644 (file)
index 0000000..ba592bf
--- /dev/null
@@ -0,0 +1,86 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Charlotte HECQUET - Calixte DENIZET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- TEST WITH GRAPHIC -->
+//
+// <-- Short Description -->
+// Unit test for fec function
+//
+// First test: quadrangles+mesh
+a = [1 1;
+     2 1;
+     2 2;
+     1 2]
+ a  =
+    1.    1.  
+    2.    1.  
+    2.    2.  
+    1.    2.  
+x = a(:,1);
+y = a(:,2);
+triangle = [1 1 2 3 4 0];
+clf();
+f=gcf();
+f.color_map=jetcolormap(12);
+func = rand(4,1);
+fec(x,y,triangle,func,mesh=%t);
+assert_checkequal(f.children(1).children(1).children.data, [a func]);
+assert_checkequal(f.children(1).children(1).children.triangles, triangle);
+assert_checkequal(f.children(1).children(1).children.line_mode , "on");
+assert_checkequal(f.children(1).children(1).children.z_bounds, [0 0]);
+assert_checkequal(f.children(1).children(1).children.color_range, [0 0]);
+assert_checkequal(f.children(1).children(1).children.outside_colors, [0 0]);
+// Second test: quadrangles without mesh
+clf();
+f=gcf();
+func = rand(4,1);
+f.color_map=jetcolormap(12);
+fec(x,y,triangle,func,mesh=%f);
+assert_checkequal(f.children(1).children(1).children.data, [a func]);
+assert_checkequal(f.children(1).children(1).children.triangles, triangle);
+assert_checkequal(f.children(1).children(1).children.line_mode , "off");
+assert_checkequal(f.children(1).children(1).children.z_bounds, [0 0]);
+assert_checkequal(f.children(1).children(1).children.color_range, [0 0]);
+assert_checkequal(f.children(1).children(1).children.outside_colors, [0 0]);
+// Third test: quadrangles+[zmin zmax]
+clf();
+f=gcf();
+func = rand(4,1);
+f.color_map=jetcolormap(12);
+fec(x,y,triangle,func,zminmax=[0.25 0.5]);
+assert_checkequal(f.children(1).children(1).children.data, [a func]);
+assert_checkequal(f.children(1).children(1).children.triangles, triangle);
+assert_checkequal(f.children(1).children(1).children.line_mode , "off");
+assert_checkequal(f.children(1).children(1).children.z_bounds, [0.25 0.5]);
+assert_checkequal(f.children(1).children(1).children.color_range, [0 0]);
+assert_checkequal(f.children(1).children(1).children.outside_colors, [0 0]);
+// Forth test: quadrangles+colminmax
+clf();
+f=gcf();
+func = rand(4,1);
+f.color_map=jetcolormap(12);
+fec(x,y,triangle,func,colminmax=[1 6]);
+assert_checkequal(f.children(1).children(1).children.data, [a func]);
+assert_checkequal(f.children(1).children(1).children.triangles, triangle);
+assert_checkequal(f.children(1).children(1).children.line_mode , "off");
+assert_checkequal(f.children(1).children(1).children.z_bounds, [0 0]);
+assert_checkequal(f.children(1).children(1).children.color_range, [1 6]);
+assert_checkequal(f.children(1).children(1).children.outside_colors, [0 0]);
+// Fifth test: quadrangles+zminmax+colout
+clf();
+f=gcf();
+func = rand(4,1);
+f.color_map=jetcolormap(12);
+fec(x,y,triangle,func,zminmax=[0.25 0.75], colout=[0 0]);
+assert_checkequal(f.children(1).children(1).children.data, [a func]);
+assert_checkequal(f.children(1).children(1).children.triangles, triangle);
+assert_checkequal(f.children(1).children(1).children.line_mode , "off");
+assert_checkequal(f.children(1).children(1).children.z_bounds, [0.25 0.75]);
+assert_checkequal(f.children(1).children(1).children.color_range, [0 0]);
+assert_checkequal(f.children(1).children(1).children.outside_colors, [-1 -1]);
+close();
diff --git a/scilab/modules/graphics/tests/unit_tests/fec.tst b/scilab/modules/graphics/tests/unit_tests/fec.tst
new file mode 100644 (file)
index 0000000..77f743a
--- /dev/null
@@ -0,0 +1,85 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2015 - Scilab Enterprises - Charlotte HECQUET - Calixte DENIZET
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- TEST WITH GRAPHIC -->
+//
+// <-- Short Description -->
+// Unit test for fec function
+//
+
+// First test: quadrangles+mesh
+a = [1 1;
+     2 1;
+     2 2;
+     1 2]
+x = a(:,1);
+y = a(:,2);
+triangle = [1 1 2 3 4 0];
+clf();
+f=gcf();
+f.color_map=jetcolormap(12);
+func = rand(4,1);
+fec(x,y,triangle,func,mesh=%t);
+assert_checkequal(f.children(1).children(1).children.data, [a func]);
+assert_checkequal(f.children(1).children(1).children.triangles, triangle);
+assert_checkequal(f.children(1).children(1).children.line_mode , "on");
+assert_checkequal(f.children(1).children(1).children.z_bounds, [0 0]);
+assert_checkequal(f.children(1).children(1).children.color_range, [0 0]);
+assert_checkequal(f.children(1).children(1).children.outside_colors, [0 0]);
+
+// Second test: quadrangles without mesh
+clf();
+f=gcf();
+func = rand(4,1);
+f.color_map=jetcolormap(12);
+fec(x,y,triangle,func,mesh=%f);
+assert_checkequal(f.children(1).children(1).children.data, [a func]);
+assert_checkequal(f.children(1).children(1).children.triangles, triangle);
+assert_checkequal(f.children(1).children(1).children.line_mode , "off");
+assert_checkequal(f.children(1).children(1).children.z_bounds, [0 0]);
+assert_checkequal(f.children(1).children(1).children.color_range, [0 0]);
+assert_checkequal(f.children(1).children(1).children.outside_colors, [0 0]);
+
+// Third test: quadrangles+[zmin zmax]
+clf();
+f=gcf();
+func = rand(4,1);
+f.color_map=jetcolormap(12);
+fec(x,y,triangle,func,zminmax=[0.25 0.5]);
+assert_checkequal(f.children(1).children(1).children.data, [a func]);
+assert_checkequal(f.children(1).children(1).children.triangles, triangle);
+assert_checkequal(f.children(1).children(1).children.line_mode , "off");
+assert_checkequal(f.children(1).children(1).children.z_bounds, [0.25 0.5]);
+assert_checkequal(f.children(1).children(1).children.color_range, [0 0]);
+assert_checkequal(f.children(1).children(1).children.outside_colors, [0 0]);
+
+// Forth test: quadrangles+colminmax
+clf();
+f=gcf();
+func = rand(4,1);
+f.color_map=jetcolormap(12);
+fec(x,y,triangle,func,colminmax=[1 6]);
+assert_checkequal(f.children(1).children(1).children.data, [a func]);
+assert_checkequal(f.children(1).children(1).children.triangles, triangle);
+assert_checkequal(f.children(1).children(1).children.line_mode , "off");
+assert_checkequal(f.children(1).children(1).children.z_bounds, [0 0]);
+assert_checkequal(f.children(1).children(1).children.color_range, [1 6]);
+assert_checkequal(f.children(1).children(1).children.outside_colors, [0 0]);
+
+// Fifth test: quadrangles+zminmax+colout
+clf();
+f=gcf();
+func = rand(4,1);
+f.color_map=jetcolormap(12);
+fec(x,y,triangle,func,zminmax=[0.25 0.75], colout=[0 0]);
+assert_checkequal(f.children(1).children(1).children.data, [a func]);
+assert_checkequal(f.children(1).children(1).children.triangles, triangle);
+assert_checkequal(f.children(1).children(1).children.line_mode , "off");
+assert_checkequal(f.children(1).children(1).children.z_bounds, [0.25 0.75]);
+assert_checkequal(f.children(1).children(1).children.color_range, [0 0]);
+assert_checkequal(f.children(1).children(1).children.outside_colors, [-1 -1]);
+close();
index b9920b9..b702f4f 100644 (file)
     </refsection>
     <refsection>
         <title>Examples</title>
-        <programlisting role="example">uigetfile(["*.bin";"*.sce";"*.cos*"])
+        <programlisting role="example">
+            uigetfile(["*.bin";"*.sce";"*.cos*"])
             uigetfile(["*.sci";"*.bin"],"SCI/modules/gui/macros/")
             uigetfile(["*.sc*";"*.bin"],"SCI/modules/gui/macros/")
             uigetfile(["*.x*","X files";"*.bin","BIN files"],"SCI/modules/gui/macros/")
-            uigetfile(["*.sce";"*.bin"],"SCI/modules/gui/macros/", "Choose a file name", %t); 
-            uigetfile(["*.sce";"*.bin"],"SCI/modules/gui/macros/", "Choose a file name", %f); 
+            uigetfile(["*.sce";"*.bin"],"SCI/modules/gui/macros/", "Choose a file name", %t);
+            uigetfile(["*.sce";"*.bin"],"SCI/modules/gui/macros/", "Choose a file name", %f);
         </programlisting>
     </refsection>
     <refsection role="see also">
index cc075d2..69e9cab 100644 (file)
     </refsection>
     <refsection>
         <title>例</title>
-        <programlisting role="example">uigetfile(["*.bin";"*.sce";"*.cos*"])
+        <programlisting role="example">
+            uigetfile(["*.bin";"*.sce";"*.cos*"])
             uigetfile(["*.sci";"*.bin"],"SCI/modules/gui/macros/")
             uigetfile(["*.sc*";"*.bin"],"SCI/modules/gui/macros/")
             uigetfile(["*.x*","X files";"*.bin","BIN files"],"SCI/modules/gui/macros/")
-            uigetfile(["*.sce";"*.bin"],"SCI/modules/gui/macros/", "Choose a file name", %t); 
-            uigetfile(["*.sce";"*.bin"],"SCI/modules/gui/macros/", "Choose a file name", %f); 
+            uigetfile(["*.sce";"*.bin"],"SCI/modules/gui/macros/", "Choose a file name", %t);
+            uigetfile(["*.sce";"*.bin"],"SCI/modules/gui/macros/", "Choose a file name", %f);
         </programlisting>
     </refsection>
     <refsection role="see also">
index f544668..c1434c0 100644 (file)
@@ -723,6 +723,10 @@ public final class SwingView implements GraphicView {
                     SwingScilabWaitBar bar = (SwingScilabWaitBar) requestedObject.getValue();
                     bar.close();
                     break;
+                case Frame:
+                    SwingScilabFrame frame = (SwingScilabFrame) requestedObject.getValue();
+                    frame.destroy();
+                    break;
                 default:
                     // Nothing to do
                     // uicontrol case: the object is destroyed when its parent updates its children
index f309536..c6e37f2 100644 (file)
@@ -100,7 +100,11 @@ public class SwingScilabFrame extends JPanel implements SwingViewObject, Widget
     protected boolean hasLayout = false;
     private Border defaultBorder = null;
     private SwingScilabCanvas canvas = null;
-    private EditorEventListener editorEventHandler = null;
+    
+    // BJ: This EditorEventListener leads to a huge leak mem openning many Axes withih Frames.
+    // DO NOT ACTIVATE THIS until EditorEventListener can manage Axes within Frames (Only Figure is working now)
+    //private EditorEventListener editorEventHandler = null;
+    
     private ScilabEventListener eventHandler;
     private boolean eventEnabled = false;
 
@@ -217,13 +221,13 @@ public class SwingScilabFrame extends JPanel implements SwingViewObject, Widget
 
         if (member instanceof SwingScilabAxes) {
             if (canvas == null) {
-                editorEventHandler = new EditorEventListener(getId());
+                //editorEventHandler = new EditorEventListener(getId());
                 AxesContainer frame = (AxesContainer) GraphicModel.getModel().getObjectFromId(getId());
                 canvas = new SwingScilabCanvas(frame);
-                canvas.addEventHandlerKeyListener(editorEventHandler);
-                canvas.addEventHandlerMouseListener(editorEventHandler);
-                canvas.addEventHandlerMouseMotionListener(editorEventHandler);
-                editorEventHandler.setEnable(true);
+                //canvas.addEventHandlerKeyListener(editorEventHandler);
+                //canvas.addEventHandlerMouseListener(editorEventHandler);
+                //canvas.addEventHandlerMouseMotionListener(editorEventHandler);
+                //editorEventHandler.setEnable(true);
 
                 setLayout(new GridLayout(1, 1));
                 hasLayout = true;
@@ -518,8 +522,10 @@ public class SwingScilabFrame extends JPanel implements SwingViewObject, Widget
      * Destroy the Frame
      */
     public void destroy() {
-        getParent().remove(this);
         this.setVisible(false);
+        //if (editorEventHandler != null) {
+        //    editorEventHandler.onExit();
+        //}
     }
 
     /**
@@ -859,7 +865,7 @@ public class SwingScilabFrame extends JPanel implements SwingViewObject, Widget
         disableEventHandler();
         eventHandler = new ScilabEventListener(funName, getId());
         if (eventEnabled) {
-            editorEventHandler.setEnable(false);
+            //editorEventHandler.setEnable(false);
             enableEventHandler();
         }
     }
@@ -874,11 +880,11 @@ public class SwingScilabFrame extends JPanel implements SwingViewObject, Widget
         }
 
         if (status) {
-            editorEventHandler.setEnable(false);
+            //editorEventHandler.setEnable(false);
             enableEventHandler();
             eventEnabled = true;
         } else {
-            editorEventHandler.setEnable(true);
+            //editorEventHandler.setEnable(true);
             disableEventHandler();
             eventEnabled = false;
         }
index dca3a94..f432c11 100644 (file)
@@ -378,6 +378,12 @@ public class SwingScilabLabel extends JScrollPane implements SwingViewObject, Wi
                 return;
             }
 
+            if (labelText.startsWith("<a href") && labelText.endsWith("</a>")) {
+                changeLabelType(LabelStyle.HTML);
+                ((JEditorPane) label).setText(labelText);
+                return;
+            }
+
             if (labelText.startsWith("$") && labelText.endsWith("$")) {
                 boolean latex = ScilabSpecialTextUtilities.setText(new JLabel(), labelText);
 
index d90c4c3..83f0ebd 100644 (file)
@@ -63,22 +63,6 @@ public class SwingScilabMenuBar extends JMenuBar implements SimpleMenuBar {
     }
 
     /**
-     * Get the element id for this menubar
-     * @return id the id of the corresponding menubar object
-     */
-    public int getElementId() {
-        return this.elementId;
-    }
-
-    /**
-     * Set the element id for this menubar
-     * @param id the id of the corresponding menubar object
-     */
-    public void setElementId(int id) {
-        this.elementId = id;
-    }
-
-    /**
      * Enabale/Disable a menu giving its name
      * @param menuName the name of the menu
      * @param status true to enable the menu
index a0a84fe..7814324 100644 (file)
@@ -24,8 +24,6 @@ public class SwingScilabToolBar extends JToolBar implements SimpleToolBar {
 
     private static final long serialVersionUID = 1L;
 
-    private int elementId;
-
     /**
      * Constructor
      */
@@ -42,21 +40,4 @@ public class SwingScilabToolBar extends JToolBar implements SimpleToolBar {
     public void addSeparator() {
         super.addSeparator();
     }
-
-    /**
-     * Get the element id for this toolbar
-     * @return id the id of the corresponding toolbar object
-     */
-    public int getElementId() {
-        return this.elementId;
-    }
-
-    /**
-     * Set the element id for this toolbar
-     * @param id the id of the corresponding toolbar object
-     */
-    public void setElementId(int id) {
-        this.elementId = id;
-    }
-
 }
index c9940bb..8313b0c 100644 (file)
@@ -18,7 +18,6 @@ import java.awt.event.KeyListener;
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
 import java.awt.event.MouseMotionListener;
-import java.awt.Component;
 
 import org.scilab.modules.gui.datatip.DatatipCreate;
 import org.scilab.modules.gui.datatip.DatatipDelete;
@@ -34,7 +33,6 @@ import org.scilab.modules.gui.editor.EntityPicker;
 import org.scilab.modules.gui.events.GlobalEventWatcher;
 
 import org.scilab.modules.gui.ged.Inspector;
-import org.scilab.modules.gui.ged.SwapObject;
 
 import org.scilab.modules.gui.plotbrowser.PlotBrowser;
 
index e5b40b1..1678352 100644 (file)
@@ -491,8 +491,8 @@ public class GEDPicker {
      * @return true if picked the fec otherwise returns false
      */
     boolean getFec(Integer obj, Integer[] position) {
-
-        double[] triangles = (double[])ObjectData.getFecTriangles(obj);
+        int numVerticesByElem = ObjectData.getFecNumVerticesByElement(obj);
+        double[] elements = (double[])ObjectData.getFecElements(obj);
         double[] data = (double[])ObjectData.getFecData(obj);
 
         double[] pos = { position[0] * 1.0, position[1] * 1.0, 0.0 };
@@ -507,18 +507,20 @@ public class GEDPicker {
         int idx1, idx2, idx3;
         Vector3d p1, p2, p3;
 
-        int tSize = triangles.length / 5;
+        int tSize = elements.length / (numVerticesByElem + 2);
         for (int i = 0; i < tSize; i++) {
-            idx1 = (int)triangles[tSize + i];
-            idx2 = (int)triangles[2 * tSize + i];
-            idx3 = (int)triangles[3 * tSize + i];
+            idx1 = (int)elements[tSize + i];
+            for (int j = 2; j < numVerticesByElem; ++j) {
+                idx2 = (int)elements[j * tSize + i];
+                idx3 = (int)elements[(j + 1) * tSize + i];
 
-            p1 = new Vector3d(data[(idx1 - 1) * 3], data[(idx1 - 1) * 3 + 1], data[(idx1 - 1) * 3 + 2]);
-            p2 = new Vector3d(data[(idx2 - 1) * 3], data[(idx2 - 1) * 3 + 1], data[(idx2 - 1) * 3 + 2]);
-            p3 = new Vector3d(data[(idx3 - 1) * 3], data[(idx3 - 1) * 3 + 1], data[(idx3 - 1) * 3 + 2]);
+                p1 = new Vector3d(data[(idx1 - 1) * 3], data[(idx1 - 1) * 3 + 1], data[(idx1 - 1) * 3 + 2]);
+                p2 = new Vector3d(data[(idx2 - 1) * 3], data[(idx2 - 1) * 3 + 1], data[(idx2 - 1) * 3 + 2]);
+                p3 = new Vector3d(data[(idx3 - 1) * 3], data[(idx3 - 1) * 3 + 1], data[(idx3 - 1) * 3 + 2]);
 
-            if (testTri(p1, p2, p3, l0, dir)) {
-                return true;
+                if (testTri(p1, p2, p3, l0, dir)) {
+                    return true;
+                }
             }
         }
         return false;
index fc71db6..64076d0 100644 (file)
@@ -17,7 +17,6 @@ import org.scilab.modules.gui.menu.Menu;
 import org.scilab.modules.gui.uielement.ScilabUIElement;
 import org.scilab.modules.gui.utils.Position;
 import org.scilab.modules.gui.utils.Size;
-import org.scilab.modules.gui.utils.UIElementMapper;
 
 /**
  * Class for Scilab MenuBars in GUIs
@@ -32,7 +31,6 @@ public class ScilabMenuBar extends ScilabUIElement implements MenuBar {
      */
     protected ScilabMenuBar() {
         component = ScilabBridge.createMenuBar();
-        component.setElementId(UIElementMapper.add(this));
     }
 
     /**
index 77a3182..6cf2836 100644 (file)
@@ -27,18 +27,6 @@ public interface SimpleMenuBar {
     void add(Menu newMenu);
 
     /**
-     * Set the element id for this menubar
-     * @param id the id of the corresponding menubar object
-     */
-    void setElementId(int id);
-
-    /**
-     * Get the element id for this menubar
-     * @return id the id of the corresponding menubar object
-     */
-    int getElementId();
-
-    /**
      * Enable/Disable a menu giving its name
      * @param menuName the name of the menu
      * @param status true to enable the menu
index fee37ae..333d8fd 100644 (file)
@@ -17,7 +17,6 @@ import org.scilab.modules.gui.bridge.ScilabBridge;
 import org.scilab.modules.gui.uielement.ScilabUIElement;
 import org.scilab.modules.gui.utils.Position;
 import org.scilab.modules.gui.utils.Size;
-import org.scilab.modules.gui.utils.UIElementMapper;
 
 /**
  * Class for Scilab ToolBars in GUIs
@@ -33,9 +32,6 @@ public class ScilabToolBar extends ScilabUIElement implements ToolBar {
      */
     protected ScilabToolBar() {
         component = ScilabBridge.createToolBar();
-        component.setElementId(UIElementMapper.add(this));
-
-        //setMenuBarId(UIElementMapper.getDefaultId());
     }
 
     /**
index e8b46ba..0b9c714 100644 (file)
@@ -26,18 +26,6 @@ public interface SimpleToolBar {
     void addSeparator();
 
     /**
-     * Set the element id for this toolbar
-     * @param id the id of the corresponding toolbar object
-     */
-    void setElementId(int id);
-
-    /**
-     * Get the element id for this toolbar
-     * @return id the id of the corresponding toolbar object
-     */
-    int getElementId();
-
-    /**
      * Get the visibility of the TooBar
      * @return true if the ToolBar is Visible
      */
index 043c7d3..70bdd81 100644 (file)
@@ -135,6 +135,8 @@ public class SciFileFilter extends FileFilter {
             // Bug 2861: have to return true for all files if no mask given
             return true;
         } else if (mask.equals(".*\\..*")) {
+            int selectedIndex = this.filterIndex + 1;
+            FileChooserInfos.getInstance().setFilterIndex(selectedIndex);
             // bug 7285: *.* as filter returns also files without extension
             return true;
         } else {
index e436726..9fd96a0 100644 (file)
@@ -419,18 +419,15 @@ nanmin
 nanreglin
 nanstdev
 nansum
-nfreq
 pca
 perctl
 princomp
 quart
 reglin
-regress
 sample
 samplef
 samwr
 show_pca
-st_deviation
 stdev
 stdevf
 strange
@@ -1891,7 +1888,6 @@ xnumb
 xrpoly
 xsave
 xsetech
-xsetm
 xstringl
 ylabel
 zlabel
index 2c31fcd..9e5db0e 100644 (file)
@@ -823,6 +823,7 @@ fec_1.png=a11d00923296006631c0f5e50d616f0f
 fec_2.png=fdadfcbaf0919df91b9d88d8f097fb3f
 fec_3.png=a661499ffa9830b6ffc021bb6234d304
 fec_4.png=d4feec7ccb49037df8b057bcd5780935
+fec_5.png=e9ad6f76388b0537f20eadae52d98b3c
 fftshift_1.png=6ac2e2db1929ffc261e51b373f204556
 fftshift_2.png=2c9968c3eb3b50c360a2067b30f2a843
 fgrayplot_1.png=37a25f51cb82aa32bde44a32973fe92a
diff --git a/scilab/modules/helptools/images/fec_5.png b/scilab/modules/helptools/images/fec_5.png
new file mode 100644 (file)
index 0000000..f7aad8d
Binary files /dev/null and b/scilab/modules/helptools/images/fec_5.png differ
index 8752460..538d476 100644 (file)
@@ -233,6 +233,14 @@ public final class JoGLCanvas implements Canvas, GLEventListener {
      * @return an image
      */
     public BufferedImage getImage() {
+        return getImage(true);
+    }
+
+    /**
+     * Get an image from the autoDrawable
+     * @return an image
+     */
+    public BufferedImage getImage(final boolean alpha) {
         while (!canvasAnimator.isDrawFinished() || !displayFinished) {
             try {
                 Thread.sleep(10);
@@ -246,16 +254,16 @@ public final class JoGLCanvas implements Canvas, GLEventListener {
 
         if (SwingUtilities.isEventDispatchThread()) {
             context.makeCurrent();
-            AWTGLReadBufferUtil buffer = new AWTGLReadBufferUtil(GLProfile.getDefault(), true);
-            image[0] = buffer.readPixelsToBufferedImage(getGl(), 0, 0, autoDrawable.getSurfaceWidth(), autoDrawable.getSurfaceHeight(), false);
+            AWTGLReadBufferUtil buffer = new AWTGLReadBufferUtil(GLProfile.getDefault(), alpha);
+            image[0] = buffer.readPixelsToBufferedImage(getGl(), 0, 0, autoDrawable.getSurfaceWidth(), autoDrawable.getSurfaceHeight(), true);
             context.release();
         } else {
             try {
                 SwingUtilities.invokeAndWait(new Runnable() {
                     public void run() {
                         context.makeCurrent();
-                        AWTGLReadBufferUtil buffer = new AWTGLReadBufferUtil(GLProfile.getDefault(), true);
-                        image[0] = buffer.readPixelsToBufferedImage(getGl(), 0, 0, autoDrawable.getSurfaceWidth(), autoDrawable.getSurfaceHeight(), false);
+                        AWTGLReadBufferUtil buffer = new AWTGLReadBufferUtil(GLProfile.getDefault(), alpha);
+                        image[0] = buffer.readPixelsToBufferedImage(getGl(), 0, 0, autoDrawable.getSurfaceWidth(), autoDrawable.getSurfaceHeight(), true);
                         context.release();
                     }
                 });
index 8485544..8455e0a 100644 (file)
@@ -88,7 +88,7 @@ y=mean(A,'m')
                 <link linkend="median">median</link>
             </member>
             <member>
-                <link linkend="st_deviation">st_deviation</link>
+                <link linkend="stdev">stdev</link>
             </member>
         </simplelist>
     </refsection>
diff --git a/scilab/modules/statistics/help/en_US/descriptive_statistics/st_deviation.xml b/scilab/modules/statistics/help/en_US/descriptive_statistics/st_deviation.xml
deleted file mode 100644 (file)
index e573d29..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2013 - Scilab Enterprises - Paul Bignier: made obsolete, merged in stdev
- * Copyright (C) 2000 - INRIA -
- *
- * 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
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="st_deviation">
-    <refnamediv>
-        <refname>st_deviation</refname>
-        <refpurpose>standard deviation (row or
-            column-wise) of vector/matrix entries
-            <emphasis role="bold">This function is obsolete.</emphasis>
-        </refpurpose>
-    </refnamediv>
-    <refnamediv xml:id="stdev">
-        <refname>stdev</refname>
-        <refpurpose>standard deviation (row or column-wise) of vector/matrix entries</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Calling Sequence</title>
-        <synopsis>y=st_deviation(x)
-            y=st_deviation(x,'r')
-            y=st_deviation(x,'c')
-            y=stdev(x)
-            y=stdev(x,'r')
-            y=stdev(x,'c')
-        </synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Arguments</title>
-        <variablelist>
-            <varlistentry>
-                <term>x</term>
-                <listitem>
-                    <para>real vector or matrix</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>y</term>
-                <listitem>
-                    <para>scalar or vector</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>Description</title>
-        <warning>
-            This function is obsolete.
-            It is better to use <link linkend="stdev">stdev</link> instead.
-        </warning>
-        <para>
-            st_deviation computes the "sample" standard deviation, that
-            is, it is normalized by N-1, where N is the sequence length.
-        </para>
-        <para>
-            For a vector or a matrix <literal>x</literal>, <literal>y=st_deviation(x)</literal>  returns in the
-            scalar <literal>y</literal> the standard deviation of all the entries of <literal>x</literal>.
-        </para>
-        <para>
-            <literal>y=st_deviation(x,'r')</literal> (or, equivalently,
-            <literal>y=st_deviation(x,1)</literal>) is the rowwise standard deviation. It returns in each
-            entry of the column vector <literal>y</literal> the standard deviation of each row of <literal>x</literal>.
-        </para>
-        <para>
-            <literal>y=st_deviation(x,'c')</literal> (or, equivalently, <literal>y=st_deviation(x,2)</literal>) is the columnwise st_deviation. It returns in each entry of the row vector
-            <literal>y</literal> the standard deviation of each column  of <literal>x</literal>.
-        </para>
-    </refsection>
-    <refsection>
-        <title>Examples</title>
-        <programlisting role="example"><![CDATA[
-A=[1,2,10;7,7.1,7.01];
-st_deviation(A)
-st_deviation(A,'r')
-st_deviation(A,'c')
- ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>See Also</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="sum">sum</link>
-            </member>
-            <member>
-                <link linkend="median">median</link>
-            </member>
-            <member>
-                <link linkend="mean">mean</link>
-            </member>
-            <member>
-                <link linkend="nanstdev">nanstdev</link>
-            </member>
-            <member>
-                <link linkend="stdevf">stdevf</link>
-            </member>
-        </simplelist>
-    </refsection>
-    <refsection>
-        <title>History</title>
-        <revhistory>
-            <revision>
-                <revnumber>5.5.0</revnumber>
-                <revdescription>
-                    Function tagged as obsolete. Will be removed in 5.5.1. Please use <link linkend="stdev">stdev</link> instead.
-                </revdescription>
-            </revision>
-        </revhistory>
-    </refsection>
-</refentry>
index 55f4996..e73e087 100644 (file)
@@ -79,7 +79,7 @@ mom=cmoment(x,3,'c')
                 <link linkend="median">median</link>
             </member>
             <member>
-                <link linkend="st_deviation">st_deviation</link>
+                <link linkend="stdev">stdev</link>
             </member>
             <member>
                 <link linkend="mean">mean</link>
diff --git a/scilab/modules/statistics/help/en_US/regression/regress.xml b/scilab/modules/statistics/help/en_US/regression/regress.xml
deleted file mode 100644 (file)
index b9ad6aa..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2000 - INRIA - Carlos Klimann
- * 
- * 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
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="regress">
-    <refnamediv>
-        <refname>regress</refname>
-        <refpurpose>
-                regression coefficients of two variables. <emphasis role="bold">This function is obsolete.</emphasis>
-        </refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Calling Sequence</title>
-        <synopsis>coefs=regress(x,y)</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Arguments</title>
-        <variablelist>
-            <varlistentry>
-                <term>x,y</term>
-                <listitem>
-                    <para>real or complex vector</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>Description</title>
-        <para>
-            This function  computes the regresion  coefficients of two
-            variables <literal>x</literal>  and <literal>y</literal>, both  numerical vectors of
-            same number  of elements  <literal>n</literal>. <literal>coefs=[a b]</literal>  be a
-            1x2 matrix such that  <literal>Y=a+bX</literal> will be the equation of
-            the ordinary least square approximation to our data.
-        </para>
-        <warning>This function is obsolete.</warning>
-        It is better to use <link linkend="reglin">reglin</link> instead of <function>regress</function>.
-    </refsection>
-    <refsection>
-        <title>References</title>
-        <para>
-            Wonacott, T.H. &amp; Wonacott, R.J.; Introductory Statistics, J.Wiley &amp; Sons, 1990.
-        </para>
-    </refsection>
-    <refsection>
-        <title>Examples</title>
-        <programlisting role="example"><![CDATA[ 
-x=[0.5608486 0.6623569 0.7263507 0.1985144 0.5442573 0.2320748 0.2312237]
-y=[0.3616361 0.2922267 0.5664249 0.4826472 0.3321719 0.5935095 0.5015342]
-coefs=regress(x,y)
- ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>See Also</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="reglin">reglin</link>
-            </member>
-            <member>
-                <link linkend="covar">covar</link>
-            </member>
-        </simplelist>
-    </refsection>
-    <refsection>
-        <title>History</title>
-        <revhistory>
-            <revision>
-                <revnumber>5.5.0</revnumber>
-                <revdescription>
-                    Function tagged as obsolete. Will be removed in 5.5.1. Please use <link linkend="reglin">reglin</link> instead.
-                </revdescription>
-            </revision>
-        </revhistory>
-    </refsection>
-</refentry>
diff --git a/scilab/modules/statistics/help/en_US/summaries/nfreq.xml b/scilab/modules/statistics/help/en_US/summaries/nfreq.xml
deleted file mode 100644 (file)
index 7ff3c13..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2000 - INRIA - Carlos Klimann
- *
- * 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
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="nfreq">
-    <refnamediv>
-        <refname>nfreq</refname>
-        <refpurpose>
-            frequency of the values in a vector or matrix. <emphasis role="bold">This function is obsolete.</emphasis>
-        </refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Calling Sequence</title>
-        <synopsis>m=nfreq(x)</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Arguments</title>
-        <variablelist>
-            <varlistentry>
-                <term>x</term>
-                <listitem>
-                    <para>real or complex vector or matrix</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>Description</title>
-        <para>
-            Frequency of the  values in a real or  complex vector or a
-            real or complex matrix <literal>x</literal>.
-        </para>
-        <para>
-            For a real  or complex vector or a  real or complex matrix
-            <literal>x</literal>,  <literal>m=freq(x)</literal> returns in  the first  column of
-            the  <literal>size(x,'*')x2</literal>  matrix  <literal>m</literal>  the  values  of
-            <literal>x</literal>  and  in the  second  column  of  this matrix  the
-            frequencies of the corresponding values.
-        </para>
-        <para>
-            Note that the  <link linkend="tabul">tabul</link> function is more efficient, applies
-            also to vector of strings and returns a sorted <literal>m</literal>.
-            <warning>This function is obsolete.</warning>
-            It is better to use <link linkend="tabul">tabul</link> instead of <literal>nfreq</literal>.
-        </para>
-    </refsection>
-    <refsection>
-        <title>Examples</title>
-        <programlisting role="example"><![CDATA[
-x=[2 8 0 3 7 6 8 7 9 1]
-m=nfreq(x)
- ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>See Also</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="tabul">tabul</link>
-            </member>
-            <member>
-                <link linkend="dsearch">dsearch</link>
-            </member>
-            <member>
-                <link linkend="histplot">histplot</link>
-            </member>
-        </simplelist>
-    </refsection>
-    <refsection>
-        <title>History</title>
-        <revhistory>
-            <revision>
-                <revnumber>5.5.0</revnumber>
-                <revdescription>
-                    Function tagged as obsolete. Will be removed in 5.5.1. Please use <link linkend="tabul">tabul</link> instead.
-                </revdescription>
-            </revision>
-        </revhistory>
-    </refsection>
-</refentry>
index e93634f..a70b317 100644 (file)
@@ -106,7 +106,7 @@ median(A,'m')
                 <link linkend="mean">mean</link>
             </member>
             <member>
-                <link linkend="st_deviation">st_deviation</link>
+                <link linkend="stdev">stdev</link>
             </member>
         </simplelist>
     </refsection>
diff --git a/scilab/modules/statistics/help/fr_FR/descriptive_statistics/st_deviation.xml b/scilab/modules/statistics/help/fr_FR/descriptive_statistics/st_deviation.xml
deleted file mode 100644 (file)
index faada8f..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2000 - INRIA
- *
- * 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
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="fr" xml:id="st_deviation">
-    <refnamediv>
-        <refname>st_deviation</refname>
-        <refpurpose>
-            écart-type des termes d'une matrice
-            <emphasis role="bold">Cette fonction est obsolète.</emphasis>
-        </refpurpose>
-    </refnamediv>
-    <refnamediv xml:id="stdev">
-        <refname>stdev</refname>
-        <refpurpose>écart-type des termes d'une matrice  </refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>Séquence d'appel</title>
-        <synopsis>y=st_deviation(x)
-            y=st_deviation(x,'r')
-            y=st_deviation(x,'c')
-            y=stdev(x)
-            y=stdev(x,'r')
-            y=stdev(x,'c')
-        </synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>Paramètres</title>
-        <variablelist>
-            <varlistentry>
-                <term>x  </term>
-                <listitem>
-                    <para>vecteur ou matrice réelle
-                    </para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>y  </term>
-                <listitem>
-                    <para>scalaire ou vecteur
-                    </para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>Description</title>
-        <warning>
-            Cette fonction est <emphasis role="bold">obsolète</emphasis>,
-            utilisez <link linkend="stdev">stdev</link> à la place.
-        </warning>
-        <para>
-            st_deviation calcule l'estimateur sans biais de l'écart-type (normalisé par N-1, ou N est le nombre d'échantillons).
-        </para>
-        <para>
-            Pour un vecteur ou une matrice <literal>x</literal>, <literal>y=st_deviation(x)</literal> renvoie dans <literal>y</literal> l'écart-type des termes de <literal>x</literal>.
-        </para>
-        <para>
-            <literal>y=st_deviation(x,'r')</literal> (ou <literal>y=st_deviation(x,1)</literal>) est l'écart-type suivant l'indice de ligne. Chaque composante du vecteur ligne <literal>y</literal> contient l'écart-type de chaque colonne de <literal>x</literal>.
-        </para>
-        <para>
-        </para>
-        <para>
-            <literal>y=st_deviation(x,'c')</literal> (ou <literal>y=st_deviation(x,2)</literal>) est l'écart-type selon l'indice de colonne. Chaque composante du vecteur colonne <literal>y</literal> contient l'écart-type de chaque ligne de <literal>x</literal>.
-        </para>
-    </refsection>
-    <refsection>
-        <title>Exemples</title>
-        <programlisting role="example"><![CDATA[
-A=[1,2,10;7,7.1,7.01];
-st_deviation(A)
-st_deviation(A,'r')
-st_deviation(A,'c')
- ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>Voir aussi</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="sum">sum</link>
-            </member>
-            <member>
-                <link linkend="median">median</link>
-            </member>
-            <member>
-                <link linkend="mean">mean</link>
-            </member>
-            <member>
-                <link linkend="nanstdev">nanstdev</link>
-            </member>
-            <member>
-                <link linkend="stdevf">stdevf</link>
-            </member>
-        </simplelist>
-    </refsection>
-    <refsection>
-        <title>History</title>
-        <revhistory>
-            <revision>
-                <revnumber>5.5.0</revnumber>
-                <revdescription>
-                    Fonction obsolète. Sera supprimée dans la version 5.5.1. Veuillez utiliser <link linkend="stdev">stdev</link> à la place.
-                </revdescription>
-            </revision>
-        </revhistory>
-    </refsection>
-</refentry>
index c80d039..2230a18 100644 (file)
@@ -86,7 +86,7 @@ y=mean(A,'m')
                 <link linkend="median">median</link>
             </member>
             <member>
-                <link linkend="st_deviation">st_deviation</link>
+                <link linkend="stdev">stdev</link>
             </member>
         </simplelist>
     </refsection>
diff --git a/scilab/modules/statistics/help/ja_JP/descriptive_statistics/st_deviation.xml b/scilab/modules/statistics/help/ja_JP/descriptive_statistics/st_deviation.xml
deleted file mode 100644 (file)
index e8f81f8..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2000 - INRIA - 
- * 
- * 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
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="st_deviation">
-    <refnamediv>
-        <refname>st_deviation</refname>
-        <refpurpose>ベクトル/行列の要素の(行方向または列方向の)標準偏差</refpurpose>
-    </refnamediv>
-    <refnamediv xml:id="stdev">
-        <refname>stdev</refname>
-        <refpurpose>ベクトル/行列の要素の(行方向または列方向の)標準偏差</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>呼び出し手順</title>
-        <synopsis>y=st_deviation(x)
-            y=st_deviation(x,'r')
-            y=st_deviation(x,'c')
-            y=stdev(x)
-            y=stdev(x,'r')
-            y=stdev(x,'c')
-        </synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>パラメータ</title>
-        <variablelist>
-            <varlistentry>
-                <term>x</term>
-                <listitem>
-                    <para>実数ベクトルまたは行列</para>
-                </listitem>
-            </varlistentry>
-            <varlistentry>
-                <term>y</term>
-                <listitem>
-                    <para>スカラーまたはベクトル</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>説明</title>
-        <para>
-            st_deviation は, N-1で正規化された"標本"標準偏差を計算します.
-            ただし, Nはデータ長です.
-        </para>
-        <para>
-            <literal>x</literal>がベクトルまたは行列の場合, <literal>y=st_deviation(x)</literal>は
-            <literal>x</literal>の全ての要素の標準偏差をスカラー<literal>y</literal>として返します.
-        </para>
-        <para>
-            <literal>y=st_deviation(x,'r')</literal> (または等価的に,
-            <literal>y=st_deviation(x,1)</literal>) は行毎の標準偏差です. 
-            列ベクトル<literal>y</literal>の各要素について<literal>x</literal>の各行の標準偏差を
-            返します.
-        </para>
-        <para>
-            <literal>y=st_deviation(x,'c')</literal> (または等価的に, <literal>y=st_deviation(x,2)</literal>)
-            は列毎の標準偏差です.行ベクトル<literal>y</literal>の各要素について<literal>x</literal>の各列の
-            標準偏差を返します.
-        </para>
-    </refsection>
-    <refsection>
-        <title>例</title>
-        <programlisting role="example"><![CDATA[ 
-A=[1,2,10;7,7.1,7.01];
-st_deviation(A)
-st_deviation(A,'r')
-st_deviation(A,'c')
- ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>参照</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="sum">sum</link>
-            </member>
-            <member>
-                <link linkend="median">median</link>
-            </member>
-            <member>
-                <link linkend="mean">mean</link>
-            </member>
-            <member>
-                <link linkend="nanstdev">nanstdev</link>
-            </member>
-            <member>
-                <link linkend="stdevf">stdevf</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
index 67c4c35..87fbb19 100644 (file)
@@ -80,7 +80,7 @@ mom=cmoment(x,3,'c')
                 <link linkend="median">median</link>
             </member>
             <member>
-                <link linkend="st_deviation">st_deviation</link>
+                <link linkend="stdev">stdev</link>
             </member>
             <member>
                 <link linkend="mean">mean</link>
diff --git a/scilab/modules/statistics/help/ja_JP/regression/regress.xml b/scilab/modules/statistics/help/ja_JP/regression/regress.xml
deleted file mode 100644 (file)
index e8b4122..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2000 - INRIA - Carlos Klimann
- * 
- * 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
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="regress">
-    <refnamediv>
-        <refname>regress</refname>
-        <refpurpose>2つの変数の回帰係数</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>呼び出し手順</title>
-        <synopsis>coefs=regress(x,y)</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>パラメータ</title>
-        <variablelist>
-            <varlistentry>
-                <term>x,y</term>
-                <listitem>
-                    <para>実数または複素数のベクトル</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>説明</title>
-        <para>
-            この関数は,共に同じ要素数<literal>n</literal>の数値ベクトルである
-            2つの変数<literal>x</literal> および <literal>y</literal>の
-            回帰係数を計算します.
-            <literal>coefs=[a b]</literal>  は,
-            <literal>Y=a+bX</literal>が
-            データの最小二乗推定近似の方程式となるような
-            1x2行列です.
-        </para>
-    </refsection>
-    <refsection>
-        <title>参考文献</title>
-        <para>
-            Wonacott, T.H. &amp; Wonacott, R.J.; Introductory Statistics, J.Wiley &amp; Sons, 1990.
-        </para>
-    </refsection>
-    <refsection>
-        <title>例</title>
-        <programlisting role="example"><![CDATA[ 
-x=[0.5608486 0.6623569 0.7263507 0.1985144 0.5442573 0.2320748 0.2312237]
-y=[0.3616361 0.2922267 0.5664249 0.4826472 0.3321719 0.5935095 0.5015342]
-coefs=regress(x,y)
- ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>参照</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="covar">covar</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
diff --git a/scilab/modules/statistics/help/ja_JP/summaries/nfreq.xml b/scilab/modules/statistics/help/ja_JP/summaries/nfreq.xml
deleted file mode 100644 (file)
index 12b7714..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2000 - INRIA - Carlos Klimann
- * 
- * 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
- *
- -->
-<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="ja" xml:id="nfreq">
-    <refnamediv>
-        <refname>nfreq</refname>
-        <refpurpose>ベクトルまたは行列における値の頻度</refpurpose>
-    </refnamediv>
-    <refsynopsisdiv>
-        <title>呼び出し手順</title>
-        <synopsis>m=nfreq(x)</synopsis>
-    </refsynopsisdiv>
-    <refsection>
-        <title>パラメータ</title>
-        <variablelist>
-            <varlistentry>
-                <term>x</term>
-                <listitem>
-                    <para>実数または複素数のベクトルまたは行列</para>
-                </listitem>
-            </varlistentry>
-        </variablelist>
-    </refsection>
-    <refsection>
-        <title>説明</title>
-        <para>
-            実数または複素数のベクトル,もしくは
-            実数または複素数の行列<literal>x</literal>における値の頻度.
-        </para>
-        <para>
-            ある実数または複素数のベクトルまたは行列
-            <literal>x</literal>について,  <literal>m=freq(x)</literal> は
-            <literal>size(x,'*')x2</literal>の行列<literal>m</literal>の最初の列に
-            <literal>x</literal>の値,
-            この行列の2番目の列に対応する値の頻度を返します.
-        </para>
-        <para>
-            <link linkend="tabul">tabul</link>関数が
-            より効率的で,
-            文字列のベクトルにも適用でき,
-            ソートされた<literal>m</literal>を返すことに注意してください.
-        </para>
-    </refsection>
-    <refsection>
-        <title>例</title>
-        <programlisting role="example"><![CDATA[ 
-x=[2 8 0 3 7 6 8 7 9 1]
-m=nfreq(x)
- ]]></programlisting>
-    </refsection>
-    <refsection role="see also">
-        <title>参照</title>
-        <simplelist type="inline">
-            <member>
-                <link linkend="tabul">tabul</link>
-            </member>
-            <member>
-                <link linkend="dsearch">dsearch</link>
-            </member>
-            <member>
-                <link linkend="histplot">histplot</link>
-            </member>
-        </simplelist>
-    </refsection>
-</refentry>
index 846bbcb..b4db32d 100644 (file)
@@ -15,7 +15,7 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Revision-Date: 2015-02-27 11:39+0100\n"
+"Revision-Date: 2015-03-11 15:49+0100\n"
 
 # File: sci_gateway/c/sci_cdfbet.c, line: 45
 msgid "X,Y,A and B"
@@ -506,7 +506,6 @@ msgstr ""
 # File: macros/ftest.sci, line: 27
 # File: macros/pca.sci, line: 63
 # File: macros/perctl.sci, line: 31
-# File: macros/regress.sci, line: 27
 #, c-format
 msgid "%s: Wrong number of input arguments: %d expected.\n"
 msgstr ""
@@ -699,7 +698,6 @@ msgstr ""
 # File: macros/nanmeanf.sci, line: 48
 # File: macros/sample.sci, line: 51
 # File: macros/samplef.sci, line: 100
-# File: macros/st_deviation.sci, line: 40
 # File: macros/variancef.sci, line: 132
 #, c-format
 msgid ""
@@ -753,24 +751,6 @@ msgid "%s: NaNs detected, please use %s() instead.\n"
 msgstr ""
 
 #
-# File: macros/regress.sci, line: 31
-#, c-format
-msgid "%s: Wrong type for input arguments: Numerical expected.\n"
-msgstr ""
-
-#
-# File: macros/regress.sci, line: 33
-#, c-format
-msgid "%s: Wrong size for both input arguments: same size expected.\n"
-msgstr ""
-
-#
-# File: macros/regress.sci, line: 34
-#, c-format
-msgid "%s: Wrong size for input argument #%d: Must be > %d.\n"
-msgstr ""
-
-#
 # File: macros/samplef.sci, line: 46
 #, c-format
 msgid "%s: Wrong value for input argument #%d: Non-negative values expected.\n"
diff --git a/scilab/modules/statistics/macros/nfreq.sci b/scilab/modules/statistics/macros/nfreq.sci
deleted file mode 100644 (file)
index 8f90b54..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2000 - INRIA - Carlos Klimann
-//
-// 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
-//
-
-function [m]=nfreq(x)
-    //
-    //Frequency of the values in a real or complex vector or a  real
-    //or complex matrix x.
-    //
-    //For a real or complex vector or a  real or complex matrix x,
-    //m=freq(x) returns in the first column of the size(x,'*')x2 matrix
-    //m the values of x and in the second column of this matrix the
-    //frequencies of the corresponding values.
-    //
-    //
-    warnobsolete("tabul", "5.5.1");
-    lxnozero=size(x,"*");
-    xx=matrix(x,lxnozero,1);
-    m=[]
-    while lxnozero>0 do
-        xnozero=find(xx-xx(1)<>0)',
-        l=lxnozero,
-        lxnozero=size(xnozero,"*"),
-        m=[m ; xx(1) l-lxnozero],
-        xx=xx(xnozero),
-    end
-endfunction
diff --git a/scilab/modules/statistics/macros/regress.sci b/scilab/modules/statistics/macros/regress.sci
deleted file mode 100644 (file)
index 83e5238..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2000 - INRIA - Carlos Klimann
-//
-// 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
-//
-
-function [coefs]=regress(x,y)
-    //
-    //This function computes the regresion coefficients of two
-    //variables x and y, both numerical vectors of same number
-    //of elements  n. coefs=[a  b] be a  1x2 matrix  such that
-    //Y=a+bX will be the equation of the ordinary least square
-    //approximation to our data.
-    //
-    //References:   Wonacott,    T.H.    &   Wonacott,   R.J.;
-    //Introductory Statistics, J.Wiley & Sons, 1990.
-    //
-    //
-    
-    warnobsolete("reglin", "5.5.1");
-    [lhs, rhs] = argn(0);
-    if rhs < 2 then
-        error(msprintf(gettext("%s: Wrong number of input arguments: %d expected.\n"),"regress",2))
-    end
-
-    coefs=[]
-    if (type(x) <> 1)|(type(y)<>1) then error(msprintf(gettext("%s: Wrong type for input arguments: Numerical expected.\n"),"regress")), end
-    lx=length(x)
-    if lx<>length(y) then error(msprintf(gettext("%s: Wrong size for both input arguments: same size expected.\n"),"regress")), end
-    if lx==0 then error(msprintf(gettext("%s: Wrong size for input argument #%d: Must be > %d.\n"),"regress", 1, 0)), end
-    x=matrix(x,lx,1)
-    y=matrix(y,lx,1)
-    xbar=sum(x)/lx
-    ybar=sum(y)/lx
-    coefs(2)=sum((x-xbar).*(y-ybar))/sum((x-xbar).^2)
-    coefs(1)=ybar-coefs(2)*xbar
-endfunction
diff --git a/scilab/modules/statistics/macros/st_deviation.sci b/scilab/modules/statistics/macros/st_deviation.sci
deleted file mode 100644 (file)
index d79c16d..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2013 - Scilab Enterprises - Paul Bignier: made obsolete, merged in stdev
-// Copyright (C) XXXX - INRIA
-// Copyright (C) XXXX - ENPC
-// Copyright (C) XXXX - Ecole des Mines de Nantes - Philippe Castagliola
-// 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
-
-function sd=st_deviation(x,cr)
-    //
-    warnobsolete("stdev", "5.5.1");
-    if argn(2)<2 then cr="*",end
-    if x == [] then sd=%nan;return ;end
-    if typeof(x)=="hypermat" then sd=%hm_stdev(x,cr),return,end
-    [m,n]=size(x);
-    if cr=="*" then
-        n=m*n
-        select n
-        case 0 then sd=%nan
-        case 1 then sd=0
-        else
-            sd=sqrt(sum((x-mean(x)).^2)/(n-1));
-        end
-    elseif cr=="c"|cr==2
-        if n==1 then
-            sd=zeros(m,1)
-        else
-            sd=sqrt(sum((x-mean(x,"c")*ones(x(1,:))).^2,"c")/(n-1));
-        end
-    elseif cr=="r"|cr==1
-        if m==1 then
-            sd=zeros(1,n)
-        else
-            sd=sqrt(sum((x-ones(x(:,1))*mean(x,"r")).^2,"r")/(m-1));
-        end
-    else
-        error(msprintf(gettext("%s: Wrong value for input argument #%d: ''%s'', ''%s'', ''%s'', %d or %d expected.\n"),"st_deviation",2,"*","r","c",1,2));
-    end
-endfunction
index 086eab6..67f5b0c 100644 (file)
@@ -186,7 +186,7 @@ C
       RETURN
 
   140 CONTINUE
-  150 IF (which.EQ.4) GO TO 170
+  150 IF (which.EQ.2) GO TO 160
 C
 C     X