|
From: <nr...@us...> - 2011-07-29 14:43:31
|
Revision: 15734
http://dcm4che.svn.sourceforge.net/dcm4che/?rev=15734&view=rev
Author: nroduit
Date: 2011-07-29 14:43:24 +0000 (Fri, 29 Jul 2011)
Log Message:
-----------
Do load duplicate local DICOM, drawings minor fixes
Modified Paths:
--------------
weasis/weasis_framework/trunk/weasis-core/weasis-core-api/src/main/java/org/weasis/core/api/gui/util/GeomUtil.java
weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/ParallelLineGraphic.java
weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-explorer/src/main/java/org/weasis/dicom/explorer/LoadLocalDicom.java
weasis/weasis_framework/trunk/weasis-distributions/etc/config/config.properties
weasis/weasis_framework/trunk/weasis-launcher/src/main/java/org/weasis/launcher/WeasisLauncher.java
Modified: weasis/weasis_framework/trunk/weasis-core/weasis-core-api/src/main/java/org/weasis/core/api/gui/util/GeomUtil.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-core/weasis-core-api/src/main/java/org/weasis/core/api/gui/util/GeomUtil.java 2011-07-29 07:34:53 UTC (rev 15733)
+++ weasis/weasis_framework/trunk/weasis-core/weasis-core-api/src/main/java/org/weasis/core/api/gui/util/GeomUtil.java 2011-07-29 14:43:24 UTC (rev 15734)
@@ -61,9 +61,9 @@
* @return angle in the range of [ -pi ; pi ]
*/
public static double getSmallestRotationAngleRad(double angle) {
- angle = angle % Math.PI;
+ angle = angle % (2 * Math.PI);
if (Math.abs(angle) > Math.PI) {
- angle -= Math.signum(angle) * 2.0 * Math.PI;
+ angle -= Math.signum(angle) * (2.0 * Math.PI);
}
return angle;
}
@@ -82,6 +82,32 @@
}
/**
+ * @param angle
+ * in Radiant
+ * @return angle in the range of [ -pi ; pi ]
+ */
+ public static double getSmallestAngleRad(double angle) {
+ angle = angle % Math.PI;
+ if (Math.abs(angle) > (Math.PI / 2.0)) {
+ angle -= Math.signum(angle) * Math.PI;
+ }
+ return angle;
+ }
+
+ /**
+ * @param angle
+ * in Degree
+ * @return angle in the range of [ -90 ; 90 ]
+ */
+ public static double getSmallestAngleDeg(double angle) {
+ angle = angle % 180.0;
+ if (Math.abs(angle) > 90.0) {
+ angle -= Math.signum(angle) * 180.0;
+ }
+ return angle;
+ }
+
+ /**
* @return midPoint or null if any argument is invalid
*/
public static Point2D getMidPoint(Point2D ptA, Point2D ptB) {
Modified: weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/ParallelLineGraphic.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/ParallelLineGraphic.java 2011-07-29 07:34:53 UTC (rev 15733)
+++ weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/ParallelLineGraphic.java 2011-07-29 14:43:24 UTC (rev 15734)
@@ -61,16 +61,11 @@
if (handlePointIndex == 0 || handlePointIndex == 1) {
// drag point is A or B
- Point2D anchor;// anchor is opposite point of A or B
- double theta; // rotation angle around anchor point
+ Point2D anchor = (handlePointIndex == 0) ? ptB : ptA;
+ double theta =
+ GeomUtil.getSmallestAngleRad(GeomUtil.getAngleRad(ptC, ptD) - GeomUtil.getAngleRad(ptA, ptB));
- if (handlePointIndex == 0) {
- anchor = ptB;
- theta = GeomUtil.getAngleRad(ptC, ptD) - GeomUtil.getAngleRad(ptA, ptB);
- } else {
- anchor = ptA;
- theta = GeomUtil.getAngleRad(ptD, ptC) - GeomUtil.getAngleRad(ptB, ptA);
- }
+ // rotation angle around anchor point
AffineTransform rotate = AffineTransform.getRotateInstance(theta, anchor.getX(), anchor.getY());
rotate.transform(ptC, ptC);
Modified: weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-explorer/src/main/java/org/weasis/dicom/explorer/LoadLocalDicom.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-explorer/src/main/java/org/weasis/dicom/explorer/LoadLocalDicom.java 2011-07-29 07:34:53 UTC (rev 15733)
+++ weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-explorer/src/main/java/org/weasis/dicom/explorer/LoadLocalDicom.java 2011-07-29 14:43:24 UTC (rev 15734)
@@ -243,6 +243,9 @@
}
}
} else {
+ // Test if SOPInstanceUID already exists
+ if (isSOPInstanceUIDExist(study, dicomSeries, seriesUID, dicomReader.getTagValue(TagW.SOPInstanceUID)))
+ return null;
MediaElement[] medias = dicomReader.getMediaElement();
if (medias != null) {
for (MediaElement media : medias) {
Modified: weasis/weasis_framework/trunk/weasis-distributions/etc/config/config.properties
===================================================================
--- weasis/weasis_framework/trunk/weasis-distributions/etc/config/config.properties 2011-07-29 07:34:53 UTC (rev 15733)
+++ weasis/weasis_framework/trunk/weasis-distributions/etc/config/config.properties 2011-07-29 14:43:24 UTC (rev 15734)
@@ -493,7 +493,7 @@
obr.repository.url=http://felix.apache.org/obr/releases.xml ${dollar}{weasis.codebase.url}/bundle/repository.xml
# Weasis version, do not remove this property
-weasis.version=${project.version}-RC-1
+weasis.version=${project.version}-RC-3
# If true and the weasis version is different of the installed version, allows to force to override all the modules
weasis.clean.previous.version=true
# Define the Look an Feel for the first launch related to the platform (macosx,linux,windows,...)
Modified: weasis/weasis_framework/trunk/weasis-launcher/src/main/java/org/weasis/launcher/WeasisLauncher.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-launcher/src/main/java/org/weasis/launcher/WeasisLauncher.java 2011-07-29 07:34:53 UTC (rev 15733)
+++ weasis/weasis_framework/trunk/weasis-launcher/src/main/java/org/weasis/launcher/WeasisLauncher.java 2011-07-29 14:43:24 UTC (rev 15734)
@@ -85,7 +85,7 @@
private static HostActivator m_activator = null;
private static Felix m_felix = null;
- protected static ServiceTracker m_tracker = null;
+ static ServiceTracker m_tracker = null;
private static String APP_PROPERTY_FILE = "weasis.properties"; //$NON-NLS-1$
public static final String P_WEASIS_VERSION = "weasis.version"; //$NON-NLS-1$
@@ -93,6 +93,8 @@
static Properties modulesi18n = null;
private static String look = null;
+ private static RemotePreferences REMOTE_PREFS;
+
/**
* <p>
* This method performs the main task of constructing an framework instance and starting its execution. The
@@ -257,6 +259,9 @@
public void run() {
int exitStatus = 0;
try {
+ if (REMOTE_PREFS != null) {
+ REMOTE_PREFS.store();
+ }
if (m_felix != null) {
m_felix.stop();
// wait asynchronous stop (max 25 seconds)
@@ -678,6 +683,9 @@
}
}
File common_file = new File(basdir, APP_PROPERTY_FILE);
+ if (REMOTE_PREFS != null && user != null) {
+ REMOTE_PREFS.read(basdir);
+ }
Properties s_prop = readProperties(common_file);
// Get locale from system properties otherwise set en_US (only for the first launch of Weasis on a user session)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|