|
From: <de...@us...> - 2012-03-24 02:30:08
|
Revision: 7011
http://fudaa.svn.sourceforge.net/fudaa/?rev=7011&view=rev
Author: deniger
Date: 2012-03-24 02:30:02 +0000 (Sat, 24 Mar 2012)
Log Message:
-----------
[maven-release-plugin] prepare for next development iteration
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
trunk/business/fudaa-ef/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2012-03-24 02:29:51 UTC (rev 7010)
+++ trunk/business/fudaa-ef/core/pom.xml 2012-03-24 02:30:02 UTC (rev 7011)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.2</version>
+ <version>1.3-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-core</artifactId>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2012-03-24 02:29:51 UTC (rev 7010)
+++ trunk/business/fudaa-ef/io/pom.xml 2012-03-24 02:30:02 UTC (rev 7011)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.2</version>
+ <version>1.3-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-io</artifactId>
Modified: trunk/business/fudaa-ef/pom.xml
===================================================================
--- trunk/business/fudaa-ef/pom.xml 2012-03-24 02:29:51 UTC (rev 7010)
+++ trunk/business/fudaa-ef/pom.xml 2012-03-24 02:30:02 UTC (rev 7011)
@@ -16,7 +16,7 @@
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.2</version>
+ <version>1.3-SNAPSHOT</version>
<name>Fudaa-Ef Elements finis</name>
<packaging>pom</packaging>
<modules>
@@ -54,10 +54,4 @@
</dependency>
</dependencies>
</dependencyManagement>
-
- <scm>
- <connection>scm:svn:http://fudaa.svn.sourceforge.net/svnroot/fudaa/tags/business/fudaa-ef-1.2</connection>
- <developerConnection>scm:svn:https://fudaa.svn.sourceforge.net/svnroot/fudaa/tags/business/fudaa-ef-1.2</developerConnection>
- <url>http://fudaa.svn.sourceforge.net/viewvc/fudaa/svnroot/fudaa/tags/business/fudaa-ef-1.2</url>
- </scm>
</project>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2012-03-24 02:37:17
|
Revision: 7012
http://fudaa.svn.sourceforge.net/fudaa/?rev=7012&view=rev
Author: deniger
Date: 2012-03-24 02:37:10 +0000 (Sat, 24 Mar 2012)
Log Message:
-----------
[maven-release-plugin] rollback the release of fudaa-ef-1.2
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
trunk/business/fudaa-ef/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2012-03-24 02:30:02 UTC (rev 7011)
+++ trunk/business/fudaa-ef/core/pom.xml 2012-03-24 02:37:10 UTC (rev 7012)
@@ -1,58 +1,58 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.fudaa.business.fudaa-ef</groupId>
- <artifactId>fudaa-ef</artifactId>
- <version>1.3-SNAPSHOT</version>
- </parent>
- <groupId>org.fudaa.business.fudaa-ef</groupId>
- <artifactId>ef-core</artifactId>
- <name>EF Core</name>
- <dependencies>
- <dependency>
- <groupId>${ctuluGroupId}</groupId>
- <artifactId>ctulu-gis</artifactId>
- </dependency>
- <dependency>
- <groupId>${dodicoGroupId}</groupId>
- <artifactId>dodico-common</artifactId>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <pluginManagement>
- <plugins>
- <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <versionRange>[1.3,)</versionRange>
- <goals>
- <goal>run</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.fudaa.business.fudaa-ef</groupId>
+ <artifactId>fudaa-ef</artifactId>
+ <version>1.2-SNAPSHOT</version>
+ </parent>
+ <groupId>org.fudaa.business.fudaa-ef</groupId>
+ <artifactId>ef-core</artifactId>
+ <name>EF Core</name>
+ <dependencies>
+ <dependency>
+ <groupId>${ctuluGroupId}</groupId>
+ <artifactId>ctulu-gis</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>${dodicoGroupId}</groupId>
+ <artifactId>dodico-common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <versionRange>[1.3,)</versionRange>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2012-03-24 02:30:02 UTC (rev 7011)
+++ trunk/business/fudaa-ef/io/pom.xml 2012-03-24 02:37:10 UTC (rev 7012)
@@ -1,64 +1,64 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.fudaa.business.fudaa-ef</groupId>
- <artifactId>fudaa-ef</artifactId>
- <version>1.3-SNAPSHOT</version>
- </parent>
- <groupId>org.fudaa.business.fudaa-ef</groupId>
- <artifactId>ef-io</artifactId>
- <name>EF Input/Output</name>
- <dependencies>
- <dependency>
- <groupId>org.fudaa.business.fudaa-ef</groupId>
- <artifactId>ef-core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId>
- <artifactId>dico-ui</artifactId>
- </dependency>
- <dependency>
- <groupId>org.fudaa.framework.dodico</groupId>
- <artifactId>dodico-common</artifactId>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
- <build>
- <pluginManagement>
- <plugins>
- <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <versionRange>[1.3,)</versionRange>
- <goals>
- <goal>run</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
- </build>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.fudaa.business.fudaa-ef</groupId>
+ <artifactId>fudaa-ef</artifactId>
+ <version>1.2-SNAPSHOT</version>
+ </parent>
+ <groupId>org.fudaa.business.fudaa-ef</groupId>
+ <artifactId>ef-io</artifactId>
+ <name>EF Input/Output</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.fudaa.business.fudaa-ef</groupId>
+ <artifactId>ef-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.fudaa.framework.fudaa.fudaa-dico</groupId>
+ <artifactId>dico-ui</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.fudaa.framework.dodico</groupId>
+ <artifactId>dodico-common</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <pluginManagement>
+ <plugins>
+ <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
+ <plugin>
+ <groupId>org.eclipse.m2e</groupId>
+ <artifactId>lifecycle-mapping</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <lifecycleMappingMetadata>
+ <pluginExecutions>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <versionRange>[1.3,)</versionRange>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore></ignore>
+ </action>
+ </pluginExecution>
+ </pluginExecutions>
+ </lifecycleMappingMetadata>
+ </configuration>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ </build>
+</project>
Modified: trunk/business/fudaa-ef/pom.xml
===================================================================
--- trunk/business/fudaa-ef/pom.xml 2012-03-24 02:30:02 UTC (rev 7011)
+++ trunk/business/fudaa-ef/pom.xml 2012-03-24 02:37:10 UTC (rev 7012)
@@ -1,57 +1,57 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <properties>
- <fudaa-framework.version>1.2</fudaa-framework.version>
- <projetEncoding>ISO-8859-15</projetEncoding>
- <!-- la version du compiler -->
- <javaCompiler>1.6</javaCompiler>
- </properties>
-
- <parent>
- <groupId>org.fudaa.pom</groupId>
- <artifactId>business-pom</artifactId>
- <version>1.2</version>
- </parent>
- <groupId>org.fudaa.business.fudaa-ef</groupId>
- <artifactId>fudaa-ef</artifactId>
- <version>1.3-SNAPSHOT</version>
- <name>Fudaa-Ef Elements finis</name>
- <packaging>pom</packaging>
- <modules>
- <module>io</module>
- <module>core</module>
- <!--
- <module>client</module> a decommenter des que dependences résolues
- -->
- </modules>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.fudaa.framework</groupId>
- <artifactId>fudaa-framework</artifactId>
- <version>${fudaa-framework.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.fudaa.business.fudaa-ef</groupId>
- <artifactId>ef-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.fudaa.business.fudaa-ef</groupId>
- <artifactId>ef-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.fudaa.business.fudaa-ef</groupId>
- <artifactId>ef-io</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
- </dependencyManagement>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <properties>
+ <fudaa-framework.version>1.2</fudaa-framework.version>
+ <projetEncoding>ISO-8859-15</projetEncoding>
+ <!-- la version du compiler -->
+ <javaCompiler>1.6</javaCompiler>
+ </properties>
+
+ <parent>
+ <groupId>org.fudaa.pom</groupId>
+ <artifactId>business-pom</artifactId>
+ <version>1.2</version>
+ </parent>
+ <groupId>org.fudaa.business.fudaa-ef</groupId>
+ <artifactId>fudaa-ef</artifactId>
+ <version>1.2-SNAPSHOT</version>
+ <name>Fudaa-Ef Elements finis</name>
+ <packaging>pom</packaging>
+ <modules>
+ <module>io</module>
+ <module>core</module>
+ <!--
+ <module>client</module> a decommenter des que dependences résolues
+ -->
+ </modules>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.fudaa.framework</groupId>
+ <artifactId>fudaa-framework</artifactId>
+ <version>${fudaa-framework.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.fudaa.business.fudaa-ef</groupId>
+ <artifactId>ef-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.fudaa.business.fudaa-ef</groupId>
+ <artifactId>ef-core</artifactId>
+ <version>${project.version}</version>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.fudaa.business.fudaa-ef</groupId>
+ <artifactId>ef-io</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2012-03-24 02:39:22
|
Revision: 7013
http://fudaa.svn.sourceforge.net/fudaa/?rev=7013&view=rev
Author: deniger
Date: 2012-03-24 02:39:16 +0000 (Sat, 24 Mar 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
trunk/business/fudaa-ef/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2012-03-24 02:37:10 UTC (rev 7012)
+++ trunk/business/fudaa-ef/core/pom.xml 2012-03-24 02:39:16 UTC (rev 7013)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.2-SNAPSHOT</version>
+ <version>1.2</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-core</artifactId>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2012-03-24 02:37:10 UTC (rev 7012)
+++ trunk/business/fudaa-ef/io/pom.xml 2012-03-24 02:39:16 UTC (rev 7013)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.2-SNAPSHOT</version>
+ <version>1.2</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-io</artifactId>
Modified: trunk/business/fudaa-ef/pom.xml
===================================================================
--- trunk/business/fudaa-ef/pom.xml 2012-03-24 02:37:10 UTC (rev 7012)
+++ trunk/business/fudaa-ef/pom.xml 2012-03-24 02:39:16 UTC (rev 7013)
@@ -16,7 +16,7 @@
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.2-SNAPSHOT</version>
+ <version>1.2</version>
<name>Fudaa-Ef Elements finis</name>
<packaging>pom</packaging>
<modules>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2012-03-24 02:42:38
|
Revision: 7014
http://fudaa.svn.sourceforge.net/fudaa/?rev=7014&view=rev
Author: deniger
Date: 2012-03-24 02:42:31 +0000 (Sat, 24 Mar 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
trunk/business/fudaa-ef/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2012-03-24 02:39:16 UTC (rev 7013)
+++ trunk/business/fudaa-ef/core/pom.xml 2012-03-24 02:42:31 UTC (rev 7014)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.2</version>
+ <version>1.3-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-core</artifactId>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2012-03-24 02:39:16 UTC (rev 7013)
+++ trunk/business/fudaa-ef/io/pom.xml 2012-03-24 02:42:31 UTC (rev 7014)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.2</version>
+ <version>1.3-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-io</artifactId>
Modified: trunk/business/fudaa-ef/pom.xml
===================================================================
--- trunk/business/fudaa-ef/pom.xml 2012-03-24 02:39:16 UTC (rev 7013)
+++ trunk/business/fudaa-ef/pom.xml 2012-03-24 02:42:31 UTC (rev 7014)
@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<properties>
- <fudaa-framework.version>1.2</fudaa-framework.version>
+ <fudaa-framework.version>1.3-SNAPSHOT</fudaa-framework.version>
<projetEncoding>ISO-8859-15</projetEncoding>
<!-- la version du compiler -->
<javaCompiler>1.6</javaCompiler>
@@ -16,7 +16,7 @@
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.2</version>
+ <version>1.3-SNAPSHOT</version>
<name>Fudaa-Ef Elements finis</name>
<packaging>pom</packaging>
<modules>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2012-05-10 22:27:08
|
Revision: 7186
http://fudaa.svn.sourceforge.net/fudaa/?rev=7186&view=rev
Author: deniger
Date: 2012-05-10 22:27:01 +0000 (Thu, 10 May 2012)
Log Message:
-----------
maj
Modified Paths:
--------------
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfFrontierInterface.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfNeighborMesh.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfRemoveFilter.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfFrontier.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/olb/exec/OLBExec.java
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfFrontierInterface.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfFrontierInterface.java 2012-05-10 21:16:56 UTC (rev 7185)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfFrontierInterface.java 2012-05-10 22:27:01 UTC (rev 7186)
@@ -57,7 +57,7 @@
int getFrontiereIndice(final int _idxFr, final int _idxOnFr);
int getFrontiereIndice(final int _idxGlob);
-
+
double[] getAbsCurviligne(final EfGridInterface _grid, final int _frIdx, final int _firstIdxOnFr, final int _nb);
GISPolygone[] getExternRing(final EfGridInterface _grid);
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfNeighborMesh.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfNeighborMesh.java 2012-05-10 21:16:56 UTC (rev 7185)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfNeighborMesh.java 2012-05-10 22:27:01 UTC (rev 7186)
@@ -15,7 +15,6 @@
import gnu.trove.TIntArrayList;
import gnu.trove.TIntHashSet;
-import gnu.trove.TIntIterator;
import org.fudaa.ctulu.CtuluVariable;
import org.fudaa.ctulu.ProgressionInterface;
@@ -108,7 +107,7 @@
return getAverageForVect(_var, _idxPt, _dataElement, new EfGridDataInterpolationValuesAdapter(_datas, _tIdx), _vects);
}
- private EfDataNode getDataNodeSimple(final CtuluCollectionDouble _data) {
+ public EfDataNode getDataNodeSimple(final CtuluCollectionDouble _data) {
final double[] res = new double[getNumberOfPoints()];
for (int i = res.length - 1; i >= 0; i--) {
res[i] = getAverageForNodeDanger(i, _data);
@@ -221,7 +220,7 @@
public EfDataNode getDataNode(final CtuluVariable _var, final CtuluCollectionDouble _data, InterpolationSupportValuesMultiI _datas,
InterpolationVectorContainer _vects) {
- if (_vects.isVect(_var)) {
+ if (_vects!=null && _vects.isVect(_var)) {
return getDataNodeVecteur(_var, _data, _datas, _vects);
}
return getDataNodeSimple(_data);
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfRemoveFilter.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfRemoveFilter.java 2012-05-10 21:16:56 UTC (rev 7185)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfRemoveFilter.java 2012-05-10 22:27:01 UTC (rev 7186)
@@ -7,12 +7,15 @@
import com.memoire.fu.FuSortint;
import com.memoire.fu.FuSortint.Comparator;
+import gnu.trove.TIntIntHashMap;
// TODO Trouver un autre nom (EfFilterValidator).
// TODO Pour l'instant le filtre contient les \xE9l\xE9ments a supprimer. G\xE9rer les filtre qui contiennent les \xE9l\xE9ment \xE0
// garder.
public class EfRemoveFilter {
+
private class ElementsIdxComparator implements Comparator {
+
private EfGridInterface grid;
private EfFrontierInterface frontiers;
@@ -39,7 +42,9 @@
int[] idxs = this.grid.getElement(eltIdx).getIndices();
for (int i = 0; i < idxs.length; i++) {
- if (this.frontiers.isFrontierPoint(idxs[i])) { return true; }
+ if (this.frontiers.isFrontierPoint(idxs[i])) {
+ return true;
+ }
}
return false;
@@ -74,16 +79,18 @@
private int compareValue(int a, int b) {
if (a < b) {
return -1;
- } else if (a > b) { return 1; }
+ } else if (a > b) {
+ return 1;
+ }
return 0;
}
}
-
private EfFilter filter;
private EfGridInterface grid;
private TIntArrayList eltsToRemove;
private TIntArrayList selectedElts;
+ private TIntHashSet selectedEltsSet;
private TIntHashSet eltsInProcess;
private boolean isSelectFilter;
private boolean filterModified;
@@ -111,9 +118,9 @@
EfNeighborMesh neighborMesh = EfNeighborMesh.compute(this.grid, null);
this.sortEltsToRemove();
-
+ TIntIntHashMap frontierIndiceByGlobalIdx = buildFrontierIndiceByGlobalIdx(frontiers);
for (int i = 0; i < this.eltsToRemove.size(); i++) {
- this.selectElement(this.eltsToRemove.get(i), frontiers, neighborMesh);
+ this.selectElement(this.eltsToRemove.get(i), frontiers, neighborMesh, frontierIndiceByGlobalIdx);
}
this.filterModified = (this.eltsToRemove.size() != this.selectedElts.size());
@@ -124,9 +131,9 @@
public void setFilter(EfFilter filter) {
this.filter = filter;
}
-
- public int getNbElementNotRemoved(){
- return this.eltsToRemove.size() -this.selectedElts.size();
+
+ public int getNbElementNotRemoved() {
+ return this.eltsToRemove.size() - this.selectedElts.size();
}
public void setGrid(EfGridInterface grid) {
@@ -144,11 +151,14 @@
this.isSelectFilter = isSelectFilter;
}
- private boolean selectElement(int eltIdx, EfFrontierInterface frontiers, EfNeighborMesh neighborMesh) {
- if (this.isSelectedElement(eltIdx)) { return true; }
+ private boolean selectElement(int eltIdx, EfFrontierInterface frontiers, EfNeighborMesh neighborMesh,
+ TIntIntHashMap frontierIndiceByGlobalIdx) {
+ if (this.isSelectedElement(eltIdx)) {
+ return true;
+ }
int[] eltPtIdxs = this.grid.getElement(eltIdx).getIndices();
- TIntArrayList problematicPts = this.getProblematicPtsIdx(eltPtIdxs, frontiers, neighborMesh);
+ TIntArrayList problematicPts = this.getProblematicPtsIdx(eltPtIdxs, frontiers, neighborMesh, frontierIndiceByGlobalIdx);
boolean selectElement = true;
this.eltsInProcess.add(eltIdx);
@@ -156,14 +166,14 @@
for (int i = 0; i < problematicPts.size(); i++) {
int ptIdx = problematicPts.get(i);
int[] adjacentPtsIdx = this.getAdjacentPtsIdx(eltPtIdxs, ptIdx);
- int neighborElts[] = new int[] { neighborMesh.getAdjacentMeshes(ptIdx, adjacentPtsIdx[0], eltIdx),
- neighborMesh.getAdjacentMeshes(ptIdx, adjacentPtsIdx[1], eltIdx) };
+ int neighborElts[] = new int[]{neighborMesh.getAdjacentMeshes(ptIdx, adjacentPtsIdx[0], eltIdx),
+ neighborMesh.getAdjacentMeshes(ptIdx, adjacentPtsIdx[1], eltIdx)};
selectElement = false;
for (int j = 0; j < neighborElts.length; j++) {
if ((neighborElts[j] != -1) && (this.eltsToRemove.contains(neighborElts[j]))) {
- if (this.selectElement(neighborElts[j], frontiers, neighborMesh)) {
+ if (this.selectElement(neighborElts[j], frontiers, neighborMesh, frontierIndiceByGlobalIdx)) {
selectElement = true;
break;
@@ -189,28 +199,31 @@
int nbPts = eltPtIdxs.length;
for (int i = 0; i < eltPtIdxs.length; i++) {
- if (eltPtIdxs[i] == ptIdx) { return new int[] { eltPtIdxs[this.getPreviousIdx(nbPts, i)],
- eltPtIdxs[this.getNextIdx(nbPts, i)] }; }
+ if (eltPtIdxs[i] == ptIdx) {
+ return new int[]{eltPtIdxs[this.getPreviousIdx(nbPts, i)],
+ eltPtIdxs[this.getNextIdx(nbPts, i)]};
+ }
}
return null;
}
- private TIntArrayList getProblematicPtsIdx(int[] eltPtIdxs, EfFrontierInterface frontiers, EfNeighborMesh neighborMesh) {
+ private TIntArrayList getProblematicPtsIdx(int[] eltPtIdxs, EfFrontierInterface frontiers, EfNeighborMesh neighborMesh,
+ TIntIntHashMap frontierIndiceByGlobalIdx) {
TIntArrayList problematicPtsIdx = new TIntArrayList();
int nbPts = eltPtIdxs.length;
-
for (int i = 0; i < nbPts; i++) {
int previousIdx = this.getPreviousIdx(nbPts, i);
int nextIdx = this.getNextIdx(nbPts, i);
- if (this.isFrontierProblematicPt(eltPtIdxs[i], eltPtIdxs[previousIdx], eltPtIdxs[nextIdx], frontiers)) {
+ if (this.isFrontierProblematicPt(eltPtIdxs[i], eltPtIdxs[previousIdx], eltPtIdxs[nextIdx], frontiers,
+ frontierIndiceByGlobalIdx)) {
problematicPtsIdx.add(eltPtIdxs[i]);
continue;
}
- if (this.isSelectedEltsProblematicPt(eltPtIdxs[i], eltPtIdxs[previousIdx], eltPtIdxs[nextIdx])) {
+ if (this.isSelectedEltsProblematicPt(eltPtIdxs[i], eltPtIdxs[previousIdx], eltPtIdxs[nextIdx], neighborMesh)) {
problematicPtsIdx.add(eltPtIdxs[i]);
continue;
@@ -220,16 +233,31 @@
return problematicPtsIdx;
}
- private boolean isFrontierProblematicPt(int ptIdx, int previousPtIdx, int nextPtIdx, EfFrontierInterface frontiers) {
+ private TIntIntHashMap buildFrontierIndiceByGlobalIdx(EfFrontierInterface frontiers) {
+ TIntIntHashMap frontierIndiceByGlobalIdx = new TIntIntHashMap();
+ AllFrontierIteratorInterface allFrontierIterator = frontiers.getAllFrontierIterator();
+ while (allFrontierIterator.hasNext()) {
+ int globalIdx = allFrontierIterator.next();
+ frontierIndiceByGlobalIdx.put(globalIdx, allFrontierIterator.getBordIDx());
+ }
+ return frontierIndiceByGlobalIdx;
+ }
+
+ private boolean isFrontierProblematicPt(int ptIdx, int previousPtIdx, int nextPtIdx, EfFrontierInterface frontiers,
+ TIntIntHashMap frontierIndiceByGlobalIdx) {
if (frontiers.isFrontierPoint(ptIdx)) {
- int frtIdx = frontiers.getFrontiereIndice(ptIdx);
+ int frtIdx = frontierIndiceByGlobalIdx.get(ptIdx);
if (frontiers.isFrontierPoint(previousPtIdx)) {
- if (frtIdx == frontiers.getFrontiereIndice(previousPtIdx)) { return false; }
+ if (frtIdx == frontierIndiceByGlobalIdx.get(previousPtIdx)) {
+ return false;
+ }
}
if (frontiers.isFrontierPoint(nextPtIdx)) {
- if (frtIdx == frontiers.getFrontiereIndice(nextPtIdx)) { return false; }
+ if (frtIdx == frontierIndiceByGlobalIdx.get(nextPtIdx)) {
+ return false;
+ }
}
return true;
@@ -238,12 +266,19 @@
return false;
}
- private boolean isSelectedEltsProblematicPt(int ptIdx, int previousPtIdx, int nextPtIdx) {
- for (int i = 0; i < this.selectedElts.size(); i++) {
- EfElement element = this.grid.getElement(this.selectedElts.get(i));
-
- if (element.containsIndex(ptIdx)) {
- if ((!element.containsIndex(previousPtIdx)) && (!element.containsIndex(nextPtIdx))) { return true; }
+ private boolean isSelectedEltsProblematicPt(int ptIdx, int previousPtIdx, int nextPtIdx, EfNeighborMesh neighbor) {
+ int nbNeighborMeshes = neighbor.getNbNeighborMeshes(ptIdx);
+ if (selectedEltsSet == null) {
+ selectedEltsSet = new TIntHashSet();
+ selectedEltsSet.addAll(selectedElts.toNativeArray());
+ }
+ for (int i = 0; i < nbNeighborMeshes; i++) {
+ int idxElt = neighbor.getNeighborMesh(ptIdx, i);
+ if (selectedEltsSet.contains(idxElt)) {
+ EfElement element = this.grid.getElement(idxElt);
+ if ((!element.containsIndex(previousPtIdx)) && (!element.containsIndex(nextPtIdx))) {
+ return true;
+ }
}
}
@@ -300,156 +335,151 @@
/*
* public EfFilter process() { this.filterElements = new CtuluListSelection(); this.selectableElements = new
* CtuluListSelection(); this.degenerateElements = new TIntObjectHashMap<TIntArrayList>();
- *
- * EfFrontierInterface frontiers = this.grid.getFrontiers(); EfNeighborMesh neighborMesh =
- * EfNeighborMesh.compute(this.grid, null);
- *
+ *
+ * EfFrontierInterface frontiers = this.grid.getFrontiers(); EfNeighborMesh neighborMesh = EfNeighborMesh.compute(this.grid,
+ * null);
+ *
* // Selection des \xE9l\xE9ments et traitment des \xE9l\xE9ments fronti\xE8res for (int i = 0; i < this.grid.getEltNb(); i++) { if
* (this.filter.isActivatedElt(i)) { EfElement element = this.grid.getElement(i); TIntArrayList[] frontiersPts = new
* TIntArrayList[frontiers.getNbFrontier()];
- *
- * if (this.hasFrontierPts(element, frontiers, frontiersPts)) { TIntArrayList problematicPts =
- * this.getProblematicPts(element, frontiers, frontiersPts);
- *
- * if (problematicPts.isEmpty()) { this.selectableElements.add(i); } else { this.degenerateElements.put(i,
- * problematicPts); } } else { this.filterElements.add(i); } } }
- *
- * //Taitement des \xE9l\xE9ments d\xE9g\xE9n\xE9r\xE9s. TIntObjectIterator<TIntArrayList> iterator =
- * this.degenerateElements.iterator();
- *
+ *
+ * if (this.hasFrontierPts(element, frontiers, frontiersPts)) { TIntArrayList problematicPts = this.getProblematicPts(element,
+ * frontiers, frontiersPts);
+ *
+ * if (problematicPts.isEmpty()) { this.selectableElements.add(i); } else { this.degenerateElements.put(i, problematicPts); } }
+ * else { this.filterElements.add(i); } } }
+ *
+ * //Taitement des \xE9l\xE9ments d\xE9g\xE9n\xE9r\xE9s. TIntObjectIterator<TIntArrayList> iterator = this.degenerateElements.iterator();
+ *
* while (iterator.hasNext()) { if (!this.isSelectedElement(iterator.key())) {
- *
+ *
* } }
- *
+ *
* this.degenerateElements.clear();
- *
+ *
* return new EfFilterSelectedElement(this.selectableElements, this.grid); }
- *
+ *
* private boolean isSelectedElement(int elementIdx) { return this.selectableElements.isSelected(elementIdx) ||
* this.elementsInProcess.isSelected(elementIdx); }
- *
- * private boolean hasFrontierPts(EfElement element, EfFrontierInterface frontiers, TIntArrayList[] frontiersPts) {
- * int[] idxs = element.getIndices(); boolean hasFrtPts = false;
- *
+ *
+ * private boolean hasFrontierPts(EfElement element, EfFrontierInterface frontiers, TIntArrayList[] frontiersPts) { int[] idxs =
+ * element.getIndices(); boolean hasFrtPts = false;
+ *
* for (int i = 0; i < idxs.length; i++) { if (frontiers.isFrontierPoint(idxs[i])) { int frtIdx =
* frontiers.getFrontiereIndice(idxs[i]);
- *
+ *
* if (frontiersPts[frtIdx] == null) { frontiersPts[frtIdx] = new TIntArrayList(); }
- *
+ *
* frontiersPts[frtIdx].add(idxs[i]);
- *
+ *
* hasFrtPts = true; } }
- *
+ *
* return hasFrtPts; }
- *
- * private TIntArrayList getProblematicPts(EfElement element, EfFrontierInterface frontiers, TIntArrayList[]
- * frontiersPts) { int[] idxs = element.getIndices(); int nbPts = idxs.length; TIntArrayList problematicPts = new
- * TIntArrayList();
- *
- * for (int i = 0; i < frontiersPts.length; i++) { if (frontiersPts[i] != null) { // Jamais \xE9gal \xE0 0 (si \xE9gal 0,
- * frontiersPts[i] \xE9gal null, voir hasFrontierPts) if (frontiersPts[i].size() == 1) {
- * problematicPts.add(frontiersPts[i].get(0));
- *
+ *
+ * private TIntArrayList getProblematicPts(EfElement element, EfFrontierInterface frontiers, TIntArrayList[] frontiersPts) {
+ * int[] idxs = element.getIndices(); int nbPts = idxs.length; TIntArrayList problematicPts = new TIntArrayList();
+ *
+ * for (int i = 0; i < frontiersPts.length; i++) { if (frontiersPts[i] != null) { // Jamais \xE9gal \xE0 0 (si \xE9gal 0, frontiersPts[i]
+ * \xE9gal null, voir hasFrontierPts) if (frontiersPts[i].size() == 1) { problematicPts.add(frontiersPts[i].get(0));
+ *
* continue; }
- *
+ *
* for (int j = 0; j < nbPts; j++) { if (frontiersPts[i].contains(idxs[j])) { if
- * ((!frontiersPts[i].contains(idxs[this.getPreviousIdx(nbPts, j)])) &&
- * (!frontiersPts[i].contains(idxs[this.getNextIdx(nbPts, j)]))) { problematicPts.add(idxs[j]); } } } } }
- *
+ * ((!frontiersPts[i].contains(idxs[this.getPreviousIdx(nbPts, j)])) && (!frontiersPts[i].contains(idxs[this.getNextIdx(nbPts,
+ * j)]))) { problematicPts.add(idxs[j]); } } } } }
+ *
* return problematicPts; }
- *
- * private boolean hasSelectedNeighbor(int elementIdx, TIntArrayList[] frontiersPts, EfNeighborMesh neighborMesh) {
- * int[] neighborIdxs = neighborMesh.getAdjacentMeshesFromElt(this.grid, elementIdx); EfElement[] neighbors = new
+ *
+ * private boolean hasSelectedNeighbor(int elementIdx, TIntArrayList[] frontiersPts, EfNeighborMesh neighborMesh) { int[]
+ * neighborIdxs = neighborMesh.getAdjacentMeshesFromElt(this.grid, elementIdx); EfElement[] neighbors = new
* EfElement[neighborIdxs.length];
- *
+ *
* for (int i = 0; i < neighborIdxs.length; i++) { neighbors[i] = this.grid.getElement(neighborIdxs[i]); }
- *
- * for (int i = 0; i < frontiersPts.length; i++) { if (frontiersPts[i] != null) { for (int j = 0; j <
- * frontiersPts[i].size(); j++) { boolean hasSelectedNeighbor = false;
- *
+ *
+ * for (int i = 0; i < frontiersPts.length; i++) { if (frontiersPts[i] != null) { for (int j = 0; j < frontiersPts[i].size();
+ * j++) { boolean hasSelectedNeighbor = false;
+ *
* for (int k = 0; k < neighbors.length; k++) { if (neighbors[k].containsIndex(frontiersPts[i].get(j))) { if
* (this.selectElement(neighborIdxs[k], frontiers, neighborMesh)) { hasSelectedNeighbor = true;
- *
+ *
* break; } } }
- *
+ *
* if (!hasSelectedNeighbor) { return false; } } } }
- *
+ *
* return false; }
- *
+ *
* private int getPreviousIdx(int nbPts, int idx) { if (idx == 0) { return nbPts - 1; } else { return idx - 1; } }
- *
- * private int getNextIdx(int nbPts, int idx) { if (idx == (nbPts - 1)) { return 0; } else { return idx + 1; } } /*
- * public EfFilter process() { this.selectableElements = new CtuluListSelection(); this.unselectableElements = new
+ *
+ * private int getNextIdx(int nbPts, int idx) { if (idx == (nbPts - 1)) { return 0; } else { return idx + 1; } } /* public
+ * EfFilter process() { this.selectableElements = new CtuluListSelection(); this.unselectableElements = new
* CtuluListSelection();
- *
- * EfFrontierInterface frontiers = this.grid.getFrontiers(); EfNeighborMesh neighborMesh =
- * EfNeighborMesh.compute(this.grid, null);
- *
+ *
+ * EfFrontierInterface frontiers = this.grid.getFrontiers(); EfNeighborMesh neighborMesh = EfNeighborMesh.compute(this.grid,
+ * null);
+ *
* for (int i = 0; i < this.grid.getEltNb(); i++) { this.selectElement(i, frontiers, neighborMesh); }
- *
+ *
* return new EfFilterSelectedElement(this.selectableElements, this.grid); }
- *
+ *
* private boolean selectElement(int elementIdx, EfFrontierInterface frontiers, EfNeighborMesh neighborMesh) { if
* ((!this.filter.isActivatedElt(elementIdx)) || (this.unselectableElements.isSelected(elementIdx))) { return false; }
- *
+ *
* if (this.selectableElements.isSelected(elementIdx)) { return true; }
- *
+ *
* EfElement element = this.grid.getElement(elementIdx); TIntArrayList[] frontiersPts = new
- * TIntArrayList[frontiers.getNbFrontier()]; boolean canSelectElt = !this.hasFrontierPts(element, frontiers,
- * frontiersPts);
- *
+ * TIntArrayList[frontiers.getNbFrontier()]; boolean canSelectElt = !this.hasFrontierPts(element, frontiers, frontiersPts);
+ *
* if (!canSelectElt) { canSelectElt = this.hasOnlyFrontierSegment(element, frontiers, frontiersPts); }
- *
- * if (!canSelectElt) { // On le met dans cette liste pour ne pas qu'il soit retest\xE9 par ses voisins (risque de
- * StackOverflow). this.unselectableElements.add(elementIdx);
- *
+ *
+ * if (!canSelectElt) { // On le met dans cette liste pour ne pas qu'il soit retest\xE9 par ses voisins (risque de StackOverflow).
+ * this.unselectableElements.add(elementIdx);
+ *
* canSelectElt = this.hasSelectedNeighbor(elementIdx, frontiers, frontiersPts, neighborMesh); }
- *
+ *
* if (canSelectElt) { this.unselectableElements.remove(elementIdx); this.selectableElements.add(elementIdx); } else {
* this.unselectableElements.add(elementIdx); }
- *
+ *
* return canSelectElt; }
- *
- * private boolean hasOnlyFrontierSegment(EfElement element, EfFrontierInterface frontiers, TIntArrayList[]
- * frontiersPts) { int[] idxs = element.getIndices(); int nbPts = idxs.length; boolean hasOnlyFrtSeg = true;
- *
- * for (int i = 0; i < frontiersPts.length; i++) { if (frontiersPts[i] != null) { if (frontiersPts[i].size() < 2) {
- * return false; }
- *
+ *
+ * private boolean hasOnlyFrontierSegment(EfElement element, EfFrontierInterface frontiers, TIntArrayList[] frontiersPts) {
+ * int[] idxs = element.getIndices(); int nbPts = idxs.length; boolean hasOnlyFrtSeg = true;
+ *
+ * for (int i = 0; i < frontiersPts.length; i++) { if (frontiersPts[i] != null) { if (frontiersPts[i].size() < 2) { return
+ * false; }
+ *
* TIntArrayList ptsToRemove = new TIntArrayList();
- *
+ *
* for (int j = 0; j < nbPts; j++) { if (frontiersPts[i].contains(idxs[j])) { if
- * ((!frontiersPts[i].contains(idxs[this.getPreviousIdx(nbPts, j)])) &&
- * (!frontiersPts[i].contains(idxs[this.getNextIdx(nbPts, j)]))) { hasOnlyFrtSeg = false; } else {
- * ptsToRemove.add(idxs[j]); } } }
- *
+ * ((!frontiersPts[i].contains(idxs[this.getPreviousIdx(nbPts, j)])) && (!frontiersPts[i].contains(idxs[this.getNextIdx(nbPts,
+ * j)]))) { hasOnlyFrtSeg = false; } else { ptsToRemove.add(idxs[j]); } } }
+ *
* // On enl\xE8ve le points faisant partie de segment fronti\xE8re ppour garder ceux qui pose probl\xE8me. for (int j = 0; j <
* ptsToRemove.size(); j++) { frontiersPts[i].remove(frontiersPts[i].indexOf(ptsToRemove.get(j))); }
- *
+ *
* if (frontiersPts[i].size() == 0) { frontiersPts[i] = null; } } }
- *
+ *
* return hasOnlyFrtSeg; }
- *
+ *
* private boolean hasSelectedNeighbor(int elementIdx, EfFrontierInterface frontiers, TIntArrayList[] frontiersPts,
- * EfNeighborMesh neighborMesh) { int[] neighborIdxs = neighborMesh.getAdjacentMeshesFromElt(this.grid, elementIdx);
- * EfElement[] neighbors = new EfElement[neighborIdxs.length];
- *
+ * EfNeighborMesh neighborMesh) { int[] neighborIdxs = neighborMesh.getAdjacentMeshesFromElt(this.grid, elementIdx); EfElement[]
+ * neighbors = new EfElement[neighborIdxs.length];
+ *
* for (int i = 0; i < neighborIdxs.length; i++) { neighbors[i] = this.grid.getElement(neighborIdxs[i]); }
- *
- * for (int i = 0; i < frontiersPts.length; i++) { if (frontiersPts[i] != null) { for (int j = 0; j <
- * frontiersPts[i].size(); j++) { boolean hasSelectedNeighbor = false;
- *
+ *
+ * for (int i = 0; i < frontiersPts.length; i++) { if (frontiersPts[i] != null) { for (int j = 0; j < frontiersPts[i].size();
+ * j++) { boolean hasSelectedNeighbor = false;
+ *
* for (int k = 0; k < neighbors.length; k++) { if (neighbors[k].containsIndex(frontiersPts[i].get(j))) { if
* (this.selectElement(neighborIdxs[k], frontiers, neighborMesh)) { hasSelectedNeighbor = true;
- *
+ *
* break; } } }
- *
+ *
* if (!hasSelectedNeighbor) { return false; } } } }
- *
+ *
* return false; }
- *
+ *
* private int getPreviousIdx(int nbPts, int idx) { if (idx == 0) { return nbPts - 1; } else { return idx - 1; } }
- *
+ *
* private int getNextIdx(int nbPts, int idx) { if (idx == (nbPts - 1)) { return 0; } else { return idx + 1; } }
*/
}
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfFrontier.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfFrontier.java 2012-05-10 21:16:56 UTC (rev 7185)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfFrontier.java 2012-05-10 22:27:01 UTC (rev 7186)
@@ -1,9 +1,6 @@
/**
- * @creation 30 juin 2003
- * @modification $Date: 2007-01-19 13:07:20 $
- * @license GNU General Public License 2
- * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
- * @mail de...@fu...
+ * @creation 30 juin 2003 @modification $Date: 2007-01-19 13:07:20 $ @license GNU General Public License 2 @copyright (c)1998-2001
+ * CETMEF 2 bd Gambetta F-60231 Compiegne @mail de...@fu...
*/
package org.fudaa.dodico.ef.impl;
@@ -37,7 +34,7 @@
/**
* Les frontieres d'un maillage (plusieurs tableaux d'entier).
- *
+ *
* @author deniger
* @version $Id: EfFrontier.java,v 1.1 2007-01-19 13:07:20 deniger Exp $
*/
@@ -46,10 +43,9 @@
public GISPolygone getSavedLinearRing(int _idxFr) {
return ring_ == null ? null : ring_[_idxFr];
}
-
protected int[][] bords_;
-
GISPolygone[] ring_;
+ BitSet globalIdxInFrontier;
/**
* @param _l les tableaux d'entiers decrivant les frontiere
@@ -91,17 +87,19 @@
}
for (int i = bords_.length - 1; i >= 0; i--) {
for (int j = _fr.getNbPt(i) - 1; j >= 0; j--) {
- if (_fr.getIdxGlobal(i, j) != getIdxGlobal(i, j)) return false;
+ if (_fr.getIdxGlobal(i, j) != getIdxGlobal(i, j)) {
+ return false;
+ }
}
}
return true;
}
/**
- * Permet de retrouver les frontieres externes. Cette procedure ne fait aucune supposition sur l'ordre des fronti\xE8res
- * donn\xE9es. On pourrait optimiser en prenant en compte que les frontieres sont donn\xE9es dans l'ordre Telemac (point
- * sud-ouest). Or il se peut que cela soit faux si un tableau ipobo erron\xE9 est utilis\xE9.
- *
+ * Permet de retrouver les frontieres externes. Cette procedure ne fait aucune supposition sur l'ordre des fronti\xE8res donn\xE9es.
+ * On pourrait optimiser en prenant en compte que les frontieres sont donn\xE9es dans l'ordre Telemac (point sud-ouest). Or il se
+ * peut que cela soit faux si un tableau ipobo erron\xE9 est utilis\xE9.
+ *
* @param _g le maillage
* @param _idxFr liste de tableaux d'entier: les indices des frontieres
* @param _prog la barre de progression
@@ -165,12 +163,11 @@
return r;
}
-
CtuluListSelection isExterne_;
/**
* Frontiere unique definit par le tableau d'entier.
- *
+ *
* @param _l les indices des points frontieres
*/
public EfFrontier(final int[] _l) {
@@ -189,11 +186,10 @@
}
/**
- * Renvoie l'index de frontiere a partir de l'index de la frontiere et de l'index du point sur la fronti\xE8re. Par
- * exemple si vous avez 2 frontieres,la premiere de taille 100 et la 2eme de taille 20, l'appel getIdxFrGlob(1,10)
- * renvoie 110 (le point 10 de la 2eme frontiere). getIdxFrGlob(0,10) renvoie (10). getIdxFrGlob(1,100) renvoie -1
- * (erreur).
- *
+ * Renvoie l'index de frontiere a partir de l'index de la frontiere et de l'index du point sur la fronti\xE8re. Par exemple si vous
+ * avez 2 frontieres,la premiere de taille 100 et la 2eme de taille 20, l'appel getIdxFrGlob(1,10) renvoie 110 (le point 10 de
+ * la 2eme frontiere). getIdxFrGlob(0,10) renvoie (10). getIdxFrGlob(1,100) renvoie -1 (erreur).
+ *
* @param _idxFr l'indice de la frontier
* @param _idxOnFr l'indice du point sur la frontier _idxFr
* @return -1 si les donnees sont erron\xE9es.
@@ -236,8 +232,8 @@
it.next();
ptCurrent = it.getGlobalIdx();
res[i] = res[i - 1]
- + CtuluLibGeometrie.getDistance(_grid.getPtX(ptLast), _grid.getPtY(ptLast), _grid.getPtX(ptCurrent), _grid
- .getPtY(ptCurrent));
+ + CtuluLibGeometrie.getDistance(_grid.getPtX(ptLast), _grid.getPtY(ptLast), _grid.getPtX(ptCurrent), _grid.getPtY(
+ ptCurrent));
ptLast = ptCurrent;
}
@@ -255,10 +251,14 @@
}
isExterne_ = new CtuluListSelection(nbFr);
for (int i = 0; i < nbFr; i++) {
- if (_f.isExtern(i)) isExterne_.add(i);
+ if (_f.isExtern(i)) {
+ isExterne_.add(i);
+ }
GISPolygone ringi = _f.getSavedLinearRing(i);
if (ringi != null) {
- if (ring_ == null) ring_ = new GISPolygone[nbFr];
+ if (ring_ == null) {
+ ring_ = new GISPolygone[nbFr];
+ }
}
ring_[i] = ringi;
}
@@ -314,8 +314,9 @@
}
/**
- * Initialyze <code>temp</code> with [ frontier index, point index in the frontier] from the general index.
- *
+ * Initialyze
+ * <code>temp</code> with [ frontier index, point index in the frontier] from the general index.
+ *
* @param _idxGlobal l'indice general du point
* @param _temp le tableau a modifier [ frontier index, point index in the frontier]
* @return true si cet indice est bien un indice frontiere
@@ -347,8 +348,9 @@
}
/**
- * Renvoie l'index du point d'indice global <code>_idxGlobal</code> sur la frontiere.
- *
+ * Renvoie l'index du point d'indice global
+ * <code>_idxGlobal</code> sur la frontiere.
+ *
* @param _idxGlobal l'indice globale
* @return -1 si c'est n'est pas un point frontier. L'indice de frontiere sinon
*/
@@ -385,9 +387,9 @@
}
/**
- * Renvoie l'indice de frontiere a partir de l'indice global. Initialise egalement le tableau idxFrIdxOnFr (qui doit
- * etre de taille 2) avec l'index de frontiere et l'index du point sur la frontiere.
- *
+ * Renvoie l'indice de frontiere a partir de l'indice global. Initialise egalement le tableau idxFrIdxOnFr (qui doit etre de
+ * taille 2) avec l'index de frontiere et l'index du point sur la frontiere.
+ *
* @param _idxGlobal l'indice global du point
* @param _idxFrIdxOnFr l'indice sur la frontiere
* @return l'indice de frontiere a partir de l'indice global
@@ -411,15 +413,27 @@
/**
* @param _idxGlobal l'indice global a tester
- * @return true si le point d'indice globle <code>_idxGlobal</code> est un point frontiere
+ * @return true si le point d'indice globle
+ * <code>_idxGlobal</code> est un point frontiere
*/
+ @Override
public ...
[truncated message content] |
|
From: <de...@us...> - 2012-06-12 22:16:07
|
Revision: 7320
http://fudaa.svn.sourceforge.net/fudaa/?rev=7320&view=rev
Author: deniger
Date: 2012-06-12 22:16:01 +0000 (Tue, 12 Jun 2012)
Log Message:
-----------
[maven-release-plugin] prepare for next development iteration
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
trunk/business/fudaa-ef/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2012-06-12 22:15:52 UTC (rev 7319)
+++ trunk/business/fudaa-ef/core/pom.xml 2012-06-12 22:16:01 UTC (rev 7320)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.3</version>
+ <version>1.4-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-core</artifactId>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2012-06-12 22:15:52 UTC (rev 7319)
+++ trunk/business/fudaa-ef/io/pom.xml 2012-06-12 22:16:01 UTC (rev 7320)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.3</version>
+ <version>1.4-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-io</artifactId>
Modified: trunk/business/fudaa-ef/pom.xml
===================================================================
--- trunk/business/fudaa-ef/pom.xml 2012-06-12 22:15:52 UTC (rev 7319)
+++ trunk/business/fudaa-ef/pom.xml 2012-06-12 22:16:01 UTC (rev 7320)
@@ -16,7 +16,7 @@
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.3</version>
+ <version>1.4-SNAPSHOT</version>
<name>Fudaa-Ef Elements finis</name>
<packaging>pom</packaging>
<modules>
@@ -54,10 +54,4 @@
</dependency>
</dependencies>
</dependencyManagement>
-
- <scm>
- <connection>scm:svn:http://fudaa.svn.sourceforge.net/svnroot/fudaa/tags/business/fudaa-ef-1.3</connection>
- <developerConnection>scm:svn:https://fudaa.svn.sourceforge.net/svnroot/fudaa/tags/business/fudaa-ef-1.3</developerConnection>
- <url>http://fudaa.svn.sourceforge.net/viewvc/fudaa/svnroot/fudaa/tags/business/fudaa-ef-1.3</url>
- </scm>
</project>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2012-06-12 22:15:40
|
Revision: 7318
http://fudaa.svn.sourceforge.net/fudaa/?rev=7318&view=rev
Author: deniger
Date: 2012-06-12 22:15:34 +0000 (Tue, 12 Jun 2012)
Log Message:
-----------
[maven-release-plugin] prepare release fudaa-ef-1.3
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
trunk/business/fudaa-ef/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2012-06-12 22:10:11 UTC (rev 7317)
+++ trunk/business/fudaa-ef/core/pom.xml 2012-06-12 22:15:34 UTC (rev 7318)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.3-SNAPSHOT</version>
+ <version>1.3</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-core</artifactId>
@@ -45,7 +45,7 @@
</goals>
</pluginExecutionFilter>
<action>
- <ignore></ignore>
+ <ignore />
</action>
</pluginExecution>
</pluginExecutions>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2012-06-12 22:10:11 UTC (rev 7317)
+++ trunk/business/fudaa-ef/io/pom.xml 2012-06-12 22:15:34 UTC (rev 7318)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.3-SNAPSHOT</version>
+ <version>1.3</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-io</artifactId>
@@ -51,7 +51,7 @@
</goals>
</pluginExecutionFilter>
<action>
- <ignore></ignore>
+ <ignore />
</action>
</pluginExecution>
</pluginExecutions>
Modified: trunk/business/fudaa-ef/pom.xml
===================================================================
--- trunk/business/fudaa-ef/pom.xml 2012-06-12 22:10:11 UTC (rev 7317)
+++ trunk/business/fudaa-ef/pom.xml 2012-06-12 22:15:34 UTC (rev 7318)
@@ -16,7 +16,7 @@
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.3-SNAPSHOT</version>
+ <version>1.3</version>
<name>Fudaa-Ef Elements finis</name>
<packaging>pom</packaging>
<modules>
@@ -54,4 +54,10 @@
</dependency>
</dependencies>
</dependencyManagement>
+
+ <scm>
+ <connection>scm:svn:http://fudaa.svn.sourceforge.net/svnroot/fudaa/tags/business/fudaa-ef-1.3</connection>
+ <developerConnection>scm:svn:https://fudaa.svn.sourceforge.net/svnroot/fudaa/tags/business/fudaa-ef-1.3</developerConnection>
+ <url>http://fudaa.svn.sourceforge.net/viewvc/fudaa/svnroot/fudaa/tags/business/fudaa-ef-1.3</url>
+ </scm>
</project>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2012-08-13 23:54:39
|
Revision: 7540
http://fudaa.svn.sourceforge.net/fudaa/?rev=7540&view=rev
Author: deniger
Date: 2012-08-13 23:54:31 +0000 (Mon, 13 Aug 2012)
Log Message:
-----------
Added Paths:
-----------
trunk/business/fudaa-ef/core/nb-configuration.xml
trunk/business/fudaa-ef/io/nb-configuration.xml
Added: trunk/business/fudaa-ef/core/nb-configuration.xml
===================================================================
--- trunk/business/fudaa-ef/core/nb-configuration.xml (rev 0)
+++ trunk/business/fudaa-ef/core/nb-configuration.xml 2012-08-13 23:54:31 UTC (rev 7540)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-shared-configuration>
+ <!--
+This file contains additional configuration written by modules in the NetBeans IDE.
+The configuration is intended to be shared among all the users of project and
+therefore it is assumed to be part of version control checkout.
+Without this configuration present, some functionality in the IDE may be limited or fail altogether.
+-->
+ <properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1">
+ <!--
+Properties that influence various parts of the IDE, especially code formatting and the like.
+You can copy and paste the single properties, into the pom.xml file and the IDE will pick them up.
+That way multiple projects can share the same settings (useful for formatting rules for example).
+Any value defined here will override the pom.xml file value but is only applicable to the current project.
+-->
+ <netbeans.hint.jdkPlatform>JDK_1.6</netbeans.hint.jdkPlatform>
+ </properties>
+</project-shared-configuration>
Added: trunk/business/fudaa-ef/io/nb-configuration.xml
===================================================================
--- trunk/business/fudaa-ef/io/nb-configuration.xml (rev 0)
+++ trunk/business/fudaa-ef/io/nb-configuration.xml 2012-08-13 23:54:31 UTC (rev 7540)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-shared-configuration>
+ <!--
+This file contains additional configuration written by modules in the NetBeans IDE.
+The configuration is intended to be shared among all the users of project and
+therefore it is assumed to be part of version control checkout.
+Without this configuration present, some functionality in the IDE may be limited or fail altogether.
+-->
+ <properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1">
+ <!--
+Properties that influence various parts of the IDE, especially code formatting and the like.
+You can copy and paste the single properties, into the pom.xml file and the IDE will pick them up.
+That way multiple projects can share the same settings (useful for formatting rules for example).
+Any value defined here will override the pom.xml file value but is only applicable to the current project.
+-->
+ <netbeans.hint.jdkPlatform>JDK_1.6</netbeans.hint.jdkPlatform>
+ </properties>
+</project-shared-configuration>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2012-10-30 16:15:02
|
Revision: 7831
http://fudaa.svn.sourceforge.net/fudaa/?rev=7831&view=rev
Author: deniger
Date: 2012-10-30 16:14:51 +0000 (Tue, 30 Oct 2012)
Log Message:
-----------
am?\195?\169lioration support format serafin dans Fudaa
Modified Paths:
--------------
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfGridSource.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfGridSourceMutable.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfGridSourcesAbstract.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinAdapter.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinFileFormat.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinGridSourceAdapter.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinMaillageBuilderAdapterAbstract.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinWriter.java
trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/serafin/TestSerafinReaderWriter.java
Added Paths:
-----------
trunk/business/fudaa-ef/nbactions.xml
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfGridSource.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfGridSource.java 2012-10-30 15:26:43 UTC (rev 7830)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/EfGridSource.java 2012-10-30 16:14:51 UTC (rev 7831)
@@ -8,6 +8,7 @@
package org.fudaa.dodico.ef;
import java.io.IOException;
+import java.util.Map;
/**
* Une interface pour les sources de maillage. De plus, cette interface peut
@@ -19,6 +20,9 @@
* @version $Id: EfGridSource.java,v 1.8 2007-03-02 13:00:54 deniger Exp $
*/
public interface EfGridSource {
+
+
+ public Map getOptions();
/**
* @return le maillage
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfGridSourceMutable.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfGridSourceMutable.java 2012-10-30 15:26:43 UTC (rev 7830)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfGridSourceMutable.java 2012-10-30 16:14:51 UTC (rev 7831)
@@ -7,6 +7,8 @@
*/
package org.fudaa.dodico.ef.impl;
+import java.util.HashMap;
+import java.util.Map;
import org.fudaa.ctulu.fileformat.FileFormat;
import org.fudaa.dodico.ef.ConditionLimiteEnum;
@@ -15,145 +17,143 @@
/**
* @author deniger
- * @version $Id: EfGridSourceMutable.java,v 1.1 2007-01-19 13:07:20 deniger Exp
- * $
+ * @version $Id: EfGridSourceMutable.java,v 1.1 2007-01-19 13:07:20 deniger Exp $
*/
public class EfGridSourceMutable implements EfGridSource {
- EfGrid g_;
- String[] valuesId_;
- String[] valuesEltId_;
- double[] timesStep_;
- double[][] values_;
- double[][] valuesElt_;
- ConditionLimiteEnum[] boundaryConditions;
+ EfGrid g_;
+ String[] valuesId_;
+ String[] valuesEltId_;
+ double[] timesStep_;
+ double[][] values_;
+ double[][] valuesElt_;
+ ConditionLimiteEnum[] boundaryConditions;
- public EfGridSourceMutable() {
- }
+ public EfGridSourceMutable() {
+ }
- public boolean isElement(final int _idx) {
- return false;
- }
+ public boolean isElement(final int _idx) {
+ return false;
+ }
+ Map options = new HashMap();
- /**
- * @param _timeStep
- * les nouveaux pas de temps
- */
- public void setTimeStep(final double[] _timeStep) {
- timesStep_ = _timeStep;
- }
+ @Override
+ public Map getOptions() {
+ return options;
+ }
- /**
- * @return true si maillage non null
- */
- public boolean isSet() {
- return g_ != null;
- }
+ /**
+ * @param _timeStep les nouveaux pas de temps
+ */
+ public void setTimeStep(final double[] _timeStep) {
+ timesStep_ = _timeStep;
+ }
- /**
- * Les valeurs doivent etre donnees par pas de temps. <br>
- * double[0]=valeurs sur tous les points de la variable 0 au pas de temps 0 <br>
- * double[1]=valeurs sur tous les points de la variable 0 au pas de temps 1 <br>
- * double[_ptId.length]=valeurs sur tous les points de la variable 1 au pas
- * de temps 0 <br>
- *
- * @param _ptId
- * les identifiants des variables
- * @param _values
- * les valeurs
- */
- public void setPointValue(final String[] _ptId, final double[][] _values) {
- values_ = _values;
- valuesId_ = _ptId;
- if (valuesId_ == null) {
- values_ = null;
- }
- if (values_ == null) {
- valuesId_ = null;
- }
- }
+ /**
+ * @return true si maillage non null
+ */
+ public boolean isSet() {
+ return g_ != null;
+ }
- /**
- * @see #setPointValue(String[], double[][])
- * @param _eltId
- * les identifiants des variables elementaires
- * @param _eltValues
- * les valeurs
- */
- public void setEltValue(final String[] _eltId, final double[][] _eltValues) {
- valuesElt_ = _eltValues;
- valuesEltId_ = _eltId;
- if (valuesElt_ == null) {
- valuesEltId_ = null;
- }
- if (valuesEltId_ == null) {
- valuesElt_ = null;
- }
+ /**
+ * Les valeurs doivent etre donnees par pas de temps. <br> double[0]=valeurs sur tous les points de la variable 0 au pas de temps 0 <br>
+ * double[1]=valeurs sur tous les points de la variable 0 au pas de temps 1 <br> double[_ptId.length]=valeurs sur tous les points de la variable 1
+ * au pas de temps 0 <br>
+ *
+ * @param _ptId les identifiants des variables
+ * @param _values les valeurs
+ */
+ public void setPointValue(final String[] _ptId, final double[][] _values) {
+ values_ = _values;
+ valuesId_ = _ptId;
+ if (valuesId_ == null) {
+ values_ = null;
}
-
- public boolean containsElementData() {
- return valuesEltId_ != null;
+ if (values_ == null) {
+ valuesId_ = null;
}
+ }
- public boolean containsNodeData() {
- return valuesId_ != null;
+ /**
+ * @see #setPointValue(String[], double[][])
+ * @param _eltId les identifiants des variables elementaires
+ * @param _eltValues les valeurs
+ */
+ public void setEltValue(final String[] _eltId, final double[][] _eltValues) {
+ valuesElt_ = _eltValues;
+ valuesEltId_ = _eltId;
+ if (valuesElt_ == null) {
+ valuesEltId_ = null;
}
-
- public double getEltValue(final int _valueIdx, final int _eltIdx,
- final int _timeStep) {
- if (valuesElt_ != null) {
- return valuesElt_[_timeStep * valuesElt_.length + _valueIdx][_eltIdx];
- }
- return 0;
+ if (valuesEltId_ == null) {
+ valuesElt_ = null;
}
+ }
- public String getEltValueId(final int _valueIdx) {
- return valuesEltId_ == null ? null : valuesEltId_[_valueIdx];
- }
+ public boolean containsElementData() {
+ return valuesEltId_ != null;
+ }
- public FileFormat getFileFormat() {
- return null;
- }
+ public boolean containsNodeData() {
+ return valuesId_ != null;
+ }
- public EfGridInterface getGrid() {
- return g_;
+ public double getEltValue(final int _valueIdx, final int _eltIdx,
+ final int _timeStep) {
+ if (valuesElt_ != null) {
+ return valuesElt_[_timeStep * valuesElt_.length + _valueIdx][_eltIdx];
}
+ return 0;
+ }
- public double getTimeStep(final int _i) {
- return timesStep_ == null ? 0 : timesStep_[_i];
- }
+ public String getEltValueId(final int _valueIdx) {
+ return valuesEltId_ == null ? null : valuesEltId_[_valueIdx];
+ }
- public int getTimeStepNb() {
- return timesStep_ == null ? 0 : timesStep_.length;
- }
+ public FileFormat getFileFormat() {
+ return null;
+ }
- public double getValue(final int _valueIdx, final int _timeStep,
- final int _ptIdx) {
- if (values_ != null) {
- return values_[_timeStep * values_.length + _valueIdx][_ptIdx];
- }
- return 0;
- }
+ public EfGridInterface getGrid() {
+ return g_;
+ }
- public String getValueId(final int _valueIdx) {
- return valuesId_ == null ? null : valuesId_[_valueIdx];
- }
+ public double getTimeStep(final int _i) {
+ return timesStep_ == null ? 0 : timesStep_[_i];
+ }
- public int getValueNb() {
- return valuesId_ == null ? 0 : valuesId_.length;
+ public int getTimeStepNb() {
+ return timesStep_ == null ? 0 : timesStep_.length;
+ }
+ public double getValue(final int _valueIdx, final int _timeStep,
+ final int _ptIdx) {
+ if (values_ != null) {
+ return values_[_timeStep * values_.length + _valueIdx][_ptIdx];
}
+ return 0;
+ }
- public int getEltValueNb() {
- return valuesEltId_ == null ? 0 : valuesEltId_.length;
+ public String getValueId(final int _valueIdx) {
+ return valuesId_ == null ? null : valuesId_[_valueIdx];
+ }
- }
+ public int getValueNb() {
+ return valuesId_ == null ? 0 : valuesId_.length;
- public ConditionLimiteEnum[] getBoundaryConditions() {
- return boundaryConditions;
- }
+ }
- public void setBoundaryConditions(ConditionLimiteEnum[] boundaryConditions) {
- this.boundaryConditions = boundaryConditions;
- }
+ public int getEltValueNb() {
+ return valuesEltId_ == null ? 0 : valuesEltId_.length;
+
+ }
+
+ public ConditionLimiteEnum[] getBoundaryConditions() {
+ return boundaryConditions;
+ }
+
+ public void setBoundaryConditions(ConditionLimiteEnum[] boundaryConditions) {
+ this.boundaryConditions = boundaryConditions;
+ }
}
\ No newline at end of file
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfGridSourcesAbstract.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfGridSourcesAbstract.java 2012-10-30 15:26:43 UTC (rev 7830)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfGridSourcesAbstract.java 2012-10-30 16:14:51 UTC (rev 7831)
@@ -5,74 +5,78 @@
*/
package org.fudaa.dodico.ef.impl;
+import java.util.HashMap;
+import java.util.Map;
import org.fudaa.dodico.ef.ConditionLimiteEnum;
import org.fudaa.dodico.ef.EfGridSource;
/**
* @author deniger
- * @version $Id: EfGridSourcesAbstract.java,v 1.1 2007-01-19 13:07:20 deniger
- * Exp $
+ * @version $Id: EfGridSourcesAbstract.java,v 1.1 2007-01-19 13:07:20 deniger Exp $
*/
public abstract class EfGridSourcesAbstract implements EfGridSource {
- ConditionLimiteEnum[] boundaryConditions;
+ ConditionLimiteEnum[] boundaryConditions;
+ Map options = new HashMap();
- public ConditionLimiteEnum[] getBoundaryConditions() {
- return boundaryConditions;
- }
+ @Override
+ public Map getOptions() {
+ return options;
+ }
- public void setBoundaryConditions(ConditionLimiteEnum[] boundaryConditions) {
- this.boundaryConditions = boundaryConditions;
- }
+ public ConditionLimiteEnum[] getBoundaryConditions() {
+ return boundaryConditions;
+ }
- public boolean containsNodeData() {
- return false;
- }
+ public void setBoundaryConditions(ConditionLimiteEnum[] boundaryConditions) {
+ this.boundaryConditions = boundaryConditions;
+ }
- public boolean containsElementData() {
- return false;
- }
+ public boolean containsNodeData() {
+ return false;
+ }
- public int getTimeStepNb() {
- return 1;
- }
+ public boolean containsElementData() {
+ return false;
+ }
- public boolean isElement(final int _idx) {
- return false;
- }
+ public int getTimeStepNb() {
+ return 1;
+ }
- public double getTimeStep(final int _i) {
- return 0;
- }
+ public boolean isElement(final int _idx) {
+ return false;
+ }
- public int getValueNb() {
- return 0;
- }
+ public double getTimeStep(final int _i) {
+ return 0;
+ }
- public String getValueId(final int _valueIdx) {
- return null;
- }
+ public int getValueNb() {
+ return 0;
+ }
- public double getValue(final int _valueIdx, final int _timeStep,
- final int _ptIdx) {
- return 0;
- }
+ public String getValueId(final int _valueIdx) {
+ return null;
+ }
- /**
- * @param _id
- * l'identifiant
- * @param _s
- * la source a parcourir
- * @return l'index trouve ou -1 si rien
- */
- public final static int getValueIndex(final String _id,
- final EfGridSource _s) {
- for (int i = _s.getValueNb() - 1; i >= 0; i--) {
- if (_id.equals(_s.getValueId(i))) {
- return i;
- }
- }
- return -1;
+ public double getValue(final int _valueIdx, final int _timeStep,
+ final int _ptIdx) {
+ return 0;
+ }
+
+ /**
+ * @param _id l'identifiant
+ * @param _s la source a parcourir
+ * @return l'index trouve ou -1 si rien
+ */
+ public final static int getValueIndex(final String _id,
+ final EfGridSource _s) {
+ for (int i = _s.getValueNb() - 1; i >= 0; i--) {
+ if (_id.equals(_s.getValueId(i))) {
+ return i;
+ }
}
-
+ return -1;
+ }
}
\ No newline at end of file
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinAdapter.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinAdapter.java 2012-10-30 15:26:43 UTC (rev 7830)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinAdapter.java 2012-10-30 16:14:51 UTC (rev 7831)
@@ -10,6 +10,7 @@
import java.io.IOException;
import com.memoire.fu.FuLog;
+import java.util.Map;
import org.fudaa.ctulu.fileformat.FileFormat;
@@ -40,6 +41,11 @@
return xYdoublePrecision;
}
+ @Override
+ public Map getOptions() {
+ return null;
+ }
+
public void setXYdoublePrecision(boolean xYdoublePrecision) {
this.xYdoublePrecision = xYdoublePrecision;
}
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinFileFormat.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinFileFormat.java 2012-10-30 15:26:43 UTC (rev 7830)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinFileFormat.java 2012-10-30 16:14:51 UTC (rev 7831)
@@ -10,6 +10,7 @@
import java.io.File;
import com.memoire.bu.BuFileFilter;
+import java.util.Map;
import org.fudaa.ctulu.CtuluIOOperationSynthese;
import org.fudaa.ctulu.CtuluLibString;
@@ -30,10 +31,20 @@
* @version $Id: SerafinFileFormat.java,v 1.37 2007-05-04 13:47:27 deniger Exp $
*/
public final class SerafinFileFormat extends FileFormatUnique implements SerafinFileFormatVersionInterface,
- FileFormatGridVersion {
+ FileFormatGridVersion {
+ public static void setDoubleFormatOption(Map map, Boolean value) {
+ map.put("XY_DOUBLE_PRECISION", value);
+ }
+
+ public static boolean isDoubleFormatOption(Map map) {
+ if(map==null){
+ return true;
+ }
+ Boolean res = (Boolean) map.get("XY_DOUBLE_PRECISION");
+ return res == null || res;
+ }
private static final SerafinFileFormat INSTANCE = new SerafinFileFormat();
-
/**
* Nombre de param dans le tableau IParam.
*/
@@ -43,7 +54,7 @@
* @return le nom de la variable utilisee pour designer le fond
*/
public static String[] getCommonVariableFond() {
- return new String[] { "FOND", "BOTTOM", "COTE_DU_FOND", "BOTTOM_LEVEL", "altimetrie" };
+ return new String[]{"FOND", "BOTTOM", "COTE_DU_FOND", "BOTTOM_LEVEL", "altimetrie"};
}
public static boolean is3DGrid(final EfGridInterface _grid) {
@@ -51,7 +62,9 @@
}
public static int getNbPlanIn3D(final int[] _iparams) {
- if (_iparams != null && _iparams.length == IPARAM_NB) { return _iparams[6]; }
+ if (_iparams != null && _iparams.length == IPARAM_NB) {
+ return _iparams[6];
+ }
return 1;
}
@@ -89,14 +102,16 @@
* @see DicoLanguage#getCurrentID()
*/
public static String getVariableFond(final int _dicoLanguageIdx) {
- if (_dicoLanguageIdx == DicoLanguage.ENGLISH_ID) { return getEnVariableFond(); }
+ if (_dicoLanguageIdx == DicoLanguage.ENGLISH_ID) {
+ return getEnVariableFond();
+ }
return getFrVariableFond();
}
/**
- * Renvoie true si les donnees, pour chaque pas de temps, sont formattees en colonnees ( forme non compacte ou
- * "unpackad form"). Teste en fait si IPARAM[1]==1.
- *
+ * Renvoie true si les donnees, pour chaque pas de temps, sont formattees en colonnees ( forme non compacte ou "unpackad form"). Teste en fait si
+ * IPARAM[1]==1.
+ *
* @param _s le tableau iparam utilise pour savoir si colonne ou non.
* @return FormatEnColonne
*/
@@ -105,24 +120,26 @@
}
/**
- * A partir de <code>_s</code>, determine si la date (Idate) du projet est presente dans le fichier. Si la valeur du
- * 10 element vaut 1, la date est definie.
- *
+ * A partir de
+ * <code>_s</code>, determine si la date (Idate) du projet est presente dans le fichier. Si la valeur du 10 element vaut 1, la date est definie.
+ *
* @param _s talbeau iparam a tester
* @return true si Idate definie dans le projet.
*/
public static boolean isIdateDefiniCommon(final int[] _s) {
- if (_s[9] == 1) { return true; }
+ if (_s[9] == 1) {
+ return true;
+ }
return false;
}
protected SerafinFileFormat() {
super(1);
- extensions_ = new String[] { "ser", "res", "geo", "sel", "res2d", "res3d","resu" };
+ extensions_ = new String[]{"ser", "res", "geo", "sel", "res2d", "res3d", "resu"};
id_ = "SERAFIN";
nom_ = "Serafin";
description_ = EfIOResource
- .getS("Fichier binaire comportant le mod\xE8le num\xE9rique de terrain et des propri\xE9t\xE9s nodales");
+ .getS("Fichier binaire comportant le mod\xE8le num\xE9rique de terrain et des propri\xE9t\xE9s nodales");
software_ = FileFormatSoftware.TELEMAC_IS;
}
@@ -170,7 +187,7 @@
/**
* Lit le dernier pas de temps uniquement.
- *
+ *
* @param _file le fichier a lire
* @param _prog la progression
* @return synthese de l'operation
@@ -213,9 +230,9 @@
}
/**
- * Renvoie true si les donnees, pour chaque pas de temps, sont formattees en colonnees ( forme non compacte ou
- * "unpackad form"). Teste en fait si IPARAM[1]==1.
- *
+ * Renvoie true si les donnees, pour chaque pas de temps, sont formattees en colonnees ( forme non compacte ou "unpackad form"). Teste en fait si
+ * IPARAM[1]==1.
+ *
* @param _s le tableau iparam utilise pour savoir si colonne ou non.
* @return FormatEnColonne
*/
@@ -225,15 +242,17 @@
}
/**
- * A partir de <code>_s</code>, determine si la date (Idate) du projet est presente dans le fichier. Si la valeur du
- * 10 element vaut 1, la date est definie.
- *
+ * A partir de
+ * <code>_s</code>, determine si la date (Idate) du projet est presente dans le fichier. Si la valeur du 10 element vaut 1, la date est definie.
+ *
* @param _s talbeau iparam a tester
* @return true si Idate definie dans le projet.
*/
@Override
public boolean isIdateDefini(final int[] _s) {
- if (_s[9] == 1) { return true; }
+ if (_s[9] == 1) {
+ return true;
+ }
return false;
}
@@ -244,7 +263,9 @@
final CtuluIOOperationSynthese r = i.read(_f, _prog);
i.setProgressReceiver(null);
final SerafinAdapter adapter = (SerafinAdapter) r.getSource();
- if (adapter == null) { return r; }
+ if (adapter == null) {
+ return r;
+ }
adapter.majGridFond();
return r;
@@ -318,7 +339,7 @@
/**
* Ecrit dans le format binaire adapte au systeme OS.
- *
+ *
* @param _f le fichier a ecrire.
* @param _source la source pour ecrire
* @param _prog la barre de progression
@@ -326,7 +347,7 @@
*/
@Override
public CtuluIOOperationSynthese writeSparc(final File _f, final SerafinInterface _source,
- final ProgressionInterface _prog) {
+ final ProgressionInterface _prog) {
final SerafinWriter w = new SerafinWriter(this);
w.setMachineSPARC();
w.setFile(_f);
@@ -335,21 +356,18 @@
}
@Override
- public boolean canReadGrid()
- {
- return true;
- }
-
+ public boolean canReadGrid() {
+ return true;
+ }
+
@Override
- public boolean canWriteGrid()
- {
- return true;
- }
-
+ public boolean canWriteGrid() {
+ return true;
+ }
+
@Override
- public boolean hasBoundaryConditons()
- {
- // TODO Voir si correct
- return false;
- }
+ public boolean hasBoundaryConditons() {
+ // TODO Voir si correct
+ return false;
+ }
}
\ No newline at end of file
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinGridSourceAdapter.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinGridSourceAdapter.java 2012-10-30 15:26:43 UTC (rev 7830)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinGridSourceAdapter.java 2012-10-30 16:14:51 UTC (rev 7831)
@@ -8,6 +8,7 @@
package org.fudaa.dodico.ef.io.serafin;
import java.io.IOException;
+import java.util.Map;
import org.fudaa.ctulu.fileformat.FileFormat;
import org.fudaa.dodico.ef.ConditionLimiteEnum;
@@ -47,6 +48,11 @@
setFormatColonne(true);
}
+ @Override
+ public Map getOptions() {
+ return source_.getOptions();
+ }
+
/**
* @param _b true si format colonne demande
*/
@@ -164,7 +170,7 @@
@Override
public boolean isXYdoublePrecision() {
- return true;
+ return SerafinFileFormat.isDoubleFormatOption(source_.getOptions());
}
@Override
@@ -244,4 +250,4 @@
// {
// this.boundaryConditions = boundaryConditions;
// }
-}
\ No newline at end of file
+}
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinMaillageBuilderAdapterAbstract.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinMaillageBuilderAdapterAbstract.java 2012-10-30 15:26:43 UTC (rev 7830)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinMaillageBuilderAdapterAbstract.java 2012-10-30 16:14:51 UTC (rev 7831)
@@ -7,6 +7,7 @@
*/
package org.fudaa.dodico.ef.io.serafin;
+import java.util.Map;
import org.fudaa.ctulu.fileformat.FileFormat;
import org.fudaa.dodico.ef.EfGridInterface;
import org.fudaa.dodico.ef.io.EfIOResource;
@@ -16,19 +17,18 @@
* @version $Id: SerafinMaillageBuilderAdapterAbstract.java,v 1.12 2007-05-04 13:47:27 deniger Exp $
*/
public abstract class SerafinMaillageBuilderAdapterAbstract implements SerafinInterface {
+
long date_;
int[] iparam_;
-
EfGridInterface maill_;
String titre_;
-
String[] units_;
SerafinFileFormatVersionInterface version_;
protected String[] valuesName_;
/**
* Par defaut le format colonne est choisi.
- *
+ *
* @param _ft la verison
* @param _m le maillage support
*/
@@ -41,6 +41,11 @@
}
@Override
+ public Map getOptions() {
+ return null;
+ }
+
+ @Override
public boolean containsElementData() {
return isVolumique();
}
@@ -81,7 +86,9 @@
public int[] getIpoboInitial() {
if (maill_.getFrontiers() == null) {
maill_.computeBord(null, null);
- if (maill_.getFrontiers() == null) { return null; }
+ if (maill_.getFrontiers() == null) {
+ return null;
+ }
}
return maill_.getFrontiers().getIpobo(maill_.getPtsNb());
}
@@ -90,7 +97,9 @@
public int[] getIpoboFr() {
if (maill_.getFrontiers() == null) {
maill_.computeBord(null, null);
- if (maill_.getFrontiers() == null) { return null; }
+ if (maill_.getFrontiers() == null) {
+ return null;
+ }
}
return maill_.getFrontiers().getArray();
}
@@ -133,7 +142,6 @@
// public final void setDateCourante() {
// setDate(System.currentTimeMillis());
// }
-
/**
* @param _b true si format colonne demande
*/
@@ -171,5 +179,4 @@
public void setIparam(final int[] _iparam) {
iparam_ = _iparam;
}
-
}
\ No newline at end of file
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinWriter.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinWriter.java 2012-10-30 15:26:43 UTC (rev 7830)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinWriter.java 2012-10-30 16:14:51 UTC (rev 7831)
@@ -245,16 +245,12 @@
return;
}
boolean xydoublePrecision = _donnees.isXYdoublePrecision();
- if (!xydoublePrecision) {
- String titre = _donnees.getTitre();
- if (titre.length() == 80 && titre.charAt(79) == 'D') {
- xydoublePrecision = true;
- }
- }
String titre = _donnees.getTitre();
if (xydoublePrecision) {
titre = CtuluLibString.adjustSize(79, titre) + "D";
-
+ //si ce n'est pas un double pr\xE9cision mais se termine par D on l'enleve
+ } else if (titre.length() == 80 && titre.charAt(79) == 'D') {
+ titre = titre.substring(0, 79).trim();
}
final int[] iparam = _donnees.getIparam();
final boolean isIdateDefini = version_.isIdateDefini(iparam);
Modified: trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/serafin/TestSerafinReaderWriter.java
===================================================================
--- trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/serafin/TestSerafinReaderWriter.java 2012-10-30 15:26:43 UTC (rev 7830)
+++ trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/serafin/TestSerafinReaderWriter.java 2012-10-30 16:14:51 UTC (rev 7831)
@@ -84,6 +84,30 @@
testGrid(transformedRes.getGrid());
}
+ public void testWriteSerafinDNotDoubleTitle() throws IOException {
+ File target = createTempFile(".res");
+ File serafinD = CtuluLibFile.getFileFromJar("/org/fudaa/dodico/ef/io/serafin/seraphinD.res", target);
+ SerafinNewReader reader = new SerafinNewReader();
+ reader.setFile(serafinD);
+ CtuluIOOperationSynthese initialIO = reader.read();
+ assertFalse(initialIO.getAnalyze().containsErrorOrFatalError());
+ SerafinAdapter initialRes = (SerafinAdapter) initialIO.getSource();
+ //point important
+ initialRes.setXYdoublePrecision(false);
+ SerafinWriter writer = new SerafinWriter(SerafinFileFormat.getInstance());
+ File writtenFile = createTempFile(".res");
+ writer.setFile(writtenFile);
+ writer.write(initialRes);
+ reader.setFile(writtenFile);
+ CtuluIOOperationSynthese transformedIO = reader.read();
+ assertFalse(transformedIO.getAnalyze().containsErrorOrFatalError());
+ SerafinAdapter transformedRes = (SerafinAdapter) transformedIO.getSource();
+ assertFalse(transformedRes.isXYdoublePrecision());
+ System.err.println(transformedRes.getTitre());
+ assertEquals("TELEMAC 2D : GOUTTE D'EAU DANS UN BASSIN$ SERAFIN", transformedRes.getTitre());
+ testGrid(transformedRes.getGrid());
+ }
+
public void testReadQuadri() {
SerafinNewReader reader = new SerafinNewReader();
reader.setFile(fic_);
Added: trunk/business/fudaa-ef/nbactions.xml
===================================================================
--- trunk/business/fudaa-ef/nbactions.xml (rev 0)
+++ trunk/business/fudaa-ef/nbactions.xml 2012-10-30 16:14:51 UTC (rev 7831)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<actions>
+ <action>
+ <actionName>CUSTOM-deploy</actionName>
+ <displayName>deploy</displayName>
+ <goals>
+ <goal>deploy</goal>
+ </goals>
+ </action>
+ </actions>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2012-11-05 16:21:49
|
Revision: 7860
http://fudaa.svn.sourceforge.net/fudaa/?rev=7860&view=rev
Author: deniger
Date: 2012-11-05 16:21:38 +0000 (Mon, 05 Nov 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/cubature/EfBilanHelper.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/operation/EfLineFlowrateResult.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinNewReader.java
Added Paths:
-----------
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/operation/EfVectorComputation.java
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/cubature/EfBilanHelper.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/cubature/EfBilanHelper.java 2012-11-05 14:43:17 UTC (rev 7859)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/cubature/EfBilanHelper.java 2012-11-05 16:21:38 UTC (rev 7860)
@@ -1,11 +1,13 @@
/**
- * Licence GPL
- * Copyright Genesis
+ * Licence GPL Copyright Genesis
*/
package org.fudaa.dodico.ef.cubature;
import org.fudaa.dodico.ef.EfData;
+import org.fudaa.dodico.ef.operation.EfLineFlowrateResult;
+import org.fudaa.dodico.ef.operation.EfLineIntersection;
import org.fudaa.dodico.ef.operation.EfLineIntersectionsResultsI;
+import org.fudaa.dodico.ef.operation.EfVectorComputation;
/**
* @author deniger
@@ -13,9 +15,9 @@
public class EfBilanHelper {
/**
- * Integration des donnees par la methode des trapezes entre la courbe representee par les x et y et la droite d\xE9finie
- * par la fonction affine de coeff a et d'ordonn\xE9\xE9e a l origine b y=a*x+b
- *
+ * Integration des donnees par la methode des trapezes entre la courbe representee par les x1 et y1 et la droite d\xE9finie par la fonction affine de
+ * coeff a et d'ordonn\xE9\xE9e a l origine b y1=a*x1+b
+ *
* @param lx
* @param ly
* @return
@@ -65,7 +67,7 @@
}
} else {
- // x2=x droite d equation x=Cste
+ // x2=x1 droite d equation x1=Cste
xIntersect = x;
yIntersect = a * x + b;
@@ -89,82 +91,37 @@
}
/**
- * Calcule l'aire du trapeze en utilisant un objet EfLineIntersectionsResultsI. EfLineIntersectionsResultsI fonctionne
- * de la maniere suivante: getNbIntersect():donne le nombre de points getDistFromDeb(i) donne le Xi: distance entre le
- * debut et le point getIntersect(i) getValueBadInterpolation(EfData _d) donne le y associ\xE9 au x
+ * Calcule l'aire du trapeze en utilisant un objet EfLineIntersectionsResultsI. EfLineIntersectionsResultsI fonctionne de la maniere suivante:
+ * getNbIntersect():donne le nombre de points getDistFromDeb(i) donne le Xi: distance entre le debut et le point getIntersect(i)
+ * getValueBadInterpolation(EfData _d) donne le y1 associ\xE9 au x1
*/
public static EfDataIntegrale integrerMethodeTrapeze(EfLineIntersectionsResultsI _interfaceResults, EfData _crbdata,
- double seuil) {
+ double seuil) {
EfDataIntegrale data = new EfDataIntegrale();
for (int i = 0; i < _interfaceResults.getNbIntersect() - 1; i++) {
// on ne traite pas ce cas,
- if (_interfaceResults.isSegmentOut(i)) continue;
- double x = _interfaceResults.getDistFromDeb(i);
+ if (_interfaceResults.isSegmentOut(i)) {
+ continue;
+ }
+ double x1 = _interfaceResults.getDistFromDeb(i);
double x2 = _interfaceResults.getDistFromDeb(i + 1);
- double y = _interfaceResults.getIntersect(i).getValueBadInterpolation(_crbdata);
+ double y1 = _interfaceResults.getIntersect(i).getValueBadInterpolation(_crbdata);
double y2 = _interfaceResults.getIntersect(i + 1).getValueBadInterpolation(_crbdata);
-
- if (y >= seuil && y2 >= seuil) {
- // courbe au dessus de la ligne
- data.addZonePlus(calculAireTrapeze(x, y, x2, y2, seuil, seuil));
- } else if (y <= seuil && y2 <= seuil) {
- // courbe en dessous de la ligne
- data.addZoneMoins(calculAireTrapeze(x, y, x2, y2, seuil, seuil));
- } else {
- // cas particulier : intersection, on calcule l'intersection entre les
- // points
- final double yIntersect = seuil;
- double xIntersect = 0;
- // on prend la droite form\xE9e par les 2 points et on calcule son
- // intersection avec la droite affine
- if (x2 - x != 0) {
- // droite non parrallele a l axe des ordonn\xE9e !
- double coefDirecteur = (y2 - y) / (x2 - x);
- double ordoOrigine = y2 - coefDirecteur * x2;
-
- // intersection de droites avec le seuil
- // yIntersect = seuil;
-
- if (coefDirecteur != 0)
- // droie non parallele au seuil
- xIntersect = (yIntersect - ordoOrigine) / coefDirecteur;
- else {
- // droite parrallele confondue au seuil, on ne fais rien...
- }
-
- } else {
- // x2=x droite perpendiculaire au seuil, le point d'intersection est
- // donc (x,seuil)
- xIntersect = x;
- // yIntersect = seuil;
- }
-
- // maintenant que l on a le point d'intersection, on test si on ajoute en positif ou negatif
- if (y >= seuil && y2 <= seuil) {
- data.addZonePlus(calculAireTrapeze(x, y, xIntersect, yIntersect, seuil, seuil));
- data.addZoneMoins(calculAireTrapeze(xIntersect, yIntersect, x2, y2, seuil, seuil));
-
- } else {
- data.addZoneMoins(calculAireTrapeze(x, y, xIntersect, yIntersect, seuil, seuil));
- data.addZonePlus(calculAireTrapeze(xIntersect, yIntersect, x2, y2, seuil, seuil));
- }
-
- }
-
+ computeBilan(x1, x2, y1, y2, seuil, data);
}
return data;
}
/**
- * calcul de l'aire du trapeze form\xE9 par les 4 points (x,y) (x2,y2) (x,y3) (x2,y4)
+ * calcul de l'aire du trapeze form\xE9 par les 4 points (x1,y1) (x2,y2) (x1,y3) (x2,y4)
*/
public static double calculAireTrapeze(double x, double y, double x2, double y2, double y3, double y4) {
// 1: calcul de la hauteur
double h = Math.abs(x2 - x);
- // 2 base 1: coordonnees cartesiennes entre le point x,y et x,y3
+ // 2 base 1: coordonnees cartesiennes entre le point x1,y1 et x1,y3
double base1 = Math.abs(y3 - y);
// 3 base 2: coordonnees cartesiennes entre le point x2,y2 et x2,y4
double base2 = Math.abs(y4 - y2);
@@ -172,4 +129,120 @@
return h * (base1 + base2) / 2;
}
+ public static EfDataIntegrale integrerMethodeTrapezeVector(EfLineIntersectionsResultsI interfaceRes, EfData vxData, EfData vyData, double seuil) {
+ EfDataIntegrale data = new EfDataIntegrale();
+ EfVectorComputation vectorComputation = new EfVectorComputation();
+
+ for (int i = 0; i < interfaceRes.getNbIntersect() - 1; i++) {
+ // on ne traite pas ce cas,
+ if (interfaceRes.isSegmentOut(i)) {
+ continue;
+ }
+ final EfLineIntersection intersect1 = interfaceRes.getIntersect(i);
+ final EfLineIntersection intersect2 = interfaceRes.getIntersect(i + 1);
+
+ vectorComputation.vx1_ = intersect1.getValueBadInterpolation(vxData);
+ vectorComputation.vy1_ = intersect1.getValueBadInterpolation(vyData);
+ vectorComputation.vx2_ = intersect2.getValueBadInterpolation(vxData);
+ vectorComputation.vy2_ = intersect2.getValueBadInterpolation(vyData);
+ vectorComputation.x1_ = intersect1.getX();
+ vectorComputation.y1_ = intersect1.getY();
+ vectorComputation.x2_ = intersect2.getX();
+ vectorComputation.y2_ = intersect2.getY();
+
+ double x1 = interfaceRes.getDistFromDeb(i);
+ double x2 = interfaceRes.getDistFromDeb(i + 1);
+ double y1 = vectorComputation.getV1();
+ double y2 = vectorComputation.getV2();
+ computeBilan(x1, x2, y1, y2, seuil, data);
+ }
+
+ return data;
+ }
+
+ public static EfDataIntegrale integrerMethodeTrapezeFlowrate(EfLineIntersectionsResultsI interfaceRes, EfData vxData, EfData vyData, EfData h, double seuil) {
+ EfDataIntegrale data = new EfDataIntegrale();
+ EfVectorComputation vectorComputation = new EfVectorComputation();
+
+ for (int i = 0; i < interfaceRes.getNbIntersect() - 1; i++) {
+ // on ne traite pas ce cas,
+ if (interfaceRes.isSegmentOut(i)) {
+ continue;
+ }
+ final EfLineIntersection intersect1 = interfaceRes.getIntersect(i);
+ final EfLineIntersection intersect2 = interfaceRes.getIntersect(i + 1);
+
+ vectorComputation.vx1_ = intersect1.getValueBadInterpolation(vxData);
+ vectorComputation.vy1_ = intersect1.getValueBadInterpolation(vyData);
+
+
+ vectorComputation.vx2_ = intersect2.getValueBadInterpolation(vxData);
+ vectorComputation.vy2_ = intersect2.getValueBadInterpolation(vyData);
+
+ vectorComputation.x1_ = intersect1.getX();
+ vectorComputation.y1_ = intersect1.getY();
+ vectorComputation.x2_ = intersect2.getX();
+ vectorComputation.y2_ = intersect2.getY();
+
+ double h1 = intersect1.getValueBadInterpolation(h);
+ double h2 = intersect2.getValueBadInterpolation(h);
+
+ double x1 = interfaceRes.getDistFromDeb(i);
+ double x2 = interfaceRes.getDistFromDeb(i + 1);
+ double y1 = vectorComputation.getV1() * h1;
+ double y2 = vectorComputation.getV2() * h2;
+ computeBilan(x1, x2, y1, y2, seuil, data);
+ }
+
+ return data;
+ }
+
+ private static void computeBilan(double x1, double x2, double y1, double y2, double seuil, EfDataIntegrale targetData) {
+ if (y1 >= seuil && y2 >= seuil) {
+ // courbe au dessus de la ligne
+ targetData.addZonePlus(calculAireTrapeze(x1, y1, x2, y2, seuil, seuil));
+ } else if (y1 <= seuil && y2 <= seuil) {
+ // courbe en dessous de la ligne
+ targetData.addZoneMoins(calculAireTrapeze(x1, y1, x2, y2, seuil, seuil));
+ } else {
+ // cas particulier : intersection, on calcule l'intersection entre les
+ // points
+ final double yIntersect = seuil;
+ double xIntersect = 0;
+ // on prend la droite form\xE9e par les 2 points et on calcule son
+ // intersection avec la droite affine
+ if (x2 - x1 != 0) {
+ // droite non parrallele a l axe des ordonn\xE9e !
+ double coefDirecteur = (y2 - y1) / (x2 - x1);
+ double ordoOrigine = y2 - coefDirecteur * x2;
+
+ // intersection de droites avec le seuil
+ // yIntersect = seuil;
+
+ if (coefDirecteur != 0) // droie non parallele au seuil
+ {
+ xIntersect = (yIntersect - ordoOrigine) / coefDirecteur;
+ } else {
+ // droite parrallele confondue au seuil, on ne fais rien...
+ }
+
+ } else {
+ // x2=x1 droite perpendiculaire au seuil, le point d'intersection est
+ // donc (x1,seuil)
+ xIntersect = x1;
+ // yIntersect = seuil;
+ }
+
+ // maintenant que l on a le point d'intersection, on test si on ajoute en positif ou negatif
+ if (y1 >= seuil && y2 <= seuil) {
+ targetData.addZonePlus(calculAireTrapeze(x1, y1, xIntersect, yIntersect, seuil, seuil));
+ targetData.addZoneMoins(calculAireTrapeze(xIntersect, yIntersect, x2, y2, seuil, seuil));
+
+ } else {
+ targetData.addZoneMoins(calculAireTrapeze(x1, y1, xIntersect, yIntersect, seuil, seuil));
+ targetData.addZonePlus(calculAireTrapeze(xIntersect, yIntersect, x2, y2, seuil, seuil));
+ }
+
+ }
+ }
}
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/operation/EfLineFlowrateResult.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/operation/EfLineFlowrateResult.java 2012-11-05 14:43:17 UTC (rev 7859)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/operation/EfLineFlowrateResult.java 2012-11-05 16:21:38 UTC (rev 7860)
@@ -20,60 +20,11 @@
/**
* Une classe permettant de calculer le d\xE9bit \xE0 partir d'un profil.
- *
+ *
* @author fred deniger
* @version $Id: EfLineFlowrateResult.java,v 1.4 2007-06-13 12:55:42 deniger Exp $
*/
public class EfLineFlowrateResult {
-
- private class Compute {
- double eps_ = 1E-5;
-
- double h1_;
-
- double h2_;
- double vx1_;
- double vx2_;
- double vy1_;
- double vy2_;
- double x1_;
- double x2_;
- double y1_;
- double y2_;
-
- public Compute() {
- super();
- }
-
- double getQ() {
- double q1 = h1_ * getV1();
- double q2 = h2_ * getV2();
- return (q1 + q2) * CtuluLibGeometrie.getDistance(x1_, y1_, x2_, y2_) / 2;
- }
-
- double getV1() {
- return getV(vx1_, vy1_);
- }
-
- double getV2() {
- return getV(vx2_, vy2_);
- }
-
- double getV(double _vx, double _vy) {
- // le vecteur de x1 vers x2
- double vxs = (x2_ - x1_);
- double vys = (y2_ - y1_);
- double norme = Math.hypot(vxs, vys);
- // norme nulle ->pas de vitesse
- if (norme == 0) return 0;
- // le coupe v, vs doit etre dans le sens trigo
- // on normalise v
- double vx = vys / norme;
- double vy = -vxs / norme;
- return vx * _vx + vy * _vy; // /1
- }
- }
-
EfLineIntersectionsResultsBuilder res_;
/**
* L'identifiant pour la vitesse selon x.
@@ -87,22 +38,21 @@
* L'identifiant pour la hauteur d'eau.
*/
final CtuluVariable h_;
+ final EfVectorComputation calculator_;
- final Compute calculator_;
-
public EfLineFlowrateResult(EfLineIntersectionsResultsBuilder _res, final CtuluVariable _vx, final CtuluVariable _vy,
- final CtuluVariable _h) {
+ final CtuluVariable _h) {
super();
res_ = _res;
vx_ = _vx;
vy_ = _vy;
h_ = _h;
- calculator_ = new Compute();
+ calculator_ = new EfVectorComputation();
}
/**
* Calcul le d\xE9bit entre le point (_idxPtOnProfil) et (_idxPtOnProfil+1).
- *
+ *
* @param _idxPtOnProfil l'indice du point sur les intersections. Ne fait pas de calcul pour le dernier point =0
* @param _vx les vitesses selon x
* @param _vy les vitesses selon y
@@ -110,7 +60,9 @@
* @return le d\xE9bit
*/
double getQ(int _idxPtOnProfil, EfData _vx, EfData _vy, EfData _h, EfLineIntersectionsResultsI _res) {
- if (_idxPtOnProfil >= _res.getNbIntersect() - 1) return 0;
+ if (_idxPtOnProfil >= _res.getNbIntersect() - 1) {
+ return 0;
+ }
// le point 1
int idx = _idxPtOnProfil;
calculator_.x1_ = _res.getIntersect(idx).getX();
@@ -145,13 +97,17 @@
FuLog.error(_evt);
}
- if (vx == null || vy == null || h == null) return 0;
+ if (vx == null || vy == null || h == null) {
+ return 0;
+ }
double q = 0;
EfLineIntersectionsResultsI res = res_.createResults(_tidx, _prog);
ProgressionUpdater up = new ProgressionUpdater(_prog);
up.setValue(10, res.getNbIntersect() - 1);
for (int i = 0; i < res.getNbIntersect() - 1; i++) {
- if (res.isSegmentIn(i)) q += getQ(i, vx, vy, h, res);
+ if (res.isSegmentIn(i)) {
+ q += getQ(i, vx, vy, h, res);
+ }
up.majAvancement();
}
return q;
Added: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/operation/EfVectorComputation.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/operation/EfVectorComputation.java (rev 0)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/operation/EfVectorComputation.java 2012-11-05 16:21:38 UTC (rev 7860)
@@ -0,0 +1,66 @@
+/*
+ GPL 2
+ */
+package org.fudaa.dodico.ef.operation;
+
+import org.fudaa.ctulu.gis.CtuluLibGeometrie;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class EfVectorComputation {
+
+ /**
+ * utiliser pour calculer le d\xE9bit
+ */
+ public double h1_;
+ /**
+ * utiliser pour calculer le d\xE9bit
+ */
+ public double h2_;
+ public double vx1_;
+ public double vx2_;
+ public double vy1_;
+ public double vy2_;
+ public double x1_;
+ public double x2_;
+ public double y1_;
+ public double y2_;
+
+ public EfVectorComputation() {
+ super();
+ }
+
+ public double getQ() {
+ double q1 = h1_ * getV1();
+ double q2 = h2_ * getV2();
+ return (q1 + q2) * CtuluLibGeometrie.getDistance(x1_, y1_, x2_, y2_) / 2;
+ }
+
+ public double getV1() {
+ return getV(vx1_, vy1_);
+ }
+
+ public double getV2() {
+ return getV(vx2_, vy2_);
+ }
+
+ double getV(double _vx, double _vy) {
+ // le vecteur de x1 vers x2
+ double vxs = x2_ - x1_;
+ double vys = y2_ - y1_;
+ double norme = Math.hypot(vxs, vys);
+ // norme nulle ->pas de vitesse
+ if (norme == 0) {
+ return 0;
+ }
+ // le coupe v, vs doit etre dans le sens trigo
+ // on normalise v
+ double vx = vys / norme;
+ double vy = -vxs / norme;
+ return vx * _vx + vy * _vy; // /1
+ // /1
+ // /1
+ }
+}
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinNewReader.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinNewReader.java 2012-11-05 14:43:17 UTC (rev 7859)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinNewReader.java 2012-11-05 16:21:38 UTC (rev 7860)
@@ -115,7 +115,7 @@
final String titre = helper_.getStingFromBuffer(80).trim();
// on lit le titre
inter.setTitre(titre);
- if (titre != null) {
+ if (titre != null && titre.length()==80) {
int lastChar = titre.length() - 1;
xYdoublePrecision = 'D' == titre.charAt(lastChar);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2012-12-18 11:28:03
|
Revision: 8149
http://fudaa.svn.sourceforge.net/fudaa/?rev=8149&view=rev
Author: deniger
Date: 2012-12-18 11:27:56 +0000 (Tue, 18 Dec 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-ef/core/src/main/resources/org/fudaa/dodico/ef/resource/ef_en.fr_txt
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/AbstractTriangulationPolyData.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationPolyDataDefault.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationUniqueDataContentBuilder.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/mesh/MeshFormatHelper.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/supertab/SuperTabReader.java
trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/mesh/TestMeshReader.java
trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleEleReaderTest.java
Added Paths:
-----------
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationPolyDataConvexHullAdapter.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangulationPolyDataNodeDefault.java
Removed Paths:
-------------
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyDataNodeDefault.java
Modified: trunk/business/fudaa-ef/core/src/main/resources/org/fudaa/dodico/ef/resource/ef_en.fr_txt
===================================================================
--- trunk/business/fudaa-ef/core/src/main/resources/org/fudaa/dodico/ef/resource/ef_en.fr_txt 2012-12-18 10:56:37 UTC (rev 8148)
+++ trunk/business/fudaa-ef/core/src/main/resources/org/fudaa/dodico/ef/resource/ef_en.fr_txt 2012-12-18 11:27:56 UTC (rev 8149)
@@ -50,4 +50,5 @@
Cr\xE9ation des noeuds=Creating nodes
Cr\xE9ation des \xE9l\xE9ments=Creating meshes
L'\xE9l\xE9ment {0} contient des indices de noeuds erron\xE9s=The mesh {0} contains bad nodes indexes
-Le noeud {0} n'est pas utilis\xE9=The node {0} is not used
\ No newline at end of file
+Le noeud {0} n'est pas utilis\xE9=The node {0} is not used
+Une seule enveloppe externe doit \xEAtre d\xE9finie=Only one convex hull must be defined
\ No newline at end of file
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/AbstractTriangulationPolyData.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/AbstractTriangulationPolyData.java 2012-12-18 10:56:37 UTC (rev 8148)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/AbstractTriangulationPolyData.java 2012-12-18 11:27:56 UTC (rev 8149)
@@ -31,7 +31,6 @@
this.rings = rings;
}
- @Override
public int getNbAttributes() {
return useZAsAttribute ? 1 : 0;
}
@@ -51,7 +50,6 @@
return holes[idxPoly];
}
- @Override
public double getPolyAttributes(int idxPoly, int idxPtInPoly, int idxAtt) {
return getPoly(idxPoly).getCoordinateSequence().getCoordinate(idxPtInPoly).z;
}
Copied: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationPolyDataConvexHullAdapter.java (from rev 8141, trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationPolyDataDefault.java)
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationPolyDataConvexHullAdapter.java (rev 0)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationPolyDataConvexHullAdapter.java 2012-12-18 11:27:56 UTC (rev 8149)
@@ -0,0 +1,58 @@
+/*
+ GPL 2
+ */
+package org.fudaa.dodico.ef.io.common;
+
+import com.vividsolutions.jts.geom.LinearRing;
+
+/**
+ * une impl\xE9ementation par defaut avec les z comme attributs.
+ *
+ * @author Frederic Deniger
+ */
+public class TriangulationPolyDataConvexHullAdapter extends AbstractTriangulationPolyData {
+
+ private final TriangulationPolyDataInterface init;
+ private final LinearRing convexHull;
+
+ public TriangulationPolyDataConvexHullAdapter(TriangulationPolyDataInterface init, LinearRing convexHull) {
+ this.init = init;
+ this.convexHull = convexHull;
+ }
+
+ @Override
+ public int getNbPoints() {
+ return init.getNbPoints();
+ }
+
+ @Override
+ public double getPtX(int idxPt) {
+ return init.getPtX(idxPt);
+ }
+
+ @Override
+ public double getPtY(int idxPt) {
+ return init.getPtY(idxPt);
+ }
+
+ @Override
+ public int getNbPoly() {
+ return init.getNbPoly() + 1;
+ }
+
+ @Override
+ public LinearRing getPoly(int idxPoly) {
+ if (idxPoly == 0) {
+ return convexHull;
+ }
+ return init.getPoly(idxPoly - 1);
+ }
+
+ @Override
+ public boolean isHole(int idxPoly) {
+ if (idxPoly == 0) {
+ return false;
+ }
+ return init.isHole(idxPoly - 1);
+ }
+}
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationPolyDataDefault.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationPolyDataDefault.java 2012-12-18 10:56:37 UTC (rev 8148)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationPolyDataDefault.java 2012-12-18 11:27:56 UTC (rev 8149)
@@ -36,7 +36,6 @@
return coordinates[idxPt].y;
}
- @Override
public double getPtAttributes(int idxPt, int idxAtt) {
return coordinates[idxPt].z;
}
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationUniqueDataContentBuilder.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationUniqueDataContentBuilder.java 2012-12-18 10:56:37 UTC (rev 8148)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationUniqueDataContentBuilder.java 2012-12-18 11:27:56 UTC (rev 8149)
@@ -18,20 +18,20 @@
* @author Frederic Deniger
*/
public class TriangulationUniqueDataContentBuilder {
-
+
TriangulationPolyDataInterface in;
CoordinateComparator coordinateComparator;
-
+
public TriangulationUniqueDataContentBuilder(TriangulationPolyDataInterface in) {
this.in = in;
coordinateComparator = new CoordinateComparator();
}
-
+
public TriangulationUniqueDataContentBuilder(TriangulationPolyDataInterface in, double eps) {
this.in = in;
coordinateComparator = new CoordinateComparator(eps);
}
-
+
public TriangulationUniqueDataContent build(ProgressionInterface prog) {
List<Coordinate> ptCoordinate = new ArrayList<Coordinate>();
TIntArrayList linearRingContainingPoint = new TIntArrayList();
@@ -40,12 +40,17 @@
final int nbPoly = in.getNbPoly();
ProgressionUpdater updater = new ProgressionUpdater();
updater.setValue(10, nb + nbPoly);
+ int idxPtAdded = 0;
for (int i = 0; i < nb; i++) {
final Coordinate coordinate = new Coordinate(in.getPtX(i), in.getPtY(i));
- //point interne:
- linearRingContainingPoint.add(-1);
- ptCoordinate.add(coordinate);
- idxByCoordinate.put(coordinate, i);
+ if (!idxByCoordinate.containsKey(coordinate)) {
+ ptCoordinate.add(coordinate);
+ //point interne:
+ linearRingContainingPoint.add(-1);
+ idxByCoordinate.put(coordinate, idxPtAdded++);
+ } else {
+ System.err.println("yes evite");
+ }
updater.majAvancement();
}
int[][] idx = new int[nbPoly][];
@@ -68,6 +73,6 @@
}
updater.majAvancement();
}
- return new TriangulationUniqueDataContent(ptCoordinate,linearRingContainingPoint.toNativeArray(), idx);
+ return new TriangulationUniqueDataContent(ptCoordinate, linearRingContainingPoint.toNativeArray(), idx);
}
}
Copied: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java (from rev 8141, trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriter.java)
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java (rev 0)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java 2012-12-18 11:27:56 UTC (rev 8149)
@@ -0,0 +1,233 @@
+/*
+ GPL 2
+ */
+package org.fudaa.dodico.ef.io.gmsh;
+
+import com.vividsolutions.jts.algorithm.ConvexHull;
+import com.vividsolutions.jts.geom.Coordinate;
+import org.fudaa.dodico.ef.io.triangle.*;
+import org.fudaa.dodico.ef.io.common.TriangulationPolyDataInterface;
+import com.vividsolutions.jts.geom.LinearRing;
+import com.vividsolutions.jts.geom.Polygon;
+import gnu.trove.TIntArrayList;
+import gnu.trove.TIntHashSet;
+import java.io.IOException;
+import java.text.DecimalFormat;
+import java.util.TreeSet;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.fudaa.ctulu.CtuluLib;
+import org.fudaa.ctulu.ProgressionUpdater;
+import org.fudaa.ctulu.gis.GISGeometryFactory;
+import org.fudaa.ctulu.gis.comparator.CoordinateComparator;
+import org.fudaa.dodico.commun.DodicoLib;
+import org.fudaa.dodico.ef.io.EfIOResource;
+import org.fudaa.dodico.ef.io.common.TriangulationPolyDataConvexHullAdapter;
+import org.fudaa.dodico.ef.io.common.TriangulationUniqueDataContent;
+import org.fudaa.dodico.ef.io.common.TriangulationUniqueDataContentBuilder;
+import org.fudaa.dodico.fortran.FileOpWriterCharSimpleAbstract;
+
+/**
+ * Permet d'\xE9crire un fichier d'entr\xE9e pour GMSH. Par contre, le mailleur ne semble pas extr\xEAmenent robuste.
+ * Lors de l'\xE9criture du fichier geo, on teste qu'il y ait au plus un polygone externe. Si plus erreur. si 0, on cr\xE9e l'enveloppe convexe.
+ * http://geuz.org/gmsh/doc/texinfo/gmsh.html La pr\xE9cision par d\xE9faut est tres grande. Pour la modifier, il faut appeler setPrec(): setPrec(1) par
+ * exemple. Voir la doc de gmsh pour plus d'information.
+ *
+ * @author Frederic Deniger
+ */
+public class GmshGeoWriter extends FileOpWriterCharSimpleAbstract {
+
+ @Override
+ protected void internalWrite(final Object _o) {
+ if (_o instanceof TriangulationPolyDataInterface) {
+ try {
+ writePoly((TriangulationPolyDataInterface) _o);
+ } catch (IOException ex) {
+ Logger.getLogger(TrianglePolyWriter.class.getName()).log(Level.SEVERE, null, ex);
+ analyze_.manageException(ex);
+ }
+ } else {
+ analyze_.addFatalError(DodicoLib.getS("Donn\xE9es invalides"));
+ }
+ }
+ /**
+ * Voir http://geuz.org/gmsh/doc/texinfo/gmsh.html.
+ */
+ private String prec = "4";//pr\xE9cision trop grande pour les maillages...
+// private String prec = "1";
+
+ public void setPrec(String prec) {
+ this.prec = prec;
+ }
+
+ private void writePoly(TriangulationPolyDataInterface initData) throws IOException {
+ TriangulationPolyDataInterface data = initData;
+ if (data == null) {
+ analyze_.addFatalError(EfIOResource.getS("Les donn\xE9es sont nulles"));
+ return;
+ }
+ if (out_ == null) {
+ analyze_.addFatalError(DodicoLib.getS("Le flux de sortie est nul"));
+ return;
+ }
+ int nbExtern = 0;
+ int nbPoly = data.getNbPoly();
+ for (int i = 0; i < nbPoly; i++) {
+ if (!data.isHole(i)) {
+ nbExtern++;
+ }
+ }
+ if (nbExtern > 1) {
+ analyze_.addFatalError(EfIOResource.getS("Une seule enveloppe externe doit \xEAtre d\xE9finie"));
+ }
+ if (nbExtern == 0) {
+ TreeSet<Coordinate> cs = new TreeSet<Coordinate>(new CoordinateComparator());
+ for (int idxPoint = 0; idxPoint < data.getNbPoints(); idxPoint++) {
+ cs.add(new Coordinate(data.getPtX(idxPoint), data.getPtY(idxPoint)));
+ }
+ for (int idxPoly = 0; idxPoly < data.getNbPoly(); idxPoly++) {
+ LinearRing poly = data.getPoly(idxPoly);
+ for (int idxPt = 0; idxPt < poly.getNumPoints(); idxPt++) {
+ cs.add(new Coordinate(poly.getCoordinateN(idxPt)));
+ }
+ }
+ Coordinate[] coordinates = (Coordinate[]) cs.toArray(new Coordinate[cs.size()]);
+ ConvexHull convexHull = new ConvexHull(coordinates, GISGeometryFactory.INSTANCE);
+ Object o = convexHull.getConvexHull();
+ if (o instanceof Polygon) {
+ o = ((Polygon) o).getExteriorRing();
+ }
+ data = new TriangulationPolyDataConvexHullAdapter(data, (LinearRing) o);
+
+ }
+ nbPoly = data.getNbPoly();
+ TriangulationUniqueDataContentBuilder builder = new TriangulationUniqueDataContentBuilder(data);
+ TriangulationUniqueDataContent content = builder.build(progress_);
+
+ int nbPointsTotal = content.getNbPoints();
+ ProgressionUpdater updater = new ProgressionUpdater(progress_);
+ updater.setValue(10, nbPointsTotal);
+ updater.majProgessionStateOnly(EfIOResource.getS("Ecriture des points"));
+
+ //ensuite
+ //Point(1) = {0.75, -0.36, 0, 1.0};
+ //contient les points non inclus dans les lignes
+ TIntHashSet pointInSurface = new TIntHashSet();
+ DecimalFormat fmt = CtuluLib.getDecimalFormat(3);
+ for (int i = 0; i < nbPointsTotal; i++) {
+ writeString("Point(");
+ writeInt(i + 1);
+ pointInSurface.add(i + 1);
+ writeString(") = {");
+ writeString(fmt.format(content.getX(i)));
+ writeString(",");
+ writeString(fmt.format(content.getY(i)));
+ writeString(", 0, ");
+ writeString(prec);
+ writeString("};");
+ writelnToOut();
+ updater.majAvancement();
+ }
+ int nbSegment = 0;
+ for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
+ LinearRing poly = data.getPoly(idxPoly);
+ //premier point = dernier point donc -1
+ int numPoints = poly.getNumPoints() - 1;
+ nbSegment = nbSegment + numPoints;
+ }
+ //One line: <# of segments> <# of boundary markers (0 or 1)>
+ //calcul du nombre de segment.
+ updater.setValue(10, nbSegment);
+ updater.majProgessionStateOnly(EfIOResource.getS("Ecriture des segments"));
+ //Line(1) = {22, 21};
+ int globalIdxSeg = 1;
+ //contient les indices des lignes par surfaces
+ TIntArrayList[] segmentBySurface = new TIntArrayList[nbPoly];
+ for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
+ segmentBySurface[idxPoly] = new TIntArrayList();
+ LinearRing poly = data.getPoly(idxPoly);
+ int numPoints = poly.getNumPoints() - 2;//le dernier segment est \xE9crit apr\xE8s
+ for (int idxPt = 0; idxPt < numPoints; idxPt++) {
+ writeString("Line(");
+ segmentBySurface[idxPoly].add(globalIdxSeg);
+ writeInt(globalIdxSeg++);
+ writeString(") = {");
+ final int idxVertex = content.getPtIdxFor(idxPoly, idxPt) + 1;
+ writeInt(idxVertex);
+ writeString(",");
+ final int idxVertexNext = content.getPtIdxFor(idxPoly, idxPt + 1) + 1;
+ pointInSurface.remove(idxVertex);
+ pointInSurface.remove(idxVertexNext);
+ writeInt(idxVertexNext);
+ writeString("};");
+ writelnToOut();
+ updater.majAvancement();
+ }
+ //le segment fermant
+ writeString("Line(");
+ segmentBySurface[idxPoly].add(globalIdxSeg);
+ writeInt(globalIdxSeg++);
+ writeString(") = {");
+ final int idxVertex = content.getPtIdxFor(idxPoly, numPoints) + 1;
+ writeInt(idxVertex);
+ writeString(",");
+ final int idxVertexNext = content.getPtIdxFor(idxPoly, 0) + 1;
+ writeInt(idxVertexNext);
+ pointInSurface.remove(idxVertex);
+ pointInSurface.remove(idxVertexNext);
+ writeString("};");
+ writelnToOut();
+ updater.majAvancement();
+ }
+ int idxLineExterne = -1;
+// Line Loop(19) = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 1};
+ int firstLineLoopIdx = globalIdxSeg;
+ for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
+ if (!data.isHole(idxPoly)) {
+ idxLineExterne = globalIdxSeg;
+ }
+ final TIntArrayList lineLoop = segmentBySurface[idxPoly];
+ writeString("Line Loop(");
+ writeInt(globalIdxSeg++);
+ writeString(") = {");
+ for (int segIdx = 0; segIdx < lineLoop.size(); segIdx++) {
+ if (segIdx > 0) {
+ writeString(", ");
+ }
+ writeInt(lineLoop.get(segIdx));
+ }
+ writeString("};");
+ writelnToOut();
+ }
+ //Plane Surface(21) = {19, 20};
+ writeString("Plane Surface(");
+ writeInt(globalIdxSeg++);
+ writeString(") = {");
+ //la surface externe
+ writeInt(idxLineExterne);
+ //les trous
+ if (nbPoly > 1) {
+ for (int idxLoop = firstLineLoopIdx; idxLoop < globalIdxSeg; idxLoop++) {
+ if (idxLoop != idxLineExterne) {
+ writeString(", ");
+ writeInt(idxLoop);
+ }
+ }
+ }
+ writeString("};");
+ writelnToOut();
+//Point{2, 3...., 18} In Surface{21};
+ writeString("Point{");
+ int[] toArray = pointInSurface.toArray();
+ int size = toArray.length;
+ for (int idxPt = 0; idxPt < size; idxPt++) {
+ if (idxPt > 0) {
+ writeString(", ");
+ }
+ writeInt(toArray[idxPt]);
+ }
+ writeString("} In Surface{");
+ writeInt(globalIdxSeg - 1);
+ writeString("};");
+ }
+}
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/mesh/MeshFormatHelper.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/mesh/MeshFormatHelper.java 2012-12-18 10:56:37 UTC (rev 8148)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/mesh/MeshFormatHelper.java 2012-12-18 11:27:56 UTC (rev 8149)
@@ -1,8 +1,6 @@
package org.fudaa.dodico.ef.io.mesh;
-import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.List;
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/supertab/SuperTabReader.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/supertab/SuperTabReader.java 2012-12-18 10:56:37 UTC (rev 8148)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/supertab/SuperTabReader.java 2012-12-18 11:27:56 UTC (rev 8149)
@@ -20,6 +20,7 @@
* public enum SuperTabFormat { SUPERTAB_V4, SUPERTAB_V6, }
*/
// private final static int TITLE_SEC = 151;
+
private final static int NODES_SIMPLE_PREC_SEC = 15;
private final static int NODES_DOUBLE_PREC_SEC_V4 = 0;// A enlever je pense
private final static int NODES_DOUBLE_PREC = 2411;// d'apr\xE8s exemple donne
@@ -28,7 +29,8 @@
private final static int ELEMENTS_SEC_V4 = 71;
private final static int ELEMENTS_SEC_V6 = 780;
- public SuperTabReader() {}
+ public SuperTabReader() {
+ }
@Override
protected Object internalRead() {
@@ -57,35 +59,35 @@
sector = this.searchNextSector();
switch (sector) {
- /*
- * case TITLE_SEC : { title = this.readTitle();
- *
- * titleRead = true;
- *
- * break; }
- */
+ /*
+ * case TITLE_SEC : { title = this.readTitle();
+ *
+ * titleRead = true;
+ *
+ * break; }
+ */
- case NODES_SIMPLE_PREC_SEC:
- case NODES_DOUBLE_PREC_SEC_V4:
- case NODES_DOUBLE_PREC_SEC_V6: {
- this.readNodes(nodes, boundaryCond);
- nodesRead = true;
- break;
- }
- case NODES_DOUBLE_PREC: {
- this.readNodesDoublePrec(nodes, boundaryCond);
- nodesRead = true;
- break;
- }
- case ELEMENTS_SEC_DOUBLLE_PREC:
- case ELEMENTS_SEC_V4:
- case ELEMENTS_SEC_V6: {
- type = this.readElements(elements);
- elementsRead = true;
+ case NODES_SIMPLE_PREC_SEC:
+ case NODES_DOUBLE_PREC_SEC_V4:
+ case NODES_DOUBLE_PREC_SEC_V6: {
+ this.readNodes(nodes, boundaryCond);
+ nodesRead = true;
+ break;
+ }
+ case NODES_DOUBLE_PREC: {
+ this.readNodesDoublePrec(nodes, boundaryCond);
+ nodesRead = true;
+ break;
+ }
+ case ELEMENTS_SEC_DOUBLLE_PREC:
+ case ELEMENTS_SEC_V4:
+ case ELEMENTS_SEC_V6: {
+ type = this.readElements(elements);
+ elementsRead = true;
- break;
+ break;
+ }
}
- }
}
} catch (final EOFException eOFException) {
@@ -103,7 +105,7 @@
// EfLib.orienteGrid(grid, progress_, true, analyze_);
return new EfGridSourceDefaut(grid, SuperTabFileFormat.getInstance(), boundaryCond
- .toArray(new ConditionLimiteEnum[boundaryCond.size()]));
+ .toArray(new ConditionLimiteEnum[boundaryCond.size()]));
}
return null;
@@ -111,7 +113,7 @@
/**
* Recherche le num\xE9ro du prochain secteur.
- *
+ *
* @return le num\xE9ro du prochain secteur.
* @throws IOException
*/
@@ -130,7 +132,7 @@
/**
* Recherche le d\xE9but du prochain secteur.
- *
+ *
* @throws IOException
*/
private void searchBeginSector() throws IOException {
@@ -145,13 +147,14 @@
sector = Integer.parseInt(in_.stringField(0));
isIntField = true;
- } catch (Exception e) {}
+ } catch (Exception e) {
+ }
}
}
/**
* Donne le type d'\xE9l\xE9ments pour la grille.
- *
+ *
* @param currentType le type trouv\xE9 actuellement.
* @param nbPts le nombre de points de l'\xE9l\xE9ment test\xE9.
* @return le type d'\xE9l\xE9ments pour la grille.
@@ -164,16 +167,18 @@
} else if (currentType.equals(type)) {
return type;
} else if ((currentType.equals(EfElementType.T3_Q4) && (type.equals(EfElementType.T3) || type
- .equals(EfElementType.Q4)))
- || (currentType.equals(EfElementType.Q4) && type.equals(EfElementType.T3))
- || (currentType.equals(EfElementType.T3) && type.equals(EfElementType.Q4))) { return EfElementType.T3_Q4; }
+ .equals(EfElementType.Q4)))
+ || (currentType.equals(EfElementType.Q4) && type.equals(EfElementType.T3))
+ || (currentType.equals(EfElementType.T3) && type.equals(EfElementType.Q4))) {
+ return EfElementType.T3_Q4;
+ }
return null;
}
/**
* Lit les \xE9l\xE9ments dans le fichier et retourne le type d'\xE9l\xE9ments pour la grille.
- *
+ *
* @param elements la liste des \xE9l\xE9ments.
* @return le type d'\xE9l\xE9ments pour la grille
* @throws IOException
@@ -184,6 +189,15 @@
in_.readFields();
int sector = in_.intField(0);
+ int typeEle = in_.intField(5);
+ //on ignore les segments \xE9ventuels
+ while (typeEle == 2 && sector != -1) {
+ in_.readFields();
+ in_.readFields();
+ in_.readFields();
+ sector = in_.intField(0);
+ typeEle = in_.intField(5);
+ }
while (sector != -1) {
in_.readFields();
@@ -214,7 +228,7 @@
/**
* Lit les points dans le fichier.
- *
+ *
* @param nodes la liste des points.
* @param boundaryCondtion la liste des conditions limites.
* @throws IOException
@@ -238,7 +252,7 @@
/**
* En fortran, les doubles pr\xE9cision sont ecrit avec un D a la place du E
- *
+ *
* @param i l'indice de la colonne a lire
* @return le double lu
*/
@@ -248,7 +262,7 @@
/**
* Lit les points dans le fichier.
- *
+ *
* @param nodes la liste des points.
* @param boundaryCondtion la liste des conditions limites.
* @throws IOException
@@ -274,7 +288,7 @@
/**
* Lit et retourne le titre du fichier.
- *
+ *
* @return le titre du fichier.
* @throws IOException
*/
Deleted: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyDataNodeDefault.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyDataNodeDefault.java 2012-12-18 10:56:37 UTC (rev 8148)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyDataNodeDefault.java 2012-12-18 11:27:56 UTC (rev 8149)
@@ -1,43 +0,0 @@
-/*
- GPL 2
- */
-package org.fudaa.dodico.ef.io.triangle;
-
-import org.fudaa.dodico.ef.io.common.AbstractTriangulationPolyData;
-
-/**
- * une impl\xE9ementation par defaut avec les z comme attributs.
- *
- * @author Frederic Deniger
- */
-public class TrianglePolyDataNodeDefault extends AbstractTriangulationPolyData {
-
- TriangleNodeDataInterface nodeData;
-
- public TrianglePolyDataNodeDefault() {
- }
-
- public void setNodeData(TriangleNodeDataInterface nodeData) {
- this.nodeData = nodeData;
- }
-
- @Override
- public int getNbPoints() {
- return nodeData == null ? 0 : nodeData.getNbPoints();
- }
-
- @Override
- public double getPtX(int idxPt) {
- return nodeData.getX(idxPt);
- }
-
- @Override
- public double getPtY(int idxPt) {
- return nodeData.getY(idxPt);
- }
-
- @Override
- public double getPtAttributes(int idxPt, int idxAtt) {
- return nodeData.getAttributes(idxPt, idxAtt);
- }
-}
Copied: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangulationPolyDataNodeDefault.java (from rev 8141, trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyDataNodeDefault.java)
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangulationPolyDataNodeDefault.java (rev 0)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangulationPolyDataNodeDefault.java 2012-12-18 11:27:56 UTC (rev 8149)
@@ -0,0 +1,42 @@
+/*
+ GPL 2
+ */
+package org.fudaa.dodico.ef.io.triangle;
+
+import org.fudaa.dodico.ef.io.common.AbstractTriangulationPolyData;
+
+/**
+ * une impl\xE9ementation par defaut avec les z comme attributs.
+ *
+ * @author Frederic Deniger
+ */
+public class TriangulationPolyDataNodeDefault extends AbstractTriangulationPolyData {
+
+ TriangleNodeDataInterface nodeData;
+
+ public TriangulationPolyDataNodeDefault() {
+ }
+
+ public void setNodeData(TriangleNodeDataInterface nodeData) {
+ this.nodeData = nodeData;
+ }
+
+ @Override
+ public int getNbPoints() {
+ return nodeData == null ? 0 : nodeData.getNbPoints();
+ }
+
+ @Override
+ public double getPtX(int idxPt) {
+ return nodeData.getX(idxPt);
+ }
+
+ @Override
+ public double getPtY(int idxPt) {
+ return nodeData.getY(idxPt);
+ }
+
+ public double getPtAttributes(int idxPt, int idxAtt) {
+ return nodeData.getAttributes(idxPt, idxAtt);
+ }
+}
Modified: trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/mesh/TestMeshReader.java
===================================================================
--- trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/mesh/TestMeshReader.java 2012-12-18 10:56:37 UTC (rev 8148)
+++ trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/mesh/TestMeshReader.java 2012-12-18 11:27:56 UTC (rev 8149)
@@ -2,13 +2,10 @@
import org.fudaa.ctulu.CtuluIOOperationSynthese;
import org.fudaa.dodico.common.TestIO;
-import org.fudaa.dodico.ef.ConditionLimiteEnum;
-import org.fudaa.dodico.ef.ConditionLimiteHelper;
import org.fudaa.dodico.ef.EfElement;
import org.fudaa.dodico.ef.EfGridInterface;
import org.fudaa.dodico.ef.EfGridSource;
import org.fudaa.dodico.ef.EfNode;
-import org.fudaa.dodico.ef.io.supertab.SuperTabReader;
public class TestMeshReader extends TestIO
{
Modified: trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleEleReaderTest.java
===================================================================
--- trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleEleReaderTest.java 2012-12-18 10:56:37 UTC (rev 8148)
+++ trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleEleReaderTest.java 2012-12-18 11:27:56 UTC (rev 8149)
@@ -3,7 +3,6 @@
*/
package org.fudaa.dodico.ef.io.triangle;
-import junit.framework.TestCase;
import org.fudaa.ctulu.CtuluIOResult;
import org.fudaa.dodico.common.TestIO;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2012-12-20 14:04:22
|
Revision: 8161
http://fudaa.svn.sourceforge.net/fudaa/?rev=8161&view=rev
Author: deniger
Date: 2012-12-20 14:04:14 +0000 (Thu, 20 Dec 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfGrid.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinNewReader.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinWriter.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleEleNodeGridCreator.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeAdapter.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeDataDefault.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeDataInterface.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeWriter.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangulationPolyDataNodeDefault.java
trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeAdapterTest.java
trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeReaderTest.java
trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeWriterTest.java
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfGrid.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfGrid.java 2012-12-20 14:03:22 UTC (rev 8160)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/impl/EfGrid.java 2012-12-20 14:04:14 UTC (rev 8161)
@@ -11,7 +11,6 @@
*/
package org.fudaa.dodico.ef.impl;
-import com.vividsolutions.jts.geom.Envelope;
import org.fudaa.ctulu.ProgressionInterface;
import org.fudaa.ctulu.ProgressionUpdater;
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinNewReader.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinNewReader.java 2012-12-20 14:03:22 UTC (rev 8160)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinNewReader.java 2012-12-20 14:04:14 UTC (rev 8161)
@@ -16,6 +16,7 @@
import java.util.Calendar;
import com.memoire.fu.FuVectordouble;
+import java.io.InputStream;
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.CtuluLibMessage;
@@ -422,7 +423,6 @@
} catch (final FileNotFoundException _e) {
analyze_.manageException(_e);
}
-
}
public long getReadTimeStepFrom() {
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinWriter.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinWriter.java 2012-12-20 14:03:22 UTC (rev 8160)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/serafin/SerafinWriter.java 2012-12-20 14:04:14 UTC (rev 8161)
@@ -89,9 +89,13 @@
return false;
}
- private void setOut(final OutputStream _out) {
+ public void setOut(final OutputStream _out) {
out_ = _out;
+ if (analyze_ == null) {
+ analyze_ = new CtuluAnalyze();
+ }
}
+
private void setProgression(final long _etat) {
if (progress_ != null) {
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleEleNodeGridCreator.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleEleNodeGridCreator.java 2012-12-20 14:03:22 UTC (rev 8160)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleEleNodeGridCreator.java 2012-12-20 14:04:14 UTC (rev 8161)
@@ -51,13 +51,13 @@
}
CtuluIOResult<EFGridArrayZ> createGrid(TriangleNodeDataInterface nodes, TriangleEleDataDefault elts) {
- EfNode[] efNodes = new EfNode[nodes.getNbPoints()];
+ EfNode[] efNodes = new EfNode[nodes.getPtsNb()];
boolean useZ = useFirstAttributesAsZ && nodes.getNbAttributes() >= 1;
ProgressionUpdater updater = new ProgressionUpdater(progression);
updater.setValue(10, efNodes.length);
updater.majProgessionStateOnly(EfIOResource.getS("Cr\xE9ation des noeuds"));
for (int idxNode = 0; idxNode < efNodes.length; idxNode++) {
- efNodes[idxNode] = new EfNode(nodes.getX(idxNode), nodes.getY(idxNode), useZ ? nodes.getAttributes(idxNode, 0) : 0);
+ efNodes[idxNode] = new EfNode(nodes.getPtX(idxNode), nodes.getPtY(idxNode), useZ ? nodes.getAttributes(idxNode, 0) : 0);
updater.majAvancement();
}
BitSet usedNode = new BitSet();
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeAdapter.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeAdapter.java 2012-12-20 14:03:22 UTC (rev 8160)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeAdapter.java 2012-12-20 14:04:14 UTC (rev 8161)
@@ -13,23 +13,11 @@
*/
public class TriangleNodeAdapter extends GisZoneCollectionAsListPointAdapter implements TriangleNodeDataInterface {
-
public TriangleNodeAdapter(GISZoneCollection points) {
super(points);
}
-
@Override
- public double getX(int idxPt) {
- return getCoordinate(idxPt).x;
- }
-
- @Override
- public double getY(int idxPt) {
- return getCoordinate(idxPt).y;
- }
-
- @Override
public int getNbAttributes() {
return 0;
}
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeDataDefault.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeDataDefault.java 2012-12-20 14:03:22 UTC (rev 8160)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeDataDefault.java 2012-12-20 14:04:14 UTC (rev 8161)
@@ -30,17 +30,17 @@
}
@Override
- public int getNbPoints() {
+ public int getPtsNb() {
return x.length;
}
@Override
- public double getX(int idxPt) {
+ public double getPtX(int idxPt) {
return x[idxPt];
}
@Override
- public double getY(int idxPt) {
+ public double getPtY(int idxPt) {
return y[idxPt];
}
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeDataInterface.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeDataInterface.java 2012-12-20 14:03:22 UTC (rev 8160)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeDataInterface.java 2012-12-20 14:04:14 UTC (rev 8161)
@@ -10,21 +10,21 @@
*/
public interface TriangleNodeDataInterface {
- int getNbPoints();
+ int getPtsNb();
/**
*
* @param idxPt entre 0 et getNbPoint-1
* @return x
*/
- double getX(int idxPt);
+ double getPtX(int idxPt);
/**
*
* @param idxPt entre 0 et getNbPoint-1
* @return y
*/
- double getY(int idxPt);
+ double getPtY(int idxPt);
/**
*
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeWriter.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeWriter.java 2012-12-20 14:03:22 UTC (rev 8160)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeWriter.java 2012-12-20 14:04:14 UTC (rev 8161)
@@ -40,7 +40,7 @@
analyze_.addFatalError(DodicoLib.getS("Le flux de sortie est nul"));
return;
}
- final int nbPoints = triangleNodeDataInterface.getNbPoints();
+ final int nbPoints = triangleNodeDataInterface.getPtsNb();
//premiere ligne
// First line: <# of vertices> <dimension (must be 2)> <# of attributes> <# of boundary markers (0 or 1)>
out_.write(Integer.toString(nbPoints));
@@ -65,9 +65,9 @@
for (int i = 0; i < nbPoints; i++) {
out_.write(Integer.toString(i + 1));
writeSpace();
- out_.write(Double.toString(triangleNodeDataInterface.getX(i)));
+ out_.write(Double.toString(triangleNodeDataInterface.getPtX(i)));
writeSpace();
- out_.write(Double.toString(triangleNodeDataInterface.getY(i)));
+ out_.write(Double.toString(triangleNodeDataInterface.getPtY(i)));
if (nbAttributes > 0) {
for (int k = 0; k < nbAttributes; k++) {
writeSpace();
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangulationPolyDataNodeDefault.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangulationPolyDataNodeDefault.java 2012-12-20 14:03:22 UTC (rev 8160)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangulationPolyDataNodeDefault.java 2012-12-20 14:04:14 UTC (rev 8161)
@@ -23,17 +23,17 @@
@Override
public int getNbPoints() {
- return nodeData == null ? 0 : nodeData.getNbPoints();
+ return nodeData == null ? 0 : nodeData.getPtsNb();
}
@Override
public double getPtX(int idxPt) {
- return nodeData.getX(idxPt);
+ return nodeData.getPtX(idxPt);
}
@Override
public double getPtY(int idxPt) {
- return nodeData.getY(idxPt);
+ return nodeData.getPtY(idxPt);
}
public double getPtAttributes(int idxPt, int idxAtt) {
Modified: trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeAdapterTest.java
===================================================================
--- trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeAdapterTest.java 2012-12-20 14:03:22 UTC (rev 8160)
+++ trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeAdapterTest.java 2012-12-20 14:04:14 UTC (rev 8161)
@@ -42,10 +42,10 @@
seq = GISGeometryFactory.INSTANCE.getCoordinateSequenceFactory().create(cs2);
multiPoint.addCoordinateSequence(seq, null, null);
TriangleNodeAdapter adapter = new TriangleNodeAdapter(multiPoint);
- assertEquals(cs1.length + cs2.length, adapter.getNbPoints());
+ assertEquals(cs1.length + cs2.length, adapter.getPtsNb());
for (int i = 0; i < all.size(); i++) {
- assertEquals(all.get(i).x, adapter.getX(i), 1e-10);
- assertEquals(all.get(i).y, adapter.getY(i), 1e-10);
+ assertEquals(all.get(i).x, adapter.getPtX(i), 1e-10);
+ assertEquals(all.get(i).y, adapter.getPtY(i), 1e-10);
}
}
Modified: trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeReaderTest.java
===================================================================
--- trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeReaderTest.java 2012-12-20 14:03:22 UTC (rev 8160)
+++ trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeReaderTest.java 2012-12-20 14:04:14 UTC (rev 8161)
@@ -22,7 +22,7 @@
CtuluIOResult<TriangleNodeDataInterface> read = reader.read();
final TriangleNodeDataInterface source = read.getSource();
assertNotNull(source);
- assertEquals(1775, source.getNbPoints());
+ assertEquals(1775, source.getPtsNb());
assertEquals(1, source.getNbAttributes());
assertTrue(source.containsBoundaryMarkers());
//les markers
@@ -33,10 +33,10 @@
assertDoubleEquals(10, source.getAttributes(0,0));
assertDoubleEquals(10.26, source.getAttributes(1774,0));
//les X
- assertDoubleEquals(753, source.getX(0));
- assertDoubleEquals(322.29000000000002, source.getX(1774));
+ assertDoubleEquals(753, source.getPtX(0));
+ assertDoubleEquals(322.29000000000002, source.getPtX(1774));
//les Y
- assertDoubleEquals(437, source.getY(0));
- assertDoubleEquals(427, source.getY(1774));
+ assertDoubleEquals(437, source.getPtY(0));
+ assertDoubleEquals(427, source.getPtY(1774));
}
}
Modified: trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeWriterTest.java
===================================================================
--- trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeWriterTest.java 2012-12-20 14:03:22 UTC (rev 8160)
+++ trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeWriterTest.java 2012-12-20 14:04:14 UTC (rev 8161)
@@ -36,7 +36,7 @@
source = read.getSource();
assertNotNull(source);
- assertEquals(1775, source.getNbPoints());
+ assertEquals(1775, source.getPtsNb());
assertEquals(1, source.getNbAttributes());
assertTrue(source.containsBoundaryMarkers());
//les markers
@@ -47,10 +47,10 @@
assertDoubleEquals(10, source.getAttributes(0, 0));
assertDoubleEquals(10.26, source.getAttributes(1774, 0));
//les X
- assertDoubleEquals(753, source.getX(0));
- assertDoubleEquals(322.29000000000002, source.getX(1774));
+ assertDoubleEquals(753, source.getPtX(0));
+ assertDoubleEquals(322.29000000000002, source.getPtX(1774));
//les Y
- assertDoubleEquals(437, source.getY(0));
- assertDoubleEquals(427, source.getY(1774));
+ assertDoubleEquals(437, source.getPtY(0));
+ assertDoubleEquals(427, source.getPtY(1774));
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-14 12:43:50
|
Revision: 8204
http://fudaa.svn.sourceforge.net/fudaa/?rev=8204&view=rev
Author: deniger
Date: 2013-01-14 12:43:40 +0000 (Mon, 14 Jan 2013)
Log Message:
-----------
Ajout support filtre de points
Modified Paths:
--------------
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeDataInterface.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriter.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangulationPolyDataNodeDefault.java
trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriterTest.java
Added Paths:
-----------
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/AbstractTriangulationPolyData.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationConvexHullBuilder.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataConvexHullAdapter.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataDefault.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataInterface.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContent.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContentBuilder.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeSupportAdapter.java
Copied: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/AbstractTriangulationPolyData.java (from rev 8186, trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/AbstractTriangulationPolyData.java)
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/AbstractTriangulationPolyData.java (rev 0)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/AbstractTriangulationPolyData.java 2013-01-14 12:43:40 UTC (rev 8204)
@@ -0,0 +1,56 @@
+/*
+ GPL 2
+ */
+package org.fudaa.dodico.ef.triangulation;
+
+import com.vividsolutions.jts.geom.LinearRing;
+
+/**
+ * une impl\xE9mentation par defaut avec les z comme attributs.
+ *
+ * @author Frederic Deniger
+ */
+public abstract class AbstractTriangulationPolyData implements TriangulationPolyDataInterface {
+
+ LinearRing[] rings = new LinearRing[0];
+ boolean[] holes = new boolean[0];
+ boolean useZAsAttribute;
+
+ public void setUseZAsAttribute(boolean useZAsAttribute) {
+ this.useZAsAttribute = useZAsAttribute;
+ }
+
+ public AbstractTriangulationPolyData() {
+ }
+
+ public void setHoles(boolean[] holes) {
+ this.holes = holes;
+ }
+
+ public void setRings(LinearRing[] rings) {
+ this.rings = rings;
+ }
+
+ public int getNbAttributes() {
+ return useZAsAttribute ? 1 : 0;
+ }
+
+ @Override
+ public int getNbPoly() {
+ return rings.length;
+ }
+
+ @Override
+ public LinearRing getPoly(int idxPoly) {
+ return rings[idxPoly];
+ }
+
+ @Override
+ public boolean isHole(int idxPoly) {
+ return holes[idxPoly];
+ }
+
+ public double getPolyAttributes(int idxPoly, int idxPtInPoly, int idxAtt) {
+ return getPoly(idxPoly).getCoordinateSequence().getCoordinate(idxPtInPoly).z;
+ }
+}
Copied: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationConvexHullBuilder.java (from rev 8186, trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationConvexHullBuilder.java)
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationConvexHullBuilder.java (rev 0)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationConvexHullBuilder.java 2013-01-14 12:43:40 UTC (rev 8204)
@@ -0,0 +1,64 @@
+/*
+ GPL 2
+ */
+package org.fudaa.dodico.ef.triangulation;
+
+import com.vividsolutions.jts.algorithm.ConvexHull;
+import com.vividsolutions.jts.geom.Coordinate;
+import com.vividsolutions.jts.geom.LinearRing;
+import com.vividsolutions.jts.geom.Polygon;
+import java.util.TreeSet;
+import org.fudaa.ctulu.gis.GISGeometryFactory;
+import org.fudaa.ctulu.gis.comparator.CoordinateComparator;
+
+/**
+ * Permet de d\xE9terminer l'enveloppe convexe d'un ensemble de donn\xE9es points/polylignes
+ * @author Frederic Deniger
+ */
+public class TriangulationConvexHullBuilder {
+
+ public int getNbExternPolygon(TriangulationPolyDataInterface data) {
+ int nbExtern = 0;
+ int nbPoly = data.getNbPoly();
+ for (int i = 0; i < nbPoly; i++) {
+ if (!data.isHole(i)) {
+ nbExtern++;
+ }
+ }
+ return nbExtern;
+ }
+
+ public int getExternPolygonIdx(TriangulationPolyDataInterface data) {
+ int nbPoly = data.getNbPoly();
+ for (int i = 0; i < nbPoly; i++) {
+ if (!data.isHole(i)) {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+ public TriangulationPolyDataInterface addConvexHullIfNeeded(TriangulationPolyDataInterface data) {
+ int nbExern = getNbExternPolygon(data);
+ if (nbExern >= 1) {
+ return data;
+ }
+ TreeSet<Coordinate> cs = new TreeSet<Coordinate>(new CoordinateComparator());
+ for (int idxPoint = 0; idxPoint < data.getPtsNb(); idxPoint++) {
+ cs.add(new Coordinate(data.getPtX(idxPoint), data.getPtY(idxPoint)));
+ }
+ for (int idxPoly = 0; idxPoly < data.getNbPoly(); idxPoly++) {
+ LinearRing poly = data.getPoly(idxPoly);
+ for (int idxPt = 0; idxPt < poly.getNumPoints(); idxPt++) {
+ cs.add(new Coordinate(poly.getCoordinateN(idxPt)));
+ }
+ }
+ Coordinate[] coordinates = (Coordinate[]) cs.toArray(new Coordinate[cs.size()]);
+ ConvexHull convexHull = new ConvexHull(coordinates, GISGeometryFactory.INSTANCE);
+ Object o = convexHull.getConvexHull();
+ if (o instanceof Polygon) {
+ o = ((Polygon) o).getExteriorRing();
+ }
+ return new TriangulationPolyDataConvexHullAdapter(data, (LinearRing) o);
+ }
+}
Copied: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataConvexHullAdapter.java (from rev 8152, trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationPolyDataConvexHullAdapter.java)
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataConvexHullAdapter.java (rev 0)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataConvexHullAdapter.java 2013-01-14 12:43:40 UTC (rev 8204)
@@ -0,0 +1,58 @@
+/*
+ GPL 2
+ */
+package org.fudaa.dodico.ef.triangulation;
+
+import com.vividsolutions.jts.geom.LinearRing;
+
+/**
+ * permet d'ajouter l'enveloppe convexe \xE0 une s\xE9rie de donn\xE9es.
+ *
+ * @author Frederic Deniger
+ */
+public class TriangulationPolyDataConvexHullAdapter extends AbstractTriangulationPolyData {
+
+ private final TriangulationPolyDataInterface init;
+ private final LinearRing convexHull;
+
+ public TriangulationPolyDataConvexHullAdapter(TriangulationPolyDataInterface init, LinearRing convexHull) {
+ this.init = init;
+ this.convexHull = convexHull;
+ }
+
+ @Override
+ public int getPtsNb() {
+ return init.getPtsNb();
+ }
+
+ @Override
+ public double getPtX(int idxPt) {
+ return init.getPtX(idxPt);
+ }
+
+ @Override
+ public double getPtY(int idxPt) {
+ return init.getPtY(idxPt);
+ }
+
+ @Override
+ public int getNbPoly() {
+ return init.getNbPoly() + 1;
+ }
+
+ @Override
+ public LinearRing getPoly(int idxPoly) {
+ if (idxPoly == 0) {
+ return convexHull;
+ }
+ return init.getPoly(idxPoly - 1);
+ }
+
+ @Override
+ public boolean isHole(int idxPoly) {
+ if (idxPoly == 0) {
+ return false;
+ }
+ return init.isHole(idxPoly - 1);
+ }
+}
Copied: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataDefault.java (from rev 8149, trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationPolyDataDefault.java)
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataDefault.java (rev 0)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataDefault.java 2013-01-14 12:43:40 UTC (rev 8204)
@@ -0,0 +1,42 @@
+/*
+ GPL 2
+ */
+package org.fudaa.dodico.ef.triangulation;
+
+import com.vividsolutions.jts.geom.Coordinate;
+
+/**
+ * une impl\xE9ementation par defaut avec les z comme attributs.
+ *
+ * @author Frederic Deniger
+ */
+public class TriangulationPolyDataDefault extends AbstractTriangulationPolyData {
+
+ Coordinate[] coordinates = new Coordinate[0];
+
+ public TriangulationPolyDataDefault() {
+ }
+
+ public void setCoordinates(Coordinate[] coordinates) {
+ this.coordinates = coordinates;
+ }
+
+ @Override
+ public int getPtsNb() {
+ return coordinates.length;
+ }
+
+ @Override
+ public double getPtX(int idxPt) {
+ return coordinates[idxPt].x;
+ }
+
+ @Override
+ public double getPtY(int idxPt) {
+ return coordinates[idxPt].y;
+ }
+
+ public double getPtAttributes(int idxPt, int idxAtt) {
+ return coordinates[idxPt].z;
+ }
+}
Copied: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataInterface.java (from rev 8186, trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationPolyDataInterface.java)
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataInterface.java (rev 0)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataInterface.java 2013-01-14 12:43:40 UTC (rev 8204)
@@ -0,0 +1,34 @@
+/*
+ GPL 2
+ */
+package org.fudaa.dodico.ef.triangulation;
+
+import com.vividsolutions.jts.geom.LinearRing;
+import org.fudaa.ctulu.interpolation.SupportLocationI;
+
+/**
+ * Interface permettant de d\xE9finir le contenu de donn\xE9es d'entr\xE9e
+ *
+ * @author Frederic Deniger
+ */
+public interface TriangulationPolyDataInterface extends SupportLocationI {
+
+ /**
+ *
+ * @return le nombre de polygone
+ */
+ int getNbPoly();
+
+ /**
+ * @param idxPoly entre 0 et getNbPoly-1
+ * @return le polygone
+ */
+ LinearRing getPoly(int idxPoly);
+
+ /**
+ *
+ * @param idxPoly entre 0 et getNbPoly-1
+ * @return true si le polygone i est un true.
+ */
+ boolean isHole(int idxPoly);
+}
Copied: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContent.java (from rev 8141, trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationUniqueDataContent.java)
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContent.java (rev 0)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContent.java 2013-01-14 12:43:40 UTC (rev 8204)
@@ -0,0 +1,56 @@
+/*
+ GPL 2
+ */
+package org.fudaa.dodico.ef.triangulation;
+
+import com.vividsolutions.jts.geom.Coordinate;
+import java.util.List;
+
+/**
+ * Permet d'\xE9viter les doublons dans les lignes
+ *
+ * @author Frederic Deniger
+ */
+public class TriangulationUniqueDataContent {
+
+ private List<Coordinate> allCoordinate;
+ private int[][] ptIndex;
+ private int[] linearRingIdx;
+
+ /**
+ *
+ * @param ptCoordinate les coordonn\xE9es
+ * @param linearRingIdx pour chaque coordonn\xE9es indique la ligne contenante
+ * @param idx contient l'indice dans ptCoordinate de tous les points des lignes.
+ */
+ TriangulationUniqueDataContent(List<Coordinate> ptCoordinate, int[] linearRingIdx, int[][] idx) {
+ this.ptIndex = idx;
+ this.allCoordinate = ptCoordinate;
+ this.linearRingIdx = linearRingIdx;
+ }
+
+ /**
+ *
+ * @param ptIdx
+ * @return l'indice du linearRing contenant ce point. -1 si aucun.
+ */
+ public int getLinearRingIdx(int ptIdx) {
+ return linearRingIdx[ptIdx];
+ }
+
+ public int getNbPoints() {
+ return allCoordinate.size();
+ }
+
+ public double getX(int idx) {
+ return allCoordinate.get(idx).x;
+ }
+
+ public double getY(int idx) {
+ return allCoordinate.get(idx).y;
+ }
+
+ public int getPtIdxFor(int idxPoly, int idxPtInPoly) {
+ return ptIndex[idxPoly][idxPtInPoly];
+ }
+}
Copied: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContentBuilder.java (from rev 8190, trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/common/TriangulationUniqueDataContentBuilder.java)
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContentBuilder.java (rev 0)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContentBuilder.java 2013-01-14 12:43:40 UTC (rev 8204)
@@ -0,0 +1,77 @@
+/*
+ GPL 2
+ */
+package org.fudaa.dodico.ef.triangulation;
+
+import com.vividsolutions.jts.geom.Coordinate;
+import com.vividsolutions.jts.geom.CoordinateSequence;
+import gnu.trove.TIntArrayList;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.TreeMap;
+import org.fudaa.ctulu.ProgressionInterface;
+import org.fudaa.ctulu.ProgressionUpdater;
+import org.fudaa.ctulu.gis.comparator.CoordinateComparator;
+
+/**
+ * Permet de construire un TriangulationUniqueDataContent \xE0 partir d'un TriangulationPolyDataInterface.
+ * Ce contenu \xE9vite les doublons au niveau des points.
+ * @author Frederic Deniger
+ */
+public class TriangulationUniqueDataContentBuilder {
+
+ TriangulationPolyDataInterface in;
+ CoordinateComparator coordinateComparator;
+
+ public TriangulationUniqueDataContentBuilder(TriangulationPolyDataInterface in) {
+ this.in = in;
+ coordinateComparator = new CoordinateComparator();
+ }
+
+ public TriangulationUniqueDataContentBuilder(TriangulationPolyDataInterface in, double eps) {
+ this.in = in;
+ coordinateComparator = new CoordinateComparator(eps);
+ }
+
+ public TriangulationUniqueDataContent build(ProgressionInterface prog) {
+ List<Coordinate> ptCoordinate = new ArrayList<Coordinate>();
+ TIntArrayList linearRingContainingPoint = new TIntArrayList();
+ TreeMap<Coordinate, Integer> idxByCoordinate = new TreeMap<Coordinate, Integer>(coordinateComparator);
+ int nb = in.getPtsNb();
+ final int nbPoly = in.getNbPoly();
+ ProgressionUpdater updater = new ProgressionUpdater();
+ updater.setValue(10, nb + nbPoly);
+ int idxPtAdded = 0;
+ for (int i = 0; i < nb; i++) {
+ final Coordinate coordinate = new Coordinate(in.getPtX(i), in.getPtY(i));
+ if (!idxByCoordinate.containsKey(coordinate)) {
+ ptCoordinate.add(coordinate);
+ //point interne:
+ linearRingContainingPoint.add(-1);
+ idxByCoordinate.put(coordinate, idxPtAdded++);
+ }
+ updater.majAvancement();
+ }
+ int[][] idx = new int[nbPoly][];
+ for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
+ CoordinateSequence coordinateSequence = in.getPoly(idxPoly).getCoordinateSequence();
+ int nbPt = coordinateSequence.size() - 1;//premier point = dernier point
+ idx[idxPoly] = new int[nbPt];
+ for (int idxPt = 0; idxPt < nbPt; idxPt++) {
+ Coordinate coordinate = coordinateSequence.getCoordinate(idxPt);
+ Integer setIdx = idxByCoordinate.get(coordinate);
+ if (setIdx == null) {
+ setIdx = ptCoordinate.size();
+ ptCoordinate.add(coordinate);
+ linearRingContainingPoint.add(idxPoly);
+ } else {
+ //le point appartient au linearring:
+ linearRingContainingPoint.set(setIdx, idxPoly);
+ }
+ idx[idxPoly][idxPt] = setIdx;
+ }
+ updater.majAvancement();
+ }
+ return new TriangulationUniqueDataContent(ptCoordinate, linearRingContainingPoint.toNativeArray(), idx);
+ }
+}
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java 2013-01-14 12:42:25 UTC (rev 8203)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java 2013-01-14 12:43:40 UTC (rev 8204)
@@ -4,7 +4,7 @@
package org.fudaa.dodico.ef.io.gmsh;
import org.fudaa.dodico.ef.io.triangle.*;
-import org.fudaa.dodico.ef.io.common.TriangulationPolyDataInterface;
+import org.fudaa.dodico.ef.triangulation.TriangulationPolyDataInterface;
import com.vividsolutions.jts.geom.LinearRing;
import gnu.trove.TIntArrayList;
import gnu.trove.TIntHashSet;
@@ -16,9 +16,9 @@
import org.fudaa.ctulu.ProgressionUpdater;
import org.fudaa.dodico.commun.DodicoLib;
import org.fudaa.dodico.ef.io.EfIOResource;
-import org.fudaa.dodico.ef.io.common.TriangulationConvexHullBuilder;
-import org.fudaa.dodico.ef.io.common.TriangulationUniqueDataContent;
-import org.fudaa.dodico.ef.io.common.TriangulationUniqueDataContentBuilder;
+import org.fudaa.dodico.ef.triangulation.TriangulationConvexHullBuilder;
+import org.fudaa.dodico.ef.triangulation.TriangulationUniqueDataContent;
+import org.fudaa.dodico.ef.triangulation.TriangulationUniqueDataContentBuilder;
import org.fudaa.dodico.fortran.FileOpWriterCharSimpleAbstract;
/**
@@ -31,6 +31,16 @@
*/
public class GmshGeoWriter extends FileOpWriterCharSimpleAbstract {
+ private double eps = 1e-3;
+
+ public double getEps() {
+ return eps;
+ }
+
+ public void setEps(double eps) {
+ this.eps = eps;
+ }
+
@Override
protected void internalWrite(final Object _o) {
if (_o instanceof TriangulationPolyDataInterface) {
@@ -73,7 +83,7 @@
data = convexHullBuilder.addConvexHullIfNeeded(data);
}
int nbPoly = data.getNbPoly();
- TriangulationUniqueDataContentBuilder builder = new TriangulationUniqueDataContentBuilder(data);
+ TriangulationUniqueDataContentBuilder builder = new TriangulationUniqueDataContentBuilder(data, eps);
TriangulationUniqueDataContent content = builder.build(progress_);
int nbPointsTotal = content.getNbPoints();
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeDataInterface.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeDataInterface.java 2013-01-14 12:42:25 UTC (rev 8203)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeDataInterface.java 2013-01-14 12:43:40 UTC (rev 8204)
@@ -3,31 +3,17 @@
*/
package org.fudaa.dodico.ef.io.triangle;
+import org.fudaa.ctulu.interpolation.SupportLocationI;
+
/**
* Voir la documentation https://www.cs.cmu.edu/~quake/triangle.node.html
*
* @author Frederic Deniger
*/
-public interface TriangleNodeDataInterface {
+public interface TriangleNodeDataInterface extends SupportLocationI {
- int getPtsNb();
-
/**
*
- * @param idxPt entre 0 et getNbPoint-1
- * @return x
- */
- double getPtX(int idxPt);
-
- /**
- *
- * @param idxPt entre 0 et getNbPoint-1
- * @return y
- */
- double getPtY(int idxPt);
-
- /**
- *
* @return le nombre d'attribut attendu
*/
int getNbAttributes();
@@ -44,6 +30,7 @@
/**
* Voir https://www.cs.cmu.edu/~quake/triangle.markers.html
+ *
* @param idxPt entre 0 et getNbPoint-1
* @return
*/
Copied: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeSupportAdapter.java (from rev 8161, trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeAdapter.java)
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeSupportAdapter.java (rev 0)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangleNodeSupportAdapter.java 2013-01-14 12:43:40 UTC (rev 8204)
@@ -0,0 +1,52 @@
+/*
+ GPL 2
+ */
+package org.fudaa.dodico.ef.io.triangle;
+
+import org.fudaa.ctulu.interpolation.SupportLocationI;
+
+/**
+ * Adapte une collection en un fournisseur de points.
+ *
+ * @author Frederic Deniger
+ */
+public class TriangleNodeSupportAdapter implements TriangleNodeDataInterface {
+
+ private final SupportLocationI support;
+
+ public TriangleNodeSupportAdapter(SupportLocationI support) {
+ this.support = support;
+ }
+
+ public int getPtsNb() {
+ return support.getPtsNb();
+ }
+
+ public double getPtX(int _i) {
+ return support.getPtX(_i);
+ }
+
+ public double getPtY(int _i) {
+ return support.getPtY(_i);
+ }
+
+ @Override
+ public int getNbAttributes() {
+ return 0;
+ }
+
+ @Override
+ public double getAttributes(int idxPt, int idxAtt) {
+ return 0;
+ }
+
+ @Override
+ public boolean containsBoundaryMarkers() {
+ return false;
+ }
+
+ @Override
+ public int getMarker(int idxPt) {
+ return 0;
+ }
+}
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriter.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriter.java 2013-01-14 12:42:25 UTC (rev 8203)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriter.java 2013-01-14 12:43:40 UTC (rev 8204)
@@ -3,7 +3,7 @@
*/
package org.fudaa.dodico.ef.io.triangle;
-import org.fudaa.dodico.ef.io.common.TriangulationPolyDataInterface;
+import org.fudaa.dodico.ef.triangulation.TriangulationPolyDataInterface;
import com.vividsolutions.jts.geom.LinearRing;
import com.vividsolutions.jts.geom.Point;
import java.io.IOException;
@@ -15,8 +15,8 @@
import org.fudaa.ctulu.ProgressionUpdater;
import org.fudaa.dodico.commun.DodicoLib;
import org.fudaa.dodico.ef.io.EfIOResource;
-import org.fudaa.dodico.ef.io.common.TriangulationUniqueDataContent;
-import org.fudaa.dodico.ef.io.common.TriangulationUniqueDataContentBuilder;
+import org.fudaa.dodico.ef.triangulation.TriangulationUniqueDataContent;
+import org.fudaa.dodico.ef.triangulation.TriangulationUniqueDataContentBuilder;
import org.fudaa.dodico.fortran.FileOpWriterCharSimpleAbstract;
/**
@@ -39,7 +39,12 @@
analyze_.addFatalError(DodicoLib.getS("Donn\xE9es invalides"));
}
}
+ private double eps = 1e-3;
+ public void setEps(double eps) {
+ this.eps = eps;
+ }
+
private void writePoly(TriangulationPolyDataInterface data) throws IOException {
if (data == null) {
analyze_.addFatalError(EfIOResource.getS("Les donn\xE9es sont nulles"));
@@ -49,10 +54,9 @@
analyze_.addFatalError(DodicoLib.getS("Le flux de sortie est nul"));
return;
}
- TriangulationUniqueDataContentBuilder builder = new TriangulationUniqueDataContentBuilder(data);
+ TriangulationUniqueDataContentBuilder builder = new TriangulationUniqueDataContentBuilder(data, eps);
TriangulationUniqueDataContent content = builder.build(progress_);
- int nbPoints = data.getNbPoints();
int nbPoly = data.getNbPoly();
int nbPointsTotal = content.getNbPoints();
//premiere ligne
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangulationPolyDataNodeDefault.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangulationPolyDataNodeDefault.java 2013-01-14 12:42:25 UTC (rev 8203)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TriangulationPolyDataNodeDefault.java 2013-01-14 12:43:40 UTC (rev 8204)
@@ -3,26 +3,27 @@
*/
package org.fudaa.dodico.ef.io.triangle;
-import org.fudaa.dodico.ef.io.common.AbstractTriangulationPolyData;
+import org.fudaa.ctulu.interpolation.SupportLocationI;
+import org.fudaa.dodico.ef.triangulation.AbstractTriangulationPolyData;
/**
- * une impl\xE9ementation par defaut avec les z comme attributs.
+ * une impl\xE9mentation par defaut avec les z comme attributs.
*
* @author Frederic Deniger
*/
public class TriangulationPolyDataNodeDefault extends AbstractTriangulationPolyData {
- TriangleNodeDataInterface nodeData;
+ SupportLocationI nodeData;
public TriangulationPolyDataNodeDefault() {
}
- public void setNodeData(TriangleNodeDataInterface nodeData) {
+ public void setNodeData(SupportLocationI nodeData) {
this.nodeData = nodeData;
}
@Override
- public int getNbPoints() {
+ public int getPtsNb() {
return nodeData == null ? 0 : nodeData.getPtsNb();
}
@@ -36,7 +37,13 @@
return nodeData.getPtY(idxPt);
}
+ /**
+ *
+ * @param idxPt
+ * @param idxAtt
+ * @return 0
+ */
public double getPtAttributes(int idxPt, int idxAtt) {
- return nodeData.getAttributes(idxPt, idxAtt);
+ return 0;
}
}
Modified: trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriterTest.java
===================================================================
--- trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriterTest.java 2013-01-14 12:42:25 UTC (rev 8203)
+++ trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriterTest.java 2013-01-14 12:43:40 UTC (rev 8204)
@@ -3,8 +3,8 @@
*/
package org.fudaa.dodico.ef.io.triangle;
-import org.fudaa.dodico.ef.io.common.TriangulationPolyDataDefault;
-import org.fudaa.dodico.ef.io.common.TriangulationPolyDataInterface;
+import org.fudaa.dodico.ef.triangulation.TriangulationPolyDataDefault;
+import org.fudaa.dodico.ef.triangulation.TriangulationPolyDataInterface;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.LinearRing;
import java.io.File;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-01-21 09:38:23
|
Revision: 8228
http://fudaa.svn.sourceforge.net/fudaa/?rev=8228&view=rev
Author: deniger
Date: 2013-01-21 09:38:14 +0000 (Mon, 21 Jan 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/AbstractTriangulationPolyData.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationConvexHullBuilder.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataConvexHullAdapter.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataInterface.java
trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContentBuilder.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java
trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriter.java
trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriterTest.java
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/AbstractTriangulationPolyData.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/AbstractTriangulationPolyData.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/AbstractTriangulationPolyData.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -3,7 +3,7 @@
*/
package org.fudaa.dodico.ef.triangulation;
-import com.vividsolutions.jts.geom.LinearRing;
+import com.vividsolutions.jts.geom.LineString;
/**
* une impl\xE9mentation par defaut avec les z comme attributs.
@@ -12,7 +12,7 @@
*/
public abstract class AbstractTriangulationPolyData implements TriangulationPolyDataInterface {
- LinearRing[] rings = new LinearRing[0];
+ LineString[] lines = new LineString[0];
boolean[] holes = new boolean[0];
boolean useZAsAttribute;
@@ -27,30 +27,35 @@
this.holes = holes;
}
- public void setRings(LinearRing[] rings) {
- this.rings = rings;
+ public void setLineString(LineString[] rings) {
+ this.lines = rings;
}
+ @Override
+ public boolean isClosed(int idxLine) {
+ return lines[idxLine].isRing();
+ }
+
public int getNbAttributes() {
return useZAsAttribute ? 1 : 0;
}
@Override
- public int getNbPoly() {
- return rings.length;
+ public int getNbLines() {
+ return lines.length;
}
@Override
- public LinearRing getPoly(int idxPoly) {
- return rings[idxPoly];
+ public LineString getLine(int idxPoly) {
+ return lines[idxPoly];
}
@Override
- public boolean isHole(int idxPoly) {
- return holes[idxPoly];
+ public boolean isClosedAndHole(int idxPoly) {
+ return isClosed(idxPoly) && holes[idxPoly];
}
public double getPolyAttributes(int idxPoly, int idxPtInPoly, int idxAtt) {
- return getPoly(idxPoly).getCoordinateSequence().getCoordinate(idxPtInPoly).z;
+ return getLine(idxPoly).getCoordinateSequence().getCoordinate(idxPtInPoly).z;
}
}
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationConvexHullBuilder.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationConvexHullBuilder.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationConvexHullBuilder.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -5,6 +5,7 @@
import com.vividsolutions.jts.algorithm.ConvexHull;
import com.vividsolutions.jts.geom.Coordinate;
+import com.vividsolutions.jts.geom.LineString;
import com.vividsolutions.jts.geom.LinearRing;
import com.vividsolutions.jts.geom.Polygon;
import java.util.TreeSet;
@@ -12,16 +13,17 @@
import org.fudaa.ctulu.gis.comparator.CoordinateComparator;
/**
- * Permet de d\xE9terminer l'enveloppe convexe d'un ensemble de donn\xE9es points/polylignes
+ * Permet de d\xE9terminer l'enveloppe convexe d'un ensemble de donn\xE9es points/polylignes
+ *
* @author Frederic Deniger
*/
public class TriangulationConvexHullBuilder {
public int getNbExternPolygon(TriangulationPolyDataInterface data) {
int nbExtern = 0;
- int nbPoly = data.getNbPoly();
+ int nbPoly = data.getNbLines();
for (int i = 0; i < nbPoly; i++) {
- if (!data.isHole(i)) {
+ if (!data.isClosedAndHole(i)) {
nbExtern++;
}
}
@@ -29,9 +31,9 @@
}
public int getExternPolygonIdx(TriangulationPolyDataInterface data) {
- int nbPoly = data.getNbPoly();
+ int nbPoly = data.getNbLines();
for (int i = 0; i < nbPoly; i++) {
- if (!data.isHole(i)) {
+ if (!data.isClosedAndHole(i)) {
return i;
}
}
@@ -47,8 +49,8 @@
for (int idxPoint = 0; idxPoint < data.getPtsNb(); idxPoint++) {
cs.add(new Coordinate(data.getPtX(idxPoint), data.getPtY(idxPoint)));
}
- for (int idxPoly = 0; idxPoly < data.getNbPoly(); idxPoly++) {
- LinearRing poly = data.getPoly(idxPoly);
+ for (int idxPoly = 0; idxPoly < data.getNbLines(); idxPoly++) {
+ LineString poly = data.getLine(idxPoly);
for (int idxPt = 0; idxPt < poly.getNumPoints(); idxPt++) {
cs.add(new Coordinate(poly.getCoordinateN(idxPt)));
}
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataConvexHullAdapter.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataConvexHullAdapter.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataConvexHullAdapter.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -3,6 +3,7 @@
*/
package org.fudaa.dodico.ef.triangulation;
+import com.vividsolutions.jts.geom.LineString;
import com.vividsolutions.jts.geom.LinearRing;
/**
@@ -36,23 +37,23 @@
}
@Override
- public int getNbPoly() {
- return init.getNbPoly() + 1;
+ public int getNbLines() {
+ return init.getNbLines() + 1;
}
@Override
- public LinearRing getPoly(int idxPoly) {
+ public LineString getLine(int idxPoly) {
if (idxPoly == 0) {
return convexHull;
}
- return init.getPoly(idxPoly - 1);
+ return init.getLine(idxPoly - 1);
}
@Override
- public boolean isHole(int idxPoly) {
+ public boolean isClosedAndHole(int idxPoly) {
if (idxPoly == 0) {
return false;
}
- return init.isHole(idxPoly - 1);
+ return init.isClosedAndHole(idxPoly - 1);
}
}
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataInterface.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataInterface.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationPolyDataInterface.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -3,7 +3,7 @@
*/
package org.fudaa.dodico.ef.triangulation;
-import com.vividsolutions.jts.geom.LinearRing;
+import com.vividsolutions.jts.geom.LineString;
import org.fudaa.ctulu.interpolation.SupportLocationI;
/**
@@ -17,18 +17,20 @@
*
* @return le nombre de polygone
*/
- int getNbPoly();
+ int getNbLines();
/**
- * @param idxPoly entre 0 et getNbPoly-1
+ * @param idxClosedLine entre 0 et getNbLines-1
* @return le polygone
*/
- LinearRing getPoly(int idxPoly);
+ LineString getLine(int idxClosedLine);
+ boolean isClosed(int idxLine);
+
/**
*
- * @param idxPoly entre 0 et getNbPoly-1
- * @return true si le polygone i est un true.
+ * @param idxClosedLine entre 0 et getNbLines-1
+ * @return true si le polygone i est un trou.
*/
- boolean isHole(int idxPoly);
+ boolean isClosedAndHole(int idxClosedLine);
}
Modified: trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContentBuilder.java
===================================================================
--- trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContentBuilder.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/core/src/main/java/org/fudaa/dodico/ef/triangulation/TriangulationUniqueDataContentBuilder.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -5,6 +5,7 @@
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.CoordinateSequence;
+import com.vividsolutions.jts.geom.LineString;
import gnu.trove.TIntArrayList;
import java.util.ArrayList;
import java.util.List;
@@ -14,8 +15,9 @@
import org.fudaa.ctulu.gis.comparator.CoordinateComparator;
/**
- * Permet de construire un TriangulationUniqueDataContent \xE0 partir d'un TriangulationPolyDataInterface.
- * Ce contenu \xE9vite les doublons au niveau des points.
+ * Permet de construire un TriangulationUniqueDataContent \xE0 partir d'un TriangulationPolyDataInterface. Ce contenu \xE9vite les doublons au niveau des
+ * points.
+ *
* @author Frederic Deniger
*/
public class TriangulationUniqueDataContentBuilder {
@@ -38,7 +40,7 @@
TIntArrayList linearRingContainingPoint = new TIntArrayList();
TreeMap<Coordinate, Integer> idxByCoordinate = new TreeMap<Coordinate, Integer>(coordinateComparator);
int nb = in.getPtsNb();
- final int nbPoly = in.getNbPoly();
+ final int nbPoly = in.getNbLines();
ProgressionUpdater updater = new ProgressionUpdater();
updater.setValue(10, nb + nbPoly);
int idxPtAdded = 0;
@@ -49,13 +51,14 @@
//point interne:
linearRingContainingPoint.add(-1);
idxByCoordinate.put(coordinate, idxPtAdded++);
- }
+ }
updater.majAvancement();
}
int[][] idx = new int[nbPoly][];
for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
- CoordinateSequence coordinateSequence = in.getPoly(idxPoly).getCoordinateSequence();
- int nbPt = coordinateSequence.size() - 1;//premier point = dernier point
+ final LineString line = in.getLine(idxPoly);
+ CoordinateSequence coordinateSequence = line.getCoordinateSequence();
+ int nbPt = in.isClosed(idxPoly) ? coordinateSequence.size() - 1 : coordinateSequence.size();//premier point = dernier point
idx[idxPoly] = new int[nbPt];
for (int idxPt = 0; idxPt < nbPt; idxPt++) {
Coordinate coordinate = coordinateSequence.getCoordinate(idxPt);
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/gmsh/GmshGeoWriter.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -3,6 +3,7 @@
*/
package org.fudaa.dodico.ef.io.gmsh;
+import com.vividsolutions.jts.geom.LineString;
import org.fudaa.dodico.ef.io.triangle.*;
import org.fudaa.dodico.ef.triangulation.TriangulationPolyDataInterface;
import com.vividsolutions.jts.geom.LinearRing;
@@ -20,6 +21,7 @@
import org.fudaa.dodico.ef.triangulation.TriangulationUniqueDataContent;
import org.fudaa.dodico.ef.triangulation.TriangulationUniqueDataContentBuilder;
import org.fudaa.dodico.fortran.FileOpWriterCharSimpleAbstract;
+import sun.nio.cs.ext.ISCII91;
/**
* Permet d'\xE9crire un fichier d'entr\xE9e pour GMSH. Par contre, le mailleur ne semble pas extr\xEAmenent robuste. Lors de l'\xE9criture du fichier geo, on
@@ -82,7 +84,7 @@
if (nbExtern == 0) {
data = convexHullBuilder.addConvexHullIfNeeded(data);
}
- int nbPoly = data.getNbPoly();
+ int nbPoly = data.getNbLines();
TriangulationUniqueDataContentBuilder builder = new TriangulationUniqueDataContentBuilder(data, eps);
TriangulationUniqueDataContent content = builder.build(progress_);
@@ -112,7 +114,7 @@
}
int nbSegment = 0;
for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
- LinearRing poly = data.getPoly(idxPoly);
+ LineString poly = data.getLine(idxPoly);
//premier point = dernier point donc -1
int numPoints = poly.getNumPoints() - 1;
nbSegment = nbSegment + numPoints;
@@ -127,8 +129,8 @@
TIntArrayList[] segmentBySurface = new TIntArrayList[nbPoly];
for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
segmentBySurface[idxPoly] = new TIntArrayList();
- LinearRing poly = data.getPoly(idxPoly);
- int numPoints = poly.getNumPoints() - 2;//le dernier segment est \xE9crit apr\xE8s
+ LineString poly = data.getLine(idxPoly);
+ int numPoints = data.isClosed(idxPoly) ? poly.getNumPoints() - 2 : poly.getNumPoints() - 1;//le dernier segment est \xE9crit apr\xE8s
for (int idxPt = 0; idxPt < numPoints; idxPt++) {
writeString("Line(");
segmentBySurface[idxPoly].add(globalIdxSeg);
@@ -145,27 +147,32 @@
writelnToOut();
updater.majAvancement();
}
- //le segment fermant
- writeString("Line(");
- segmentBySurface[idxPoly].add(globalIdxSeg);
- writeInt(globalIdxSeg++);
- writeString(") = {");
- final int idxVertex = content.getPtIdxFor(idxPoly, numPoints) + 1;
- writeInt(idxVertex);
- writeString(",");
- final int idxVertexNext = content.getPtIdxFor(idxPoly, 0) + 1;
- writeInt(idxVertexNext);
- pointInSurface.remove(idxVertex);
- pointInSurface.remove(idxVertexNext);
- writeString("};");
- writelnToOut();
- updater.majAvancement();
+ if (data.isClosed(idxPoly)) {
+ //le segment fermant
+ writeString("Line(");
+ segmentBySurface[idxPoly].add(globalIdxSeg);
+ writeInt(globalIdxSeg++);
+ writeString(") = {");
+ final int idxVertex = content.getPtIdxFor(idxPoly, numPoints) + 1;
+ writeInt(idxVertex);
+ writeString(",");
+ final int idxVertexNext = content.getPtIdxFor(idxPoly, 0) + 1;
+ writeInt(idxVertexNext);
+ pointInSurface.remove(idxVertex);
+ pointInSurface.remove(idxVertexNext);
+ writeString("};");
+ writelnToOut();
+ updater.majAvancement();
+ }
}
int idxLineExterne = -1;
// Line Loop(19) = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 1};
int firstLineLoopIdx = globalIdxSeg;
for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
- if (!data.isHole(idxPoly)) {
+ if (!data.isClosed(idxPoly)) {
+ continue;
+ }
+ if (!data.isClosedAndHole(idxPoly)) {
idxLineExterne = globalIdxSeg;
}
final TIntArrayList lineLoop = segmentBySurface[idxPoly];
Modified: trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriter.java
===================================================================
--- trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriter.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/io/src/main/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriter.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -3,6 +3,7 @@
*/
package org.fudaa.dodico.ef.io.triangle;
+import com.vividsolutions.jts.geom.LineString;
import org.fudaa.dodico.ef.triangulation.TriangulationPolyDataInterface;
import com.vividsolutions.jts.geom.LinearRing;
import com.vividsolutions.jts.geom.Point;
@@ -20,7 +21,7 @@
import org.fudaa.dodico.fortran.FileOpWriterCharSimpleAbstract;
/**
- * Permet d'\xE9crire les fichiers de type poly: https://www.cs.cmu.edu/~quake/triangle.poly.html
+ * Permet d'\xE9crire les fichiers de type line: https://www.cs.cmu.edu/~quake/triangle.line.html
*
* @author Frederic Deniger
*/
@@ -57,7 +58,7 @@
TriangulationUniqueDataContentBuilder builder = new TriangulationUniqueDataContentBuilder(data, eps);
TriangulationUniqueDataContent content = builder.build(progress_);
- int nbPoly = data.getNbPoly();
+ int nbPoly = data.getNbLines();
int nbPointsTotal = content.getNbPoints();
//premiere ligne
// First line: <# of vertices> <dimension (must be 2)> <# of attributes> <# of boundary markers (0 or 1)>
@@ -89,9 +90,10 @@
}
int nbSegment = 0;
for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
- LinearRing poly = data.getPoly(idxPoly);
- //premier point = dernier point donc -1
- int numPoints = poly.getNumPoints() - 1;
+ LineString line = data.getLine(idxPoly);
+ //si ligne ferm\xE9e: premier point = dernier point donc -1
+ //si ligne ouverte -1 aussi.
+ int numPoints = line.getNumPoints() - 1;
nbSegment = nbSegment + numPoints;
}
//One line: <# of segments> <# of boundary markers (0 or 1)>
@@ -104,31 +106,34 @@
updater.majProgessionStateOnly(EfIOResource.getS("Ecriture des segments"));
//Following lines: <segment #> <endpoint> <endpoint> [boundary marker]
int globalIdxSeg = 1;
- for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
- LinearRing poly = data.getPoly(idxPoly);
- int numPoints = poly.getNumPoints() - 2;//le dernier segment est \xE9crit apr\xE8s
+ for (int idxLine = 0; idxLine < nbPoly; idxLine++) {
+ LineString poly = data.getLine(idxLine);
+ final boolean closed = data.isClosed(idxLine);
+ int numPoints = closed ? poly.getNumPoints() - 2 : poly.getNumPoints() - 1;//le dernier segment est \xE9crit apr\xE8s
for (int idxPt = 0; idxPt < numPoints; idxPt++) {
writeInt(globalIdxSeg++);
writeSpace();
- writeInt(content.getPtIdxFor(idxPoly, idxPt) + 1);
+ writeInt(content.getPtIdxFor(idxLine, idxPt) + 1);
writeSpace();
- writeInt(content.getPtIdxFor(idxPoly, idxPt + 1) + 1);
+ writeInt(content.getPtIdxFor(idxLine, idxPt + 1) + 1);
writeSpace();
//boundary marker
- writeInt(idxPoly + 1);
+ writeInt(idxLine + 1);
writelnToOut();
updater.majAvancement();
}
- //le segment fermant
- writeInt(globalIdxSeg++);
- writeSpace();
- writeInt(content.getPtIdxFor(idxPoly, numPoints) + 1);
- writeSpace();
- writeInt(content.getPtIdxFor(idxPoly, 0) + 1);
- writeSpace();
- //boundary marker
- writeInt(idxPoly + 1);
- writelnToOut();
+ if (closed) {
+ //le segment fermant
+ writeInt(globalIdxSeg++);
+ writeSpace();
+ writeInt(content.getPtIdxFor(idxLine, numPoints) + 1);
+ writeSpace();
+ writeInt(content.getPtIdxFor(idxLine, 0) + 1);
+ writeSpace();
+ //boundary marker
+ writeInt(idxLine + 1);
+ writelnToOut();
+ }
updater.majAvancement();
}
@@ -138,8 +143,8 @@
//on calcul le nombre de trous en stockant un point int\xE9rieur du trou
List<Point> holes = new ArrayList<Point>();
for (int idxPoly = 0; idxPoly < nbPoly; idxPoly++) {
- if (data.isHole(idxPoly)) {
- LinearRing poly = data.getPoly(idxPoly);
+ if (data.isClosedAndHole(idxPoly)) {
+ LinearRing poly = (LinearRing) data.getLine(idxPoly);
holes.add(poly.getCentroid());
}
}
Modified: trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriterTest.java
===================================================================
--- trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriterTest.java 2013-01-18 18:22:33 UTC (rev 8227)
+++ trunk/business/fudaa-ef/io/src/test/java/org/fudaa/dodico/ef/io/triangle/TrianglePolyWriterTest.java 2013-01-21 09:38:14 UTC (rev 8228)
@@ -6,7 +6,7 @@
import org.fudaa.dodico.ef.triangulation.TriangulationPolyDataDefault;
import org.fudaa.dodico.ef.triangulation.TriangulationPolyDataInterface;
import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.LinearRing;
+import com.vividsolutions.jts.geom.LineString;
import java.io.File;
import java.util.List;
import org.fudaa.ctulu.CtuluLibFile;
@@ -28,7 +28,7 @@
cs[0] = new Coordinate(3.5, 4, 10);
cs[1] = new Coordinate(4.5, 4, 10);
cs[2] = new Coordinate(5.5, 4, 10);
- LinearRing[] rings = new LinearRing[3];
+ LineString[] rings = new LineString[3];
rings[0] = GISGeometryFactory.INSTANCE.createLinearRing(2, 3, 4, 5);
setZ(rings[0], 20);
rings[1] = GISGeometryFactory.INSTANCE.createLinearRing(1, 10, 1, 20);
@@ -42,11 +42,11 @@
res.setUseZAsAttribute(true);
res.setCoordinates(cs);
res.setHoles(holes);
- res.setRings(rings);
+ res.setLineString(rings);
return res;
}
- private static void setZ(LinearRing ring, double z) {
+ private static void setZ(LineString ring, double z) {
for (int i = 0; i < ring.getNumPoints(); i++) {
ring.getCoordinateSequence().setOrdinate(i, 2, z);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2014-05-26 21:05:10
|
Revision: 8742
http://sourceforge.net/p/fudaa/svn/8742
Author: deniger
Date: 2014-05-26 21:05:06 +0000 (Mon, 26 May 2014)
Log Message:
-----------
correction bogues
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2014-05-26 21:03:29 UTC (rev 8741)
+++ trunk/business/fudaa-ef/core/pom.xml 2014-05-26 21:05:06 UTC (rev 8742)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.4-SNAPSHOT</version>
+ <version>1.5-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-core</artifactId>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2014-05-26 21:03:29 UTC (rev 8741)
+++ trunk/business/fudaa-ef/io/pom.xml 2014-05-26 21:05:06 UTC (rev 8742)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.4-SNAPSHOT</version>
+ <version>1.5-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-io</artifactId>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2014-07-09 21:26:44
|
Revision: 8787
http://sourceforge.net/p/fudaa/svn/8787
Author: deniger
Date: 2014-07-09 21:26:36 +0000 (Wed, 09 Jul 2014)
Log Message:
-----------
[maven-release-plugin] prepare release fudaa-ef-1.5
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
trunk/business/fudaa-ef/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2014-07-09 21:25:49 UTC (rev 8786)
+++ trunk/business/fudaa-ef/core/pom.xml 2014-07-09 21:26:36 UTC (rev 8787)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.5</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-core</artifactId>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2014-07-09 21:25:49 UTC (rev 8786)
+++ trunk/business/fudaa-ef/io/pom.xml 2014-07-09 21:26:36 UTC (rev 8787)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.5</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-io</artifactId>
Modified: trunk/business/fudaa-ef/pom.xml
===================================================================
--- trunk/business/fudaa-ef/pom.xml 2014-07-09 21:25:49 UTC (rev 8786)
+++ trunk/business/fudaa-ef/pom.xml 2014-07-09 21:26:36 UTC (rev 8787)
@@ -16,7 +16,7 @@
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.5-SNAPSHOT</version>
+ <version>1.5</version>
<name>Fudaa-Ef Elements finis</name>
<packaging>pom</packaging>
<modules>
@@ -54,4 +54,10 @@
</dependency>
</dependencies>
</dependencyManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.code.sf.net/p/fudaa/svn/tags/business/fudaa-ef-1.5</connection>
+ <developerConnection>scm:svn:https://svn.code.sf.net/p/fudaa/svn/tags/business/fudaa-ef-1.5</developerConnection>
+ <url>http://svn.code.sf.net/p/fudaa/svn/tags/business/fudaa-ef-1.5</url>
+ </scm>
</project>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2014-07-09 21:27:08
|
Revision: 8789
http://sourceforge.net/p/fudaa/svn/8789
Author: deniger
Date: 2014-07-09 21:27:01 +0000 (Wed, 09 Jul 2014)
Log Message:
-----------
[maven-release-plugin] prepare for next development iteration
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
trunk/business/fudaa-ef/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2014-07-09 21:26:53 UTC (rev 8788)
+++ trunk/business/fudaa-ef/core/pom.xml 2014-07-09 21:27:01 UTC (rev 8789)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.5</version>
+ <version>1.6-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-core</artifactId>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2014-07-09 21:26:53 UTC (rev 8788)
+++ trunk/business/fudaa-ef/io/pom.xml 2014-07-09 21:27:01 UTC (rev 8789)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.5</version>
+ <version>1.6-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-io</artifactId>
Modified: trunk/business/fudaa-ef/pom.xml
===================================================================
--- trunk/business/fudaa-ef/pom.xml 2014-07-09 21:26:53 UTC (rev 8788)
+++ trunk/business/fudaa-ef/pom.xml 2014-07-09 21:27:01 UTC (rev 8789)
@@ -16,7 +16,7 @@
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.5</version>
+ <version>1.6-SNAPSHOT</version>
<name>Fudaa-Ef Elements finis</name>
<packaging>pom</packaging>
<modules>
@@ -54,10 +54,4 @@
</dependency>
</dependencies>
</dependencyManagement>
-
- <scm>
- <connection>scm:svn:http://svn.code.sf.net/p/fudaa/svn/tags/business/fudaa-ef-1.5</connection>
- <developerConnection>scm:svn:https://svn.code.sf.net/p/fudaa/svn/tags/business/fudaa-ef-1.5</developerConnection>
- <url>http://svn.code.sf.net/p/fudaa/svn/tags/business/fudaa-ef-1.5</url>
- </scm>
</project>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2015-03-16 22:13:04
|
Revision: 9078
http://sourceforge.net/p/fudaa/svn/9078
Author: deniger
Date: 2015-03-16 22:12:57 +0000 (Mon, 16 Mar 2015)
Log Message:
-----------
dev
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2015-03-16 22:12:36 UTC (rev 9077)
+++ trunk/business/fudaa-ef/core/pom.xml 2015-03-16 22:12:57 UTC (rev 9078)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.6-SNAPSHOT</version>
+ <version>1.7-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-core</artifactId>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2015-03-16 22:12:36 UTC (rev 9077)
+++ trunk/business/fudaa-ef/io/pom.xml 2015-03-16 22:12:57 UTC (rev 9078)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.6-SNAPSHOT</version>
+ <version>1.7-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-io</artifactId>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2016-04-11 21:00:44
|
Revision: 9331
http://sourceforge.net/p/fudaa/svn/9331
Author: deniger
Date: 2016-04-11 21:00:42 +0000 (Mon, 11 Apr 2016)
Log Message:
-----------
[maven-release-plugin] prepare release fudaa-ef-1.7
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
trunk/business/fudaa-ef/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2016-04-11 20:48:38 UTC (rev 9330)
+++ trunk/business/fudaa-ef/core/pom.xml 2016-04-11 21:00:42 UTC (rev 9331)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.7-SNAPSHOT</version>
+ <version>1.7</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-core</artifactId>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2016-04-11 20:48:38 UTC (rev 9330)
+++ trunk/business/fudaa-ef/io/pom.xml 2016-04-11 21:00:42 UTC (rev 9331)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.7-SNAPSHOT</version>
+ <version>1.7</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-io</artifactId>
Modified: trunk/business/fudaa-ef/pom.xml
===================================================================
--- trunk/business/fudaa-ef/pom.xml 2016-04-11 20:48:38 UTC (rev 9330)
+++ trunk/business/fudaa-ef/pom.xml 2016-04-11 21:00:42 UTC (rev 9331)
@@ -16,7 +16,7 @@
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.7-SNAPSHOT</version>
+ <version>1.7</version>
<name>Fudaa-Ef Elements finis</name>
<packaging>pom</packaging>
<modules>
@@ -54,4 +54,10 @@
</dependency>
</dependencies>
</dependencyManagement>
+
+ <scm>
+ <connection>scm:svn:http://svn.code.sf.net/p/fudaa/svn/tags/business/fudaa-ef-1.7</connection>
+ <developerConnection>scm:svn:https://svn.code.sf.net/p/fudaa/svn/tags/business/fudaa-ef-1.7</developerConnection>
+ <url>http://svn.code.sf.net/p/fudaa/svn/tags/business/fudaa-ef-1.7</url>
+ </scm>
</project>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2016-04-11 21:00:59
|
Revision: 9333
http://sourceforge.net/p/fudaa/svn/9333
Author: deniger
Date: 2016-04-11 21:00:56 +0000 (Mon, 11 Apr 2016)
Log Message:
-----------
[maven-release-plugin] prepare for next development iteration
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
trunk/business/fudaa-ef/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2016-04-11 21:00:51 UTC (rev 9332)
+++ trunk/business/fudaa-ef/core/pom.xml 2016-04-11 21:00:56 UTC (rev 9333)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.7</version>
+ <version>1.8-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-core</artifactId>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2016-04-11 21:00:51 UTC (rev 9332)
+++ trunk/business/fudaa-ef/io/pom.xml 2016-04-11 21:00:56 UTC (rev 9333)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.7</version>
+ <version>1.8-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-io</artifactId>
Modified: trunk/business/fudaa-ef/pom.xml
===================================================================
--- trunk/business/fudaa-ef/pom.xml 2016-04-11 21:00:51 UTC (rev 9332)
+++ trunk/business/fudaa-ef/pom.xml 2016-04-11 21:00:56 UTC (rev 9333)
@@ -16,7 +16,7 @@
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.7</version>
+ <version>1.8-SNAPSHOT</version>
<name>Fudaa-Ef Elements finis</name>
<packaging>pom</packaging>
<modules>
@@ -54,10 +54,4 @@
</dependency>
</dependencies>
</dependencyManagement>
-
- <scm>
- <connection>scm:svn:http://svn.code.sf.net/p/fudaa/svn/tags/business/fudaa-ef-1.7</connection>
- <developerConnection>scm:svn:https://svn.code.sf.net/p/fudaa/svn/tags/business/fudaa-ef-1.7</developerConnection>
- <url>http://svn.code.sf.net/p/fudaa/svn/tags/business/fudaa-ef-1.7</url>
- </scm>
</project>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2016-04-18 14:06:38
|
Revision: 9354
http://sourceforge.net/p/fudaa/svn/9354
Author: deniger
Date: 2016-04-18 14:06:36 +0000 (Mon, 18 Apr 2016)
Log Message:
-----------
version 1.8
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2016-04-18 14:04:34 UTC (rev 9353)
+++ trunk/business/fudaa-ef/core/pom.xml 2016-04-18 14:06:36 UTC (rev 9354)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.8-SNAPSHOT</version>
+ <version>1.8</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-core</artifactId>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2016-04-18 14:04:34 UTC (rev 9353)
+++ trunk/business/fudaa-ef/io/pom.xml 2016-04-18 14:06:36 UTC (rev 9354)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.8-SNAPSHOT</version>
+ <version>1.8</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-io</artifactId>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2016-04-18 15:17:16
|
Revision: 9368
http://sourceforge.net/p/fudaa/svn/9368
Author: deniger
Date: 2016-04-18 15:17:14 +0000 (Mon, 18 Apr 2016)
Log Message:
-----------
version 1.9-SNAPSHOT
Modified Paths:
--------------
trunk/business/fudaa-ef/core/pom.xml
trunk/business/fudaa-ef/io/pom.xml
Modified: trunk/business/fudaa-ef/core/pom.xml
===================================================================
--- trunk/business/fudaa-ef/core/pom.xml 2016-04-18 15:12:07 UTC (rev 9367)
+++ trunk/business/fudaa-ef/core/pom.xml 2016-04-18 15:17:14 UTC (rev 9368)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.8</version>
+ <version>1.9-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-core</artifactId>
Modified: trunk/business/fudaa-ef/io/pom.xml
===================================================================
--- trunk/business/fudaa-ef/io/pom.xml 2016-04-18 15:12:07 UTC (rev 9367)
+++ trunk/business/fudaa-ef/io/pom.xml 2016-04-18 15:17:14 UTC (rev 9368)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>fudaa-ef</artifactId>
- <version>1.8</version>
+ <version>1.9-SNAPSHOT</version>
</parent>
<groupId>org.fudaa.business.fudaa-ef</groupId>
<artifactId>ef-io</artifactId>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|