refactoring

This commit is contained in:
Michael Hoffer 2017-10-15 13:49:49 +02:00
parent 5d6f032b1a
commit fbe9a2ecde
414 changed files with 17723 additions and 1987 deletions

8
.gitignore vendored
View File

@ -1,2 +1,8 @@
build
out
out
/.nb-gradle/
.gradle/
.idea/
freerouting.iml

147
build.gradle Normal file
View File

@ -0,0 +1,147 @@
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
//
}
}
plugins {
id "com.github.hierynomus.license" version "0.13.1"
id 'maven-publish'
id 'net.nemerosa.versioning' version '2.4.0'
id 'com.jfrog.bintray' version '1.7.3'
id 'com.github.ben-manes.versions' version '0.13.0'
// jigsaw:
// id 'org.gradle.java.experimental-jigsaw' version '0.1.1'
}
apply plugin: 'java'
apply from: 'gradle/publishing.gradle'
task wrapper(type: Wrapper) {
gradleVersion = '4.2.1'
distributionUrl = "https://services.gradle.org/distributions/gradle-$gradleVersion-all.zip"
}
sourceCompatibility = '1.9'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
}
}
// javadoc is way too strict for my taste.
if (JavaVersion.current().isJava8Compatible()) {
allprojects {
tasks.withType(Javadoc) {
options.addStringOption("encoding", "UTF-8")
options.addStringOption('Xdoclint:none', '-quiet')
}
}
}
if (!hasProperty('mainClass')) {
ext.mainClass = 'eu.mihosoft.freerouting.gui.MainApplication'
}
repositories {
mavenCentral()
jcenter()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.10'
// https://mvnrepository.com/artifact/javax.help/javahelp
// compile group: 'javax.help', name: 'javahelp', version: '2.0.05'
compile files("./lib/eu.mihosoft.freerouting.deps.jh.jar")
}
//ext.moduleName = 'eu.mihosoft.freerouting'
//javaModule.name = 'eu.mihosoft.freerouting'
//
//compileJava {
// inputs.property("moduleName", moduleName)
// doFirst {
//
// System.err.println(": modulepath-jar: " + classpath.asPath)
//
// options.compilerArgs = [
// '--module-path', classpath.asPath,
// ]
// classpath = files()
// }
//}
Date buildTimeAndDate = new Date()
ext {
buildDate = new java.text.SimpleDateFormat('yyyy-MM-dd').format(buildTimeAndDate)
buildTime = new java.text.SimpleDateFormat('HH:mm:ss.SSSZ').format(buildTimeAndDate)
}
// create a fat-jar (class files plus dependencies
// excludes VRL.jar (plugin jar files must not start with 'vrl-\\d+')
jar {
// TODO add switch for fat-jar generation
// dependencies except VRL
// from configurations.runtime.asFileTree.
// filter({file->return !file.name.startsWith("vrl-0")}).
// files.collect { zipTree(it) }
//
// from configurations.runtime.asFileTree.files.collect { zipTree(it) }
// // project class files compiled from source
from files(sourceSets.main.output)
manifest {
attributes(
'Built-By': System.properties['user.name'],
'Created-By': System.properties['java.version'] + " (" + System.properties['java.vendor'] + " " + System.properties['java.vm.version'] + ")",
'Build-Date': project.buildDate,
'Build-Time': project.buildTime,
'Build-Revision': versioning.info.commit,
'Specification-Title': project.name,
'Specification-Version': project.version,
'Implementation-Title': project.name,
'Implementation-Version': project.version,
'Main-Class': mainClass
)
}
}
//license {
// header = rootProject.file('config/HEADER')
// strictCheck = true
// ignoreFailures = true
// mapping {
// java = 'SLASHSTAR_STYLE'
// groovy = 'SLASHSTAR_STYLE'
// fxml = 'XML_STYLE'
// }
// ext.yearSince1 = '2017'
// ext.yearCurrent = new java.text.SimpleDateFormat("yyyy").format(new Date())
// ext.author1 = 'Michael Hoffer <info@michaelhoffer.de>'
// exclude '**/*.svg'
//}
task run(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = mainClass
// arguments to pass to the application
// args 'appArg1'
// jvmArgs 'arg1'
}

View File

@ -1,32 +0,0 @@
<project default="jar">
<target name="clean">
<delete dir="build"/>
</target>
<target name="compile">
<mkdir dir="build/classes"/>
<javac destdir="build/classes" classpath="lib/jh.jar:lib/javaws.jar" target="1.5" source="1.5" debug="yes">
<src path="src"/>
</javac>
</target>
<target name="jar" depends="compile">
<!-- TODO: zip files right into the jar? -->
<copy todir="build/classes/">
<fileset dir="src" includes="**/*.properties"/>
</copy>
<jar destfile="build/FreeRouting.jar" basedir="build/classes">
<manifest>
<attribute name="Main-Class" value="gui.MainApplication"/>
</manifest>
<fileset dir="build/classes" includes="**/*.class **/*.properties"/>
<zipfileset src="lib/jh.jar" includes="**/*.class"/>
<zipfileset src="lib/javaws.jar" includes="**/*.class"/>
</jar>
</target>
</project>

View File

@ -0,0 +1,25 @@
// -----------------------------------------------------------------------------
// publishing information
// -----------------------------------------------------------------------------
ext.publishing.artifactId = project.name.toLowerCase()
ext.publishing.groupId = 'eu.mihosoft.jcapture'
ext.publishing.versionId = '0.1.2'
ext.publishing.developerName = 'Michael Hoffer'
ext.publishing.developerAlias = 'miho'
ext.publishing.developerEmail = 'info@michaelhoffer.de'
ext.publishing.inceptionYear = '2017'
ext.publishing.bintray.repo = 'JCapture'
ext.publishing.bintray.userOrg = 'miho'
ext.publishing.bintray.name = project.name
ext.publishing.desc = 'Simple API for capturing video devices'
ext.publishing.license = 'Apache-2.0'
ext.publishing.licenseUrl = 'https://github.com/miho/JCapture/blob/master/LICENSE.txt'
ext.publishing.labels = ['video', 'webcam', 'capture']
ext.publishing.websiteUrl = 'https://github.com/miho/JCapture'
ext.publishing.issueTrackerUrl = 'https://github.com/miho/JCapture/issues'
ext.publishing.vcsUrl = 'https://github.com/miho/JCapture.git'
ext.publishing.pomName = ext.publishing.artifactId

122
gradle/publishing.gradle Normal file
View File

@ -0,0 +1,122 @@
// -----------------------------------------------------------------------------
// Collect publishing information
// -----------------------------------------------------------------------------
ext.publishing = [:]
ext.publishing.bintray = [:]
ext.publishing.pomName = ext.publishing.artifactId
apply from: "gradle/project-info.gradle"
// -----------------------------------------------------------------------------
// Performs publishing
// -----------------------------------------------------------------------------
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
// create one jar for the source files
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
artifacts {
archives jar
archives javadocJar
archives sourcesJar
}
Date buildTimeAndDate = new Date()
ext {
buildDate = new java.text.SimpleDateFormat('yyyy-MM-dd').format(buildTimeAndDate)
buildTime = new java.text.SimpleDateFormat('HH:mm:ss.SSSZ').format(buildTimeAndDate)
}
jar {
manifest {
attributes(
'Built-By': System.properties['user.name'],
'Created-By': System.properties['java.version'] + " (" + System.properties['java.vendor'] + " " + System.properties['java.vm.version'] + ")",
'Build-Date': project.buildDate,
'Build-Time': project.buildTime,
'Build-Revision': versioning.info.commit,
'Specification-Title': project.name,
'Specification-Version': project.version,
'Implementation-Title': project.name,
'Implementation-Version': project.version
)
}
}
def pomConfig = {
name ext.publishing.pomName
description ext.publishing.desc
url ext.publishing.websiteUrl
inceptionYear ext.publishing.inceptionYear
licenses {
license([:]) {
name ext.publishing.license
url ext.publishing.licenseUrl
distribution 'repo'
}
}
scm {
url ext.publishing.vcsUrl
connection ext.publishing.vcsUrl
developerConnection ext.publishing.vcsUrl
}
developers {
developer {
id ext.publishing.developerNameAlias
name ext.publishing.developerName
}
}
}
publishing {
publications {
mavenCustom(MavenPublication) {
groupId publishing.groupId
artifactId publishing.artifactId
version publishing.versionId
from components.java
artifact sourcesJar
artifact javadocJar
pom.withXml {
def root = asNode()
root.appendNode 'description', publishing.desc
root.children().last() + pomConfig
}
}
}
}
if (!project.hasProperty('bintrayUsername')) ext.bintrayUsername = ''
if (!project.hasProperty('bintrayApiKey')) ext.bintrayApiKey = ''
bintray {
user = project.bintrayUsername
key = project.bintrayApiKey
publications = ['mavenCustom']
pkg {
repo = publishing.bintray.repo
userOrg = publishing.bintray.userOrg
name = publishing.bintray.name
desc = publishing.desc
licenses = [publishing.license]
labels = publishing.labels
websiteUrl = publishing.websiteUrl
issueTrackerUrl = publishing.issueTrackerUrl
vcsUrl = publishing.vcsUrl
publicDownloadNumbers = true
version {
name = publishing.versionId
vcsTag = 'v' + publishing.versionId
}
}
}

BIN
gradle/wrapper/gradle-wrapper.jar vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,5 @@
distributionUrl=https\://services.gradle.org/distributions/gradle-4.2.1-all.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

172
gradlew vendored Normal file
View File

@ -0,0 +1,172 @@
#!/usr/bin/env sh
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"

84
gradlew.bat vendored Normal file
View File

@ -0,0 +1,84 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

Binary file not shown.

2
settings.gradle Normal file
View File

@ -0,0 +1,2 @@
rootProject.name = 'freerouting'

View File

@ -17,17 +17,17 @@
*
* Created on 25. Januar 2004, 09:38
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import geometry.planar.ConvexShape;
import eu.mihosoft.freerouting.geometry.planar.ConvexShape;
import rules.ViaInfo;
import rules.ViaRule;
import eu.mihosoft.freerouting.rules.ViaInfo;
import eu.mihosoft.freerouting.rules.ViaRule;
import board.RoutingBoard;
import eu.mihosoft.freerouting.board.RoutingBoard;
/**
* Structure for controlling the autoroute algorithm.
* Structure for controlling the eu.mihosoft.freerouting.autoroute algorithm.
*
* @author Alfons Wirtz
*/
@ -35,21 +35,21 @@ public class AutorouteControl
{
/** Creates a new instance of AutorouteControl for the input net */
public AutorouteControl(RoutingBoard p_board, int p_net_no, interactive.Settings p_settings)
public AutorouteControl(RoutingBoard p_board, int p_net_no, eu.mihosoft.freerouting.interactive.Settings p_settings)
{
this(p_board, p_settings, p_settings.autoroute_settings.get_trace_cost_arr());
init_net(p_net_no, p_board, p_settings.autoroute_settings.get_via_costs());
}
/** Creates a new instance of AutorouteControl for the input net */
public AutorouteControl(RoutingBoard p_board, int p_net_no, interactive.Settings p_settings, int p_via_costs, ExpansionCostFactor[] p_trace_cost_arr)
public AutorouteControl(RoutingBoard p_board, int p_net_no, eu.mihosoft.freerouting.interactive.Settings p_settings, int p_via_costs, ExpansionCostFactor[] p_trace_cost_arr)
{
this(p_board, p_settings, p_trace_cost_arr);
init_net(p_net_no, p_board, p_via_costs);
}
/** Creates a new instance of AutorouteControl */
private AutorouteControl(RoutingBoard p_board, interactive.Settings p_settings,
private AutorouteControl(RoutingBoard p_board, eu.mihosoft.freerouting.interactive.Settings p_settings,
ExpansionCostFactor[] p_trace_costs_arr)
{
layer_count = p_board.get_layer_count();
@ -93,8 +93,8 @@ public class AutorouteControl
private void init_net(int p_net_no, RoutingBoard p_board, int p_via_costs)
{
net_no = p_net_no;
rules.Net curr_net = p_board.rules.nets.get(p_net_no);
rules.NetClass curr_net_class;
eu.mihosoft.freerouting.rules.Net curr_net = p_board.rules.nets.get(p_net_no);
eu.mihosoft.freerouting.rules.NetClass curr_net_class;
if (curr_net != null)
{
curr_net_class = curr_net.get_class();
@ -139,7 +139,7 @@ public class AutorouteControl
{
this.attach_smd_allowed = true;
}
library.Padstack curr_via_padstack = curr_via.get_padstack();
eu.mihosoft.freerouting.library.Padstack curr_via_padstack = curr_via.get_padstack();
int from_layer = curr_via_padstack.from_layer();
int to_layer = curr_via_padstack.to_layer();
for (int j = from_layer; j <= to_layer; ++j)
@ -173,18 +173,18 @@ public class AutorouteControl
public final ExpansionCostFactor[] trace_costs;
/** Defines for each layer, if it may used for routing. */
final boolean[] layer_active;
/** The currently used net number in the autoroute algorithm */
/** The currently used net number in the eu.mihosoft.freerouting.autoroute algorithm */
int net_no;
/** The currently used trace half widths in the autoroute algorithm on each layer */
/** The currently used trace half widths in the eu.mihosoft.freerouting.autoroute algorithm on each layer */
final int[] trace_half_width;
/**
* The currently used compensated trace half widths in the autoroute algorithm on each layer.
* The currently used compensated trace half widths in the eu.mihosoft.freerouting.autoroute algorithm on each layer.
* Equal to trace_half_width if no clearance compensation is used.
*/
final int[] compensated_trace_half_width;
/** The currently used clearance class for traces in the autoroute algorithm */
/** The currently used clearance class for traces in the eu.mihosoft.freerouting.autoroute algorithm */
public int trace_clearance_class_no;
/** The currently used clearance class for vias in the autoroute algorithm */
/** The currently used clearance class for vias in the eu.mihosoft.freerouting.autoroute algorithm */
int via_clearance_class;
/** The possible (partial) vias, which can be used by the autorouter */
ViaRule via_rule;
@ -220,14 +220,14 @@ public class AutorouteControl
public int ripup_costs;
public int ripup_pass_no;
public final boolean with_neckdown;
/** If true, the autoroute algorithm completes after the first drill */
/** If true, the eu.mihosoft.freerouting.autoroute algorithm completes after the first drill */
public boolean is_fanout;
/**
* Normally true, if the autorouter contains no fanout pass
*/
public boolean remove_unconnected_vias;
/** horizontal and vertical costs for traces on a board layer */
/** horizontal and vertical costs for traces on a eu.mihosoft.freerouting.board layer */
public static class ExpansionCostFactor
{
@ -236,9 +236,9 @@ public class AutorouteControl
horizontal = p_horizontal;
vertical = p_vertical;
}
/** The horizontal expansion cost factor on a layer of the board */
/** The horizontal expansion cost factor on a layer of the eu.mihosoft.freerouting.board */
public final double horizontal;
/** The verical expansion cost factor on a layer of the board */
/** The verical expansion cost factor on a layer of the eu.mihosoft.freerouting.board */
public final double vertical;
}

View File

@ -17,11 +17,11 @@
*
* Created on 11. Januar 2004, 11:14
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import geometry.planar.Line;
import geometry.planar.Simplex;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.Simplex;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import java.util.Collection;
import java.util.Iterator;
@ -31,19 +31,19 @@ import java.util.TreeSet;
import java.util.Set;
import java.util.SortedSet;
import datastructures.Stoppable;
import datastructures.TimeLimit;
import eu.mihosoft.freerouting.datastructures.Stoppable;
import eu.mihosoft.freerouting.datastructures.TimeLimit;
import board.SearchTreeObject;
import board.Item;
import board.RoutingBoard;
import board.ShapeSearchTree;
import board.ShapeSearchTree90Degree;
import board.ShapeSearchTree45Degree;
import board.TestLevel;
import eu.mihosoft.freerouting.board.SearchTreeObject;
import eu.mihosoft.freerouting.board.Item;
import eu.mihosoft.freerouting.board.RoutingBoard;
import eu.mihosoft.freerouting.board.ShapeSearchTree;
import eu.mihosoft.freerouting.board.ShapeSearchTree90Degree;
import eu.mihosoft.freerouting.board.ShapeSearchTree45Degree;
import eu.mihosoft.freerouting.board.TestLevel;
/**
* Temporary autoroute data stored on the RoutingBoard.
* Temporary eu.mihosoft.freerouting.autoroute data stored on the RoutingBoard.
*
* @author Alfons Wirtz
*/
@ -186,7 +186,7 @@ public class AutorouteEngine
changed_nets.add(curr_ripped_item.get_net_no(i));
}
}
// let the observers know the changes in the board database.
// let the observers know the changes in the eu.mihosoft.freerouting.board database.
boolean observers_activated = !this.board.observers_active();
if (observers_activated)
{
@ -261,7 +261,7 @@ public class AutorouteEngine
/**
* Draws the shapes of the expansion rooms created so far.
*/
public void draw(java.awt.Graphics p_graphics, boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
public void draw(java.awt.Graphics p_graphics, eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
{
if (complete_expansion_rooms == null)
{
@ -640,7 +640,7 @@ public class AutorouteEngine
}
/**
* The current search tree used in autorouting.
* It depends on the trac clearance class used in the autoroute algorithm.
* It depends on the trac clearance class used in the eu.mihosoft.freerouting.autoroute algorithm.
*/
public final ShapeSearchTree autoroute_search_tree;
/** If maintain_database, the autorouter database is maintained after a connection is
@ -649,7 +649,7 @@ public class AutorouteEngine
public final boolean maintain_database;
static final int TRACE_WIDTH_TOLERANCE = 2;
/**
* The net number used for routing in this autoroute algorithm.
* The net number used for routing in this eu.mihosoft.freerouting.autoroute algorithm.
*/
private int net_no;
/**
@ -664,11 +664,11 @@ public class AutorouteEngine
* To stop the expansion algorithm after a time limit is exceeded.
*/
private TimeLimit time_limit;
/** The PCB-board of this autoroute algorithm. */
/** The PCB-eu.mihosoft.freerouting.board of this eu.mihosoft.freerouting.autoroute algorithm. */
final RoutingBoard board;
/** The list of incomplete expansion rooms on the routing board */
/** The list of incomplete expansion rooms on the routing eu.mihosoft.freerouting.board */
private List<IncompleteFreeSpaceExpansionRoom> incomplete_expansion_rooms = null;
/** The list of complete expansion rooms on the routing board */
/** The list of complete expansion rooms on the routing eu.mihosoft.freerouting.board */
private List<CompleteFreeSpaceExpansionRoom> complete_expansion_rooms = null;
/** The count of expansion rooms created so far */
private int expansion_room_instance_count = 0;

View File

@ -13,7 +13,7 @@
* GNU General Public License at <http://www.gnu.org/licenses/>
* for more details.
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Iterator;
import java.util.Collection;
@ -21,22 +21,22 @@ import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import datastructures.TimeLimit;
import datastructures.UndoableObjects;
import eu.mihosoft.freerouting.datastructures.TimeLimit;
import eu.mihosoft.freerouting.datastructures.UndoableObjects;
import geometry.planar.FloatPoint;
import geometry.planar.FloatLine;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatLine;
import board.Connectable;
import board.Item;
import board.DrillItem;
import board.RoutingBoard;
import eu.mihosoft.freerouting.board.Connectable;
import eu.mihosoft.freerouting.board.Item;
import eu.mihosoft.freerouting.board.DrillItem;
import eu.mihosoft.freerouting.board.RoutingBoard;
import interactive.BoardHandling;
import interactive.InteractiveActionThread;
import eu.mihosoft.freerouting.interactive.BoardHandling;
import eu.mihosoft.freerouting.interactive.InteractiveActionThread;
/**
* Handles the sequencing of the batch autoroute passes.
* Handles the sequencing of the batch eu.mihosoft.freerouting.autoroute passes.
*
* @author Alfons Wirtz
*/
@ -44,10 +44,10 @@ public class BatchAutorouter
{
/**
* Autoroutes ripup passes until the board is completed or the autorouter is stopped by the user,
* Autoroutes ripup passes until the eu.mihosoft.freerouting.board is completed or the autorouter is stopped by the user,
* or if p_max_pass_count is exceeded. Is currently used in the optimize via batch pass.
* Returns the number of oasses to complete the board or p_max_pass_count + 1,
* if the board is not completed.
* Returns the number of oasses to complete the eu.mihosoft.freerouting.board or p_max_pass_count + 1,
* if the eu.mihosoft.freerouting.board is not completed.
*/
public static int autoroute_passes_for_optimizing_item(InteractiveActionThread p_thread,
int p_max_pass_count, int p_ripup_costs, boolean p_with_prefered_directions)
@ -106,13 +106,13 @@ public class BatchAutorouter
}
/**
* Autoroutes ripup passes until the board is completed or the autorouter is stopped by the user.
* Returns true if the board is completed.
* Autoroutes ripup passes until the eu.mihosoft.freerouting.board is completed or the autorouter is stopped by the user.
* Returns true if the eu.mihosoft.freerouting.board is completed.
*/
public boolean autoroute_passes()
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("interactive.resources.InteractiveState", hdlg.get_locale());
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.interactive.resources.InteractiveState", hdlg.get_locale());
boolean still_unrouted_items = true;
while (still_unrouted_items && !this.is_interrupted)
{
@ -131,15 +131,15 @@ public class BatchAutorouter
}
if (!(this.remove_unconnected_vias || still_unrouted_items || this.is_interrupted))
{
// clean up the route if the board is completed and if fanout is used.
// clean up the route if the eu.mihosoft.freerouting.board is completed and if fanout is used.
remove_tails(Item.StopConnectionOption.NONE);
}
return !this.is_interrupted;
}
/**
* Autoroutes one ripup pass of all items of the board.
* Returns false, if the board is already completely routed.
* Autoroutes one ripup pass of all items of the eu.mihosoft.freerouting.board.
* Returns false, if the eu.mihosoft.freerouting.board is already completely routed.
*/
private boolean autoroute_pass(int p_pass_no, boolean p_with_screen_message)
{
@ -228,7 +228,7 @@ public class BatchAutorouter
}
}
}
if (routing_board.get_test_level() != board.TestLevel.ALL_DEBUGGING_OUTPUT)
if (routing_board.get_test_level() != eu.mihosoft.freerouting.board.TestLevel.ALL_DEBUGGING_OUTPUT)
{
Item.StopConnectionOption stop_connection_option;
if (this.remove_unconnected_vias)
@ -263,7 +263,7 @@ public class BatchAutorouter
try
{
boolean contains_plane = false;
rules.Net route_net = routing_board.rules.nets.get(p_route_net_no);
eu.mihosoft.freerouting.rules.Net route_net = routing_board.rules.nets.get(p_route_net_no);
if (route_net != null)
{
contains_plane = route_net.contains_plane();
@ -296,7 +296,7 @@ public class BatchAutorouter
{
for (Item curr_item : connected_set)
{
if (curr_item instanceof board.ConductionArea)
if (curr_item instanceof eu.mihosoft.freerouting.board.ConductionArea)
{
return true; // already connected to plane
@ -326,7 +326,7 @@ public class BatchAutorouter
{
routing_board.opt_changed_area(new int[0], null, this.hdlg.get_settings().get_trace_pull_tight_accuracy(), autoroute_control.trace_costs, this.thread, TIME_LIMIT_TO_PREVENT_ENDLESS_LOOP);
}
// tests.Validate.check("Autoroute ", hdlg.get_routing_board());
// eu.mihosoft.freerouting.tests.Validate.check("Autoroute ", hdlg.get_routing_board());
boolean result = autoroute_result == AutorouteEngine.AutorouteResult.ROUTED || autoroute_result == AutorouteEngine.AutorouteResult.ALREADY_CONNECTED;
return result;
} catch (Exception e)

View File

@ -13,18 +13,18 @@
* GNU General Public License at <http://www.gnu.org/licenses/>
* for more details.
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Collection;
import java.util.SortedSet;
import datastructures.TimeLimit;
import eu.mihosoft.freerouting.datastructures.TimeLimit;
import geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import board.RoutingBoard;
import eu.mihosoft.freerouting.board.RoutingBoard;
import interactive.InteractiveActionThread;
import eu.mihosoft.freerouting.interactive.InteractiveActionThread;
/**
* Handles the sequencing of the fanout inside the batch autorouter.
@ -52,11 +52,11 @@ public class BatchFanout
{
this.thread = p_thread;
this.routing_board = p_thread.hdlg.get_routing_board();
Collection<board.Pin> board_smd_pin_list = routing_board.get_smd_pins();
Collection<eu.mihosoft.freerouting.board.Pin> board_smd_pin_list = routing_board.get_smd_pins();
this.sorted_components = new java.util.TreeSet<Component>();
for (int i = 1; i <= routing_board.components.count(); ++i)
{
board.Component curr_board_component = routing_board.components.get(i);
eu.mihosoft.freerouting.board.Component curr_board_component = routing_board.components.get(i);
Component curr_component = new Component(curr_board_component, board_smd_pin_list);
if (curr_component.smd_pin_count > 0)
{
@ -109,7 +109,7 @@ public class BatchFanout
}
--components_to_go;
}
if (this.routing_board.get_test_level() != board.TestLevel.RELEASE_VERSION)
if (this.routing_board.get_test_level() != eu.mihosoft.freerouting.board.TestLevel.RELEASE_VERSION)
{
System.out.println("fanout pass: " + (p_pass_no + 1) + ", routed: " + routed_count
+ ", not routed: " + not_routed_count + ", errors: " + insert_error_count);
@ -123,14 +123,14 @@ public class BatchFanout
private static class Component implements Comparable<Component>
{
Component(board.Component p_board_component, Collection<board.Pin> p_board_smd_pin_list)
Component(eu.mihosoft.freerouting.board.Component p_board_component, Collection<eu.mihosoft.freerouting.board.Pin> p_board_smd_pin_list)
{
this.board_component = p_board_component;
// calcoulate the center of gravity of all SMD pins of this component.
Collection<board.Pin> curr_pin_list = new java.util.LinkedList<board.Pin>();
Collection<eu.mihosoft.freerouting.board.Pin> curr_pin_list = new java.util.LinkedList<eu.mihosoft.freerouting.board.Pin>();
int cmp_no = p_board_component.no;
for (board.Pin curr_board_pin : p_board_smd_pin_list)
for (eu.mihosoft.freerouting.board.Pin curr_board_pin : p_board_smd_pin_list)
{
if (curr_board_pin.get_component_no() == cmp_no)
{
@ -139,7 +139,7 @@ public class BatchFanout
}
double x = 0;
double y = 0;
for (board.Pin curr_pin : curr_pin_list)
for (eu.mihosoft.freerouting.board.Pin curr_pin : curr_pin_list)
{
FloatPoint curr_point = curr_pin.get_center().to_float();
x += curr_point.x;
@ -153,7 +153,7 @@ public class BatchFanout
// calculate the sorted SMD pins of this component
this.smd_pins = new java.util.TreeSet<Pin>();
for (board.Pin curr_board_pin : curr_pin_list)
for (eu.mihosoft.freerouting.board.Pin curr_board_pin : curr_pin_list)
{
this.smd_pins.add(new Pin(curr_board_pin));
}
@ -181,7 +181,7 @@ public class BatchFanout
}
return result;
}
final board.Component board_component;
final eu.mihosoft.freerouting.board.Component board_component;
final int smd_pin_count;
final SortedSet<Pin> smd_pins;
/** The center of gravity of all SMD pins of this component. */
@ -190,7 +190,7 @@ public class BatchFanout
class Pin implements Comparable<Pin>
{
Pin(board.Pin p_board_pin)
Pin(eu.mihosoft.freerouting.board.Pin p_board_pin)
{
this.board_pin = p_board_pin;
FloatPoint pin_location = p_board_pin.get_center().to_float();
@ -215,7 +215,7 @@ public class BatchFanout
}
return result;
}
final board.Pin board_pin;
final eu.mihosoft.freerouting.board.Pin board_pin;
final double distance_to_component_center;
}
}

View File

@ -13,27 +13,27 @@
* GNU General Public License at <http://www.gnu.org/licenses/>
* for more details.
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Iterator;
import java.util.Collection;
import java.util.Set;
import datastructures.UndoableObjects;
import eu.mihosoft.freerouting.datastructures.UndoableObjects;
import geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import board.Item;
import board.Via;
import board.Trace;
import board.RoutingBoard;
import board.FixedState;
import board.TestLevel;
import eu.mihosoft.freerouting.board.Item;
import eu.mihosoft.freerouting.board.Via;
import eu.mihosoft.freerouting.board.Trace;
import eu.mihosoft.freerouting.board.RoutingBoard;
import eu.mihosoft.freerouting.board.FixedState;
import eu.mihosoft.freerouting.board.TestLevel;
import interactive.InteractiveActionThread;
import eu.mihosoft.freerouting.interactive.InteractiveActionThread;
/**
* To optimize the vias and traces after the batch autorouter has completed the board.
* To optimize the vias and traces after the batch autorouter has completed the eu.mihosoft.freerouting.board.
*
* @author Alfons Wirtz
*/
@ -41,7 +41,7 @@ public class BatchOptRoute
{
/**
* To optimize the route on the board after the autoroute task is finished.
* To optimize the route on the eu.mihosoft.freerouting.board after the eu.mihosoft.freerouting.autoroute task is finished.
*/
public BatchOptRoute(InteractiveActionThread p_thread)
{
@ -51,7 +51,7 @@ public class BatchOptRoute
}
/**
* Optimize the route on the board.
* Optimize the route on the eu.mihosoft.freerouting.board.
*/
public void optimize_board()
{
@ -72,7 +72,7 @@ public class BatchOptRoute
}
/**
* Pass to reduce the number of vias an to shorten the trace lengthon a completely routed board.
* Pass to reduce the number of vias an to shorten the trace lengthon a completely routed eu.mihosoft.freerouting.board.
* Returns true, if the route was improved.
*/
private boolean opt_route_pass(int p_pass_no, boolean p_with_prefered_directions)
@ -114,7 +114,7 @@ public class BatchOptRoute
private boolean opt_route_item(Item p_item, int p_pass_no, boolean p_with_prefered_directions)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("interactive.resources.InteractiveState", this.thread.hdlg.get_locale());
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.interactive.resources.InteractiveState", this.thread.hdlg.get_locale());
String start_message = resources.getString("batch_optimizer") + " " + resources.getString("stop_message") + " " + resources.getString("pass") + " " + (new Integer(p_pass_no)).toString() + ": ";
this.thread.hdlg.screen_messages.set_status_message(start_message);
this.thread.hdlg.remove_ratsnest();
@ -214,12 +214,12 @@ public class BatchOptRoute
/**
* Calculates the cumulative trace lengths multiplied by the trace radius of all traces
* on the board, which are not shove_fixed.
* on the eu.mihosoft.freerouting.board, which are not shove_fixed.
*/
private static double calc_weighted_trace_length(RoutingBoard p_board)
{
double result = 0;
int default_clearance_class = rules.BoardRules.default_clearance_class();
int default_clearance_class = eu.mihosoft.freerouting.rules.BoardRules.default_clearance_class();
Iterator<UndoableObjects.UndoableObjectNode> it = p_board.item_list.start_read_object();
for (;;)
{
@ -267,9 +267,9 @@ public class BatchOptRoute
private static int ADDITIONAL_RIPUP_COST_FACTOR_AT_START = 10;
/**
* Reads the vias and traces on the board in ascending x order.
* Because the vias and traces on the board change while optimizing the item list
* of the board is read from scratch each time the next route item is returned.
* Reads the vias and traces on the eu.mihosoft.freerouting.board in ascending x order.
* Because the vias and traces on the eu.mihosoft.freerouting.board change while optimizing the item list
* of the eu.mihosoft.freerouting.board is read from scratch each time the next route item is returned.
*/
private class ReadSortedRouteItems
{

View File

@ -19,7 +19,7 @@
*
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Collection;
@ -38,10 +38,10 @@ public interface CompleteExpansionRoom extends ExpansionRoom
/**
* Returns the object of tthis complete_expansion_rooom.
*/
board.SearchTreeObject get_object();
eu.mihosoft.freerouting.board.SearchTreeObject get_object();
/**
* Draws the shape of this room for test purposes
*/
void draw(java.awt.Graphics p_graphics, boardgraphics.GraphicsContext p_graphics_context, double p_intensity);
void draw(java.awt.Graphics p_graphics, eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context, double p_intensity);
}

View File

@ -18,20 +18,20 @@
* Created on 10. Februar 2004, 10:12
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedList;
import datastructures.ShapeTree;
import eu.mihosoft.freerouting.datastructures.ShapeTree;
import board.SearchTreeObject;
import board.ShapeSearchTree;
import board.Connectable;
import board.Item;
import eu.mihosoft.freerouting.board.SearchTreeObject;
import eu.mihosoft.freerouting.board.ShapeSearchTree;
import eu.mihosoft.freerouting.board.Connectable;
import eu.mihosoft.freerouting.board.Item;
/**
@ -158,7 +158,7 @@ public class CompleteFreeSpaceExpansionRoom extends FreeSpaceExpansionRoom imple
}
/**
* Calculates the doors to the start and destination items of the autoroute algorithm.
* Calculates the doors to the start and destination items of the eu.mihosoft.freerouting.autoroute algorithm.
*/
public void calculate_target_doors(ShapeTree.TreeEntry p_own_net_object, int p_net_no, ShapeSearchTree p_autoroute_search_tree)
{
@ -186,7 +186,7 @@ public class CompleteFreeSpaceExpansionRoom extends FreeSpaceExpansionRoom imple
/**
* Draws the shape of this room.
*/
public void draw(java.awt.Graphics p_graphics, boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
public void draw(java.awt.Graphics p_graphics, eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
{
java.awt.Color draw_color = p_graphics_context.get_trace_colors(false)[this.get_layer()];
double layer_visibility = p_graphics_context.get_layer_visibility(this.get_layer());

View File

@ -19,16 +19,16 @@
*
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Collection;
import java.util.Set;
import java.util.TreeSet;
import geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Point;
import board.Item;
import board.Trace;
import eu.mihosoft.freerouting.board.Item;
import eu.mihosoft.freerouting.board.Trace;
/**
* Describes a routing connection ending at the next fork or terminal item.

View File

@ -18,11 +18,11 @@
* Created on 26. Januar 2004, 10:08
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import geometry.planar.FloatPoint;
import geometry.planar.IntBox;
import autoroute.AutorouteControl.ExpansionCostFactor;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.autoroute.AutorouteControl.ExpansionCostFactor;

View File

@ -19,22 +19,22 @@
*
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Collection;
import java.util.LinkedList;
import java.util.Iterator;
import geometry.planar.Point;
import geometry.planar.IntBox;
import geometry.planar.TileShape;
import geometry.planar.PolylineArea;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.PolylineArea;
import datastructures.ShapeTree.TreeEntry;
import eu.mihosoft.freerouting.datastructures.ShapeTree.TreeEntry;
import board.RoutingBoard;
import board.ShapeSearchTree;
import board.Item;
import eu.mihosoft.freerouting.board.RoutingBoard;
import eu.mihosoft.freerouting.board.ShapeSearchTree;
import eu.mihosoft.freerouting.board.Item;
/**
*
@ -82,9 +82,9 @@ class DrillPage implements ExpandableObject
{
continue;
}
if (curr_item instanceof board.Pin)
if (curr_item instanceof eu.mihosoft.freerouting.board.Pin)
{
if (p_attach_smd && ((board.Pin) curr_item).drill_allowed())
if (p_attach_smd && ((eu.mihosoft.freerouting.board.Pin) curr_item).drill_allowed())
{
continue;
}
@ -193,7 +193,7 @@ class DrillPage implements ExpandableObject
* Test draw of the drills on this page.
*/
public void draw(java.awt.Graphics p_graphics,
boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
{
if (true || drills == null)
{
@ -220,9 +220,9 @@ class DrillPage implements ExpandableObject
Point result = null;
for (Item curr_item : overlapping_items)
{
if (curr_item instanceof board.Pin)
if (curr_item instanceof eu.mihosoft.freerouting.board.Pin)
{
board.Pin curr_pin = (board.Pin) curr_item;
eu.mihosoft.freerouting.board.Pin curr_pin = (eu.mihosoft.freerouting.board.Pin) curr_item;
if (curr_pin.drill_allowed() && p_drill_shape.contains_inside(curr_pin.get_center()))
{
result = curr_pin.get_center();

View File

@ -19,19 +19,19 @@
*
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Collection;
import java.util.LinkedList;
import geometry.planar.IntBox;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import board.RoutingBoard;
import eu.mihosoft.freerouting.board.RoutingBoard;
/**
* Describes the 2 dimensional array of pages of ExpansionDrill`s used in the maze search algorithm.
* The pages are rectangles of about equal width and height covering covering the bounding box of the board area.
* The pages are rectangles of about equal width and height covering covering the bounding box of the eu.mihosoft.freerouting.board area.
*
* @author Alfons Wirtz
*/
@ -139,7 +139,7 @@ public class DrillPageArray
/*
* Test draw of the all drills
*/
public void draw(java.awt.Graphics p_graphics, boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
public void draw(java.awt.Graphics p_graphics, eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
{
for (int j = 0; j < page_arr.length; ++j)
{

View File

@ -17,9 +17,9 @@
*
* Created on 6. April 2004, 07:30
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
/**
* An object, which can be expanded by the maze expansion algorithm.

View File

@ -17,12 +17,12 @@
*
* Created on 6. Januar 2004, 07:23
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import geometry.planar.TileShape;
import geometry.planar.FloatPoint;
import geometry.planar.FloatLine;
import geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatLine;
import eu.mihosoft.freerouting.geometry.planar.Point;
/**
* An ExpansionDoor is a common edge between two ExpansionRooms
@ -52,6 +52,7 @@ public class ExpansionDoor implements ExpandableObject
/**
* Calculates the intersection of the shapes of the 2 rooms belonging to this door.
*/
@Override
public TileShape get_shape()
{
TileShape first_shape = first_room.get_shape();
@ -63,6 +64,7 @@ public class ExpansionDoor implements ExpandableObject
* The dimension of a door may be 1 or 2.
* 2-dimensional doors can only exist between ObstacleExpansionRooms
*/
@Override
public int get_dimension()
{
return this.dimension;

View File

@ -17,10 +17,10 @@
*
* Created on 19. April 2004, 08:00
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import geometry.planar.Point;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import java.util.Collection;
import java.util.Iterator;
@ -58,15 +58,15 @@ public class ExpansionDrill implements ExpandableObject
public boolean calculate_expansion_rooms(AutorouteEngine p_autoroute_engine)
{
TileShape search_shape = TileShape.get_instance(location);
Collection<board.SearchTreeObject> overlaps =
Collection<eu.mihosoft.freerouting.board.SearchTreeObject> overlaps =
p_autoroute_engine.autoroute_search_tree.overlapping_objects(search_shape, -1);
for (int i = this.first_layer; i <= this.last_layer; ++i)
{
CompleteExpansionRoom found_room = null;
Iterator<board.SearchTreeObject> it = overlaps.iterator();
Iterator<eu.mihosoft.freerouting.board.SearchTreeObject> it = overlaps.iterator();
while (it.hasNext())
{
board.SearchTreeObject curr_ob = it.next();
eu.mihosoft.freerouting.board.SearchTreeObject curr_ob = it.next();
if (!(curr_ob instanceof CompleteExpansionRoom))
{
it.remove();
@ -139,7 +139,7 @@ public class ExpansionDrill implements ExpandableObject
* Test draw of the the shape of this drill.
*/
public void draw(java.awt.Graphics p_graphics,
boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
{
java.awt.Color draw_color = p_graphics_context.get_hilight_color();
p_graphics_context.fill_area(this.shape, p_graphics, draw_color, p_intensity);

View File

@ -19,11 +19,11 @@
*
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.List;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
/**
*

View File

@ -18,9 +18,9 @@
* Created on 29. Dezember 2003, 08:37
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import java.util.Iterator;

View File

@ -18,11 +18,11 @@
* Created on 10. Februar 2004, 10:13
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Collection;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
/**

View File

@ -17,29 +17,29 @@
*
* Created on 23. Februar 2004, 08:18
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import geometry.planar.IntPoint;
import geometry.planar.Point;
import geometry.planar.FloatPoint;
import geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import java.util.Iterator;
import java.util.Set;
import library.Padstack;
import rules.ViaInfo;
import eu.mihosoft.freerouting.library.Padstack;
import eu.mihosoft.freerouting.rules.ViaInfo;
import board.ForcedViaAlgo;
import board.PolylineTrace;
import board.Trace;
import board.Item;
import board.RoutingBoard;
import board.ItemSelectionFilter;
import board.TestLevel;
import eu.mihosoft.freerouting.board.ForcedViaAlgo;
import eu.mihosoft.freerouting.board.PolylineTrace;
import eu.mihosoft.freerouting.board.Trace;
import eu.mihosoft.freerouting.board.Item;
import eu.mihosoft.freerouting.board.RoutingBoard;
import eu.mihosoft.freerouting.board.ItemSelectionFilter;
import eu.mihosoft.freerouting.board.TestLevel;
/**
* Inserts the traces and vias of the connection found by the autoroute algorithm.
* Inserts the traces and vias of the connection found by the eu.mihosoft.freerouting.autoroute algorithm.
*
* @author Alfons Wirtz
*/
@ -121,8 +121,8 @@ public class InsertFoundConnectionAlgo
board.rules.set_pin_edge_to_turn_dist(-1);
// Look for pins att the start and the end of p_trace in case that neckdown is necessecary.
board.Pin start_pin = null;
board.Pin end_pin = null;
eu.mihosoft.freerouting.board.Pin start_pin = null;
eu.mihosoft.freerouting.board.Pin end_pin = null;
if (ctrl.with_neckdown)
{
ItemSelectionFilter item_filter = new ItemSelectionFilter(ItemSelectionFilter.SelectableChoices.PINS);
@ -132,7 +132,7 @@ public class InsertFoundConnectionAlgo
Set<Item> picked_items = this.board.pick_items(curr_end_corner, p_trace.layer, item_filter);
for (Item curr_item : picked_items)
{
board.Pin curr_pin = (board.Pin) curr_item;
eu.mihosoft.freerouting.board.Pin curr_pin = (eu.mihosoft.freerouting.board.Pin) curr_item;
if (curr_pin.contains_net(ctrl.net_no) && curr_pin.get_center().equals(curr_end_corner))
{
if (i == 0)
@ -220,7 +220,7 @@ public class InsertFoundConnectionAlgo
return result;
}
boolean insert_neckdown(Point p_from_corner, Point p_to_corner, int p_layer, board.Pin p_start_pin, board.Pin p_end_pin)
boolean insert_neckdown(Point p_from_corner, Point p_to_corner, int p_layer, eu.mihosoft.freerouting.board.Pin p_start_pin, eu.mihosoft.freerouting.board.Pin p_end_pin)
{
if (p_start_pin != null)
{
@ -241,7 +241,7 @@ public class InsertFoundConnectionAlgo
return false;
}
private Point try_neck_down(Point p_from_corner, Point p_to_corner, int p_layer, board.Pin p_pin, boolean p_at_start)
private Point try_neck_down(Point p_from_corner, Point p_to_corner, int p_layer, eu.mihosoft.freerouting.board.Pin p_pin, boolean p_at_start)
{
if (!p_pin.is_on_layer(p_layer))
{

View File

@ -18,15 +18,15 @@
* Created on 22. Februar 2004, 12:09
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import board.ShapeSearchTree;
import eu.mihosoft.freerouting.board.ShapeSearchTree;
import board.Item;
import eu.mihosoft.freerouting.board.Item;
/**
* Temporary data stored in board Items used in the autoroute algorithm
* Temporary data stored in eu.mihosoft.freerouting.board Items used in the eu.mihosoft.freerouting.autoroute algorithm
*
* @author Alfons Wirtz
*/
@ -38,7 +38,7 @@ public class ItemAutorouteInfo
this.item = p_item;
}
/**
* Looks, if the corresponding item belongs to the start or destination set of the autoroute algorithm.
* Looks, if the corresponding item belongs to the start or destination set of the eu.mihosoft.freerouting.autoroute algorithm.
* Only used, if the item belongs to the net, which will be currently routed.
*/
public boolean is_start_info()
@ -47,7 +47,7 @@ public class ItemAutorouteInfo
}
/**
* Sets, if the corresponding item belongs to the start or destination set of the autoroute algorithm.
* Sets, if the corresponding item belongs to the start or destination set of the eu.mihosoft.freerouting.autoroute algorithm.
* Only used, if the item belongs to the net, which will be currently routed.
*/
public void set_start_info(boolean p_value)
@ -114,7 +114,7 @@ public class ItemAutorouteInfo
/**
* Draws the shapes of the expansion rooms of this info for testing purposes.
*/
public void draw(java.awt.Graphics p_graphics, boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
public void draw(java.awt.Graphics p_graphics, eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
{
if (expansion_room_arr == null)
{

View File

@ -18,22 +18,22 @@
* Created on 31. Januar 2006, 08:20
*
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Collection;
import java.util.SortedSet;
import java.util.LinkedList;
import java.util.Iterator;
import geometry.planar.IntPoint;
import geometry.planar.FloatPoint;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import board.Connectable;
import board.Item;
import board.AngleRestriction;
import board.ShapeSearchTree;
import board.TestLevel;
import eu.mihosoft.freerouting.board.Connectable;
import eu.mihosoft.freerouting.board.Item;
import eu.mihosoft.freerouting.board.AngleRestriction;
import eu.mihosoft.freerouting.board.ShapeSearchTree;
import eu.mihosoft.freerouting.board.TestLevel;
/**
*
@ -269,7 +269,7 @@ public abstract class LocateFoundConnectionAlgo
protected abstract Collection<FloatPoint> calculate_next_trace_corners();
/** Test display of the baktrack rooms. */
public void draw(java.awt.Graphics p_graphics, boardgraphics.GraphicsContext p_graphics_context)
public void draw(java.awt.Graphics p_graphics, eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context)
{
for (int i = 0; i < backtrack_array.length; ++i)
{

View File

@ -19,24 +19,24 @@
*
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Collection;
import java.util.LinkedList;
import java.util.SortedSet;
import datastructures.Signum;
import eu.mihosoft.freerouting.datastructures.Signum;
import geometry.planar.FloatPoint;
import geometry.planar.FloatLine;
import geometry.planar.TileShape;
import geometry.planar.IntBox;
import geometry.planar.Simplex;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatLine;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.Simplex;
import board.ShapeSearchTree;
import board.AngleRestriction;
import board.Item;
import board.TestLevel;
import eu.mihosoft.freerouting.board.ShapeSearchTree;
import eu.mihosoft.freerouting.board.AngleRestriction;
import eu.mihosoft.freerouting.board.Item;
import eu.mihosoft.freerouting.board.TestLevel;
/**
*

View File

@ -18,21 +18,21 @@
* Created on 14. Februar 2004, 07:55
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import geometry.planar.FloatLine;
import geometry.planar.FloatPoint;
import geometry.planar.Side;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.FloatLine;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.Side;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import java.util.Collection;
import java.util.SortedSet;
import java.util.LinkedList;
import board.ShapeSearchTree;
import board.AngleRestriction;
import board.Item;
import board.TestLevel;
import eu.mihosoft.freerouting.board.ShapeSearchTree;
import eu.mihosoft.freerouting.board.AngleRestriction;
import eu.mihosoft.freerouting.board.Item;
import eu.mihosoft.freerouting.board.TestLevel;
/**

View File

@ -18,9 +18,9 @@
* Created on 25. Januar 2004, 08:21
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import geometry.planar.FloatLine;
import eu.mihosoft.freerouting.geometry.planar.FloatLine;
/**
* Information for the maze expand Algorithm contained in expansion doors and drills

View File

@ -17,18 +17,18 @@
*
* Created on 25. Januar 2004, 13:24
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import geometry.planar.ConvexShape;
import geometry.planar.FloatLine;
import geometry.planar.FloatPoint;
import geometry.planar.IntPoint;
import geometry.planar.Point;
import geometry.planar.Polyline;
import geometry.planar.TileShape;
import geometry.planar.IntBox;
import geometry.planar.IntOctagon;
import geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.ConvexShape;
import eu.mihosoft.freerouting.geometry.planar.FloatLine;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.IntOctagon;
import eu.mihosoft.freerouting.geometry.planar.Line;
import java.util.Collection;
import java.util.Iterator;
@ -36,14 +36,14 @@ import java.util.LinkedList;
import java.util.TreeSet;
import java.util.Set;
import board.Connectable;
import board.ForcedViaAlgo;
import board.Item;
import board.PolylineTrace;
import board.ShapeSearchTree;
import board.AngleRestriction;
import board.SearchTreeObject;
import board.ItemSelectionFilter;
import eu.mihosoft.freerouting.board.Connectable;
import eu.mihosoft.freerouting.board.ForcedViaAlgo;
import eu.mihosoft.freerouting.board.Item;
import eu.mihosoft.freerouting.board.PolylineTrace;
import eu.mihosoft.freerouting.board.ShapeSearchTree;
import eu.mihosoft.freerouting.board.AngleRestriction;
import eu.mihosoft.freerouting.board.SearchTreeObject;
import eu.mihosoft.freerouting.board.ItemSelectionFilter;
/**
* Class for autorouting an incomplete connection via a maze search algorithm.
@ -236,9 +236,9 @@ public class MazeSearchAlgo
{
// try evtl. neckdown at a start pin
Item start_item = ((TargetItemExpansionDoor) p_list_element.door).item;
if (start_item instanceof board.Pin)
if (start_item instanceof eu.mihosoft.freerouting.board.Pin)
{
double neckdown_half_width = ((board.Pin) start_item).get_trace_neckdown_halfwidth(layer_no);
double neckdown_half_width = ((eu.mihosoft.freerouting.board.Pin) start_item).get_trace_neckdown_halfwidth(layer_no);
if (neckdown_half_width > 0)
{
half_width = Math.min(half_width, neckdown_half_width);
@ -341,7 +341,7 @@ public class MazeSearchAlgo
if (ripup_costs != ALREADY_RIPPED_COSTS && next_room_is_thick)
{
Item obstacle_item = obstacle_room.get_item();
if (!curr_door_is_small && this.ctrl.max_shove_trace_recursion_depth > 0 && obstacle_item instanceof board.PolylineTrace)
if (!curr_door_is_small && this.ctrl.max_shove_trace_recursion_depth > 0 && obstacle_item instanceof eu.mihosoft.freerouting.board.PolylineTrace)
{
if (!shove_trace_room(p_list_element, obstacle_room))
{
@ -398,9 +398,9 @@ public class MazeSearchAlgo
else if (p_list_element.next_room instanceof ObstacleExpansionRoom)
{
Item curr_obstacle_item = ((ObstacleExpansionRoom) p_list_element.next_room).get_item();
if (curr_obstacle_item instanceof board.Via)
if (curr_obstacle_item instanceof eu.mihosoft.freerouting.board.Via)
{
board.Via curr_via = (board.Via) curr_obstacle_item;
eu.mihosoft.freerouting.board.Via curr_via = (eu.mihosoft.freerouting.board.Via) curr_obstacle_item;
ExpansionDrill via_drill_info = curr_via.get_autoroute_drill_info(this.autoroute_engine.autoroute_search_tree);
expand_to_drill(via_drill_info, p_list_element, ripup_costs);
}
@ -545,7 +545,7 @@ public class MazeSearchAlgo
TileShape door_shape = p_door.get_shape();
if (door_shape.is_empty())
{
if (this.autoroute_engine.board.get_test_level().ordinal() >= board.TestLevel.ALL_DEBUGGING_OUTPUT.ordinal())
if (this.autoroute_engine.board.get_test_level().ordinal() >= eu.mihosoft.freerouting.board.TestLevel.ALL_DEBUGGING_OUTPUT.ordinal())
{
System.out.println("MazeSearchAlgo:check_door_width door_shape is empty");
}
@ -628,9 +628,9 @@ public class MazeSearchAlgo
// If expansion comes from a pin with trace exit directions the eapansion_value is calculated
// from the nearest trace exit point instead from the center olf the pin.
Item from_item = ((TargetItemExpansionDoor) p_from_element.backtrack_door).item;
if (from_item instanceof board.Pin)
if (from_item instanceof eu.mihosoft.freerouting.board.Pin)
{
FloatPoint nearest_exit_corner = ((board.Pin) from_item).nearest_trace_exit_corner(p_drill.location.to_float(), trace_half_width, layer);
FloatPoint nearest_exit_corner = ((eu.mihosoft.freerouting.board.Pin) from_item).nearest_trace_exit_corner(p_drill.location.to_float(), trace_half_width, layer);
if (nearest_exit_corner != null)
{
compare_corner = nearest_exit_corner;
@ -729,11 +729,11 @@ public class MazeSearchAlgo
}
Item curr_obstacle_item =
((ObstacleExpansionRoom) curr_drill.room_arr[p_list_element.section_no_of_door]).get_item();
if (!(curr_obstacle_item instanceof board.Via))
if (!(curr_obstacle_item instanceof eu.mihosoft.freerouting.board.Via))
{
return;
}
library.Padstack curr_obstacle_padstack = ((board.Via) curr_obstacle_item).get_padstack();
eu.mihosoft.freerouting.library.Padstack curr_obstacle_padstack = ((eu.mihosoft.freerouting.board.Via) curr_obstacle_item).get_padstack();
if (!this.ctrl.via_rule.contains_padstack(curr_obstacle_padstack) || curr_obstacle_item.clearance_class_no() != this.ctrl.via_clearance_class)
{
return;
@ -755,16 +755,16 @@ public class MazeSearchAlgo
for (;;)
{
TileShape curr_room_shape = curr_drill.room_arr[curr_layer - curr_drill.first_layer].get_shape();
board.ForcedPadAlgo.CheckDrillResult drill_result =
eu.mihosoft.freerouting.board.ForcedPadAlgo.CheckDrillResult drill_result =
ForcedViaAlgo.check_layer(ctrl.via_radius_arr[curr_layer], ctrl.via_clearance_class,
ctrl.attach_smd_allowed, curr_room_shape, curr_drill.location, curr_layer, net_no_arr,
ctrl.max_shove_trace_recursion_depth, 0, autoroute_engine.board);
if (drill_result == board.ForcedPadAlgo.CheckDrillResult.NOT_DRILLABLE)
if (drill_result == eu.mihosoft.freerouting.board.ForcedPadAlgo.CheckDrillResult.NOT_DRILLABLE)
{
via_lower_bound = curr_layer + 1;
break;
}
else if (drill_result == board.ForcedPadAlgo.CheckDrillResult.DRILLABLE_WITH_ATTACH_SMD)
else if (drill_result == eu.mihosoft.freerouting.board.ForcedPadAlgo.CheckDrillResult.DRILLABLE_WITH_ATTACH_SMD)
{
if (curr_layer == 0)
{
@ -795,16 +795,16 @@ public class MazeSearchAlgo
break;
}
TileShape curr_room_shape = curr_drill.room_arr[curr_layer - curr_drill.first_layer].get_shape();
board.ForcedPadAlgo.CheckDrillResult drill_result =
eu.mihosoft.freerouting.board.ForcedPadAlgo.CheckDrillResult drill_result =
ForcedViaAlgo.check_layer(ctrl.via_radius_arr[curr_layer], ctrl.via_clearance_class, ctrl.attach_smd_allowed,
curr_room_shape, curr_drill.location, curr_layer, net_no_arr,
ctrl.max_shove_trace_recursion_depth, 0, autoroute_engine.board);
if (drill_result == board.ForcedPadAlgo.CheckDrillResult.NOT_DRILLABLE)
if (drill_result == eu.mihosoft.freerouting.board.ForcedPadAlgo.CheckDrillResult.NOT_DRILLABLE)
{
via_upper_bound = curr_layer - 1;
break;
}
else if (drill_result == board.ForcedPadAlgo.CheckDrillResult.DRILLABLE_WITH_ATTACH_SMD)
else if (drill_result == eu.mihosoft.freerouting.board.ForcedPadAlgo.CheckDrillResult.DRILLABLE_WITH_ATTACH_SMD)
{
if (curr_layer == ctrl.layer_count - 1)
{
@ -950,7 +950,7 @@ public class MazeSearchAlgo
if (this.autoroute_engine.maintain_database)
{
// add the completed start rooms carried over from the last autoroute to the start rooms.
// add the completed start rooms carried over from the last eu.mihosoft.freerouting.autoroute to the start rooms.
completed_start_rooms.addAll(this.autoroute_engine.get_rooms_with_target_items(p_start_items));
}
@ -1005,17 +1005,17 @@ public class MazeSearchAlgo
{
for (Item curr_item : p_item_list)
{
if ((curr_item instanceof board.Pin) && curr_item.net_count() > 1)
if ((curr_item instanceof eu.mihosoft.freerouting.board.Pin) && curr_item.net_count() > 1)
{
Collection<Item> pin_contacts = curr_item.get_normal_contacts();
board.Pin curr_tie_pin = (board.Pin) curr_item;
eu.mihosoft.freerouting.board.Pin curr_tie_pin = (eu.mihosoft.freerouting.board.Pin) curr_item;
for (Item curr_contact : pin_contacts)
{
if (!(curr_contact instanceof board.PolylineTrace) || curr_contact.contains_net(p_own_net_no))
if (!(curr_contact instanceof eu.mihosoft.freerouting.board.PolylineTrace) || curr_contact.contains_net(p_own_net_no))
{
continue;
}
p_autoroute_tree.reduce_trace_shape_at_tie_pin(curr_tie_pin, (board.PolylineTrace) curr_contact);
p_autoroute_tree.reduce_trace_shape_at_tie_pin(curr_tie_pin, (eu.mihosoft.freerouting.board.PolylineTrace) curr_contact);
}
}
}
@ -1026,15 +1026,15 @@ public class MazeSearchAlgo
Item obstacle_item = p_obstacle_room.get_item();
int layer = p_obstacle_room.get_layer();
double obstacle_half_width;
if (obstacle_item instanceof board.Trace)
if (obstacle_item instanceof eu.mihosoft.freerouting.board.Trace)
{
obstacle_half_width = ((board.Trace) obstacle_item).get_half_width()
obstacle_half_width = ((eu.mihosoft.freerouting.board.Trace) obstacle_item).get_half_width()
+ this.search_tree.clearance_compensation_value(obstacle_item.clearance_class_no(), layer);
}
else if (obstacle_item instanceof board.Via)
else if (obstacle_item instanceof eu.mihosoft.freerouting.board.Via)
{
TileShape via_shape = ((board.Via) obstacle_item).get_tree_shape_on_layer(this.search_tree, layer);
TileShape via_shape = ((eu.mihosoft.freerouting.board.Via) obstacle_item).get_tree_shape_on_layer(this.search_tree, layer);
obstacle_half_width = 0.5 * via_shape.max_width();
}
else
@ -1089,9 +1089,9 @@ public class MazeSearchAlgo
double fanout_via_cost_factor = 1.0;
double cost_factor = 1;
if (p_obstacle_item instanceof board.Trace)
if (p_obstacle_item instanceof eu.mihosoft.freerouting.board.Trace)
{
board.Trace obstacle_trace = (board.Trace) p_obstacle_item;
eu.mihosoft.freerouting.board.Trace obstacle_trace = (eu.mihosoft.freerouting.board.Trace) p_obstacle_item;
cost_factor = obstacle_trace.get_half_width();
if (!this.ctrl.remove_unconnected_vias)
{
@ -1099,19 +1099,19 @@ public class MazeSearchAlgo
fanout_via_cost_factor = calc_fanout_via_ripup_cost_factor(obstacle_trace);
}
}
else if (p_obstacle_item instanceof board.Via)
else if (p_obstacle_item instanceof eu.mihosoft.freerouting.board.Via)
{
boolean look_if_fanout_via = !this.ctrl.remove_unconnected_vias;
Collection<Item> contact_list = p_obstacle_item.get_normal_contacts();
int contact_count = 0;
for (Item curr_contact : contact_list)
{
if (!(curr_contact instanceof board.Trace) || curr_contact.is_user_fixed())
if (!(curr_contact instanceof eu.mihosoft.freerouting.board.Trace) || curr_contact.is_user_fixed())
{
return -1;
}
++contact_count;
board.Trace obstacle_trace = (board.Trace) curr_contact;
eu.mihosoft.freerouting.board.Trace obstacle_trace = (eu.mihosoft.freerouting.board.Trace) curr_contact;
cost_factor = Math.max(cost_factor, obstacle_trace.get_half_width());
if (look_if_fanout_via)
{
@ -1160,7 +1160,7 @@ public class MazeSearchAlgo
* Return the addditional cost factor for ripping the trace, if it is connected to a fanout via
* or 1, if no fanout via was found.
*/
private static double calc_fanout_via_ripup_cost_factor(board.Trace p_trace)
private static double calc_fanout_via_ripup_cost_factor(eu.mihosoft.freerouting.board.Trace p_trace)
{
final double FANOUT_COST_CONST = 20000;
Collection<Item> curr_end_contacts;
@ -1180,11 +1180,11 @@ public class MazeSearchAlgo
}
Item curr_trace_contact = curr_end_contacts.iterator().next();
boolean protect_fanout_via = false;
if (curr_trace_contact instanceof board.Pin && curr_trace_contact.first_layer() == curr_trace_contact.last_layer())
if (curr_trace_contact instanceof eu.mihosoft.freerouting.board.Pin && curr_trace_contact.first_layer() == curr_trace_contact.last_layer())
{
protect_fanout_via = true;
}
else if (curr_trace_contact instanceof PolylineTrace && curr_trace_contact.get_fixed_state() == board.FixedState.SHOVE_FIXED)
else if (curr_trace_contact instanceof PolylineTrace && curr_trace_contact.get_fixed_state() == eu.mihosoft.freerouting.board.FixedState.SHOVE_FIXED)
{
// look for shove fixed exit traces of SMD-pins
PolylineTrace contact_trace = (PolylineTrace) curr_trace_contact;
@ -1288,9 +1288,9 @@ public class MazeSearchAlgo
Collection<TargetItemExpansionDoor> target_doors = p_room.get_target_doors();
for (TargetItemExpansionDoor curr_target_door : target_doors)
{
if (curr_target_door.item instanceof board.Pin)
if (curr_target_door.item instanceof eu.mihosoft.freerouting.board.Pin)
{
return ((board.Pin) curr_target_door.item).get_trace_neckdown_halfwidth(p_room.get_layer());
return ((eu.mihosoft.freerouting.board.Pin) curr_target_door.item).get_trace_neckdown_halfwidth(p_room.get_layer());
}
}
return 0;
@ -1439,7 +1439,7 @@ public class MazeSearchAlgo
return enter_through_small_door(p_list_element, curr_item);
}
/**
* The autoroute engine of this expansion algorithm.
* The eu.mihosoft.freerouting.autoroute engine of this expansion algorithm.
*/
public final AutorouteEngine autoroute_engine;
final AutorouteControl ctrl;

View File

@ -18,7 +18,7 @@
* Created on 31. Januar 2004, 07:46
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
/**
* Describes the structure of a section of an ExpandebleObject.

View File

@ -19,23 +19,23 @@
*
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Collection;
import geometry.planar.TileShape;
import geometry.planar.Line;
import geometry.planar.Polyline;
import geometry.planar.Point;
import geometry.planar.FloatPoint;
import geometry.planar.FloatLine;
import geometry.planar.Side;
import geometry.planar.Direction;
import geometry.planar.LineSegment;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatLine;
import eu.mihosoft.freerouting.geometry.planar.Side;
import eu.mihosoft.freerouting.geometry.planar.Direction;
import eu.mihosoft.freerouting.geometry.planar.LineSegment;
import board.Item;
import board.RoutingBoard;
import board.ShoveTraceAlgo;
import eu.mihosoft.freerouting.board.Item;
import eu.mihosoft.freerouting.board.RoutingBoard;
import eu.mihosoft.freerouting.board.ShoveTraceAlgo;
/**
* Auxiliary functions used in MazeSearchAlgo.
@ -58,11 +58,11 @@ public class MazeShoveTraceAlgo
return true;
}
ExpansionDoor from_door = (ExpansionDoor) p_list_element.door;
if (!(p_obstacle_room.get_item() instanceof board.PolylineTrace))
if (!(p_obstacle_room.get_item() instanceof eu.mihosoft.freerouting.board.PolylineTrace))
{
return true;
}
board.PolylineTrace obstacle_trace = (board.PolylineTrace)p_obstacle_room.get_item();
eu.mihosoft.freerouting.board.PolylineTrace obstacle_trace = (eu.mihosoft.freerouting.board.PolylineTrace)p_obstacle_room.get_item();
int trace_layer = p_obstacle_room.get_layer();
// only traces with the same halfwidth and the same clearance class can be shoved.
if (obstacle_trace.get_half_width() != p_ctrl.trace_half_width[trace_layer]
@ -291,7 +291,7 @@ public class MazeShoveTraceAlgo
FloatLine curr_door_segment = curr_door_shape.diagonal_corner_segment();
if (curr_door_segment == null)
{
if (p_board.get_test_level() == board.TestLevel.ALL_DEBUGGING_OUTPUT)
if (p_board.get_test_level() == eu.mihosoft.freerouting.board.TestLevel.ALL_DEBUGGING_OUTPUT)
{
System.out.println("MazeShoveTraceAlgo.check_shove_trace_line: door shape is empty");
}
@ -361,7 +361,7 @@ public class MazeShoveTraceAlgo
* Check if the endpoints of p_trace and p_from_item are maching, so that the
* shove can continue through a link door.
*/
private static boolean end_points_matching(board.PolylineTrace p_trace, Item p_from_item)
private static boolean end_points_matching(eu.mihosoft.freerouting.board.PolylineTrace p_trace, Item p_from_item)
{
if (p_from_item == p_trace)
{
@ -372,14 +372,14 @@ public class MazeShoveTraceAlgo
return false;
}
boolean points_matching;
if (p_from_item instanceof board.DrillItem)
if (p_from_item instanceof eu.mihosoft.freerouting.board.DrillItem)
{
Point from_center = ((board.DrillItem) p_from_item).get_center();
Point from_center = ((eu.mihosoft.freerouting.board.DrillItem) p_from_item).get_center();
points_matching = from_center.equals(p_trace.first_corner()) || from_center.equals(p_trace.last_corner());
}
else if (p_from_item instanceof board.PolylineTrace)
else if (p_from_item instanceof eu.mihosoft.freerouting.board.PolylineTrace)
{
board.PolylineTrace from_trace = (board.PolylineTrace) p_from_item;
eu.mihosoft.freerouting.board.PolylineTrace from_trace = (eu.mihosoft.freerouting.board.PolylineTrace) p_from_item;
points_matching = p_trace.first_corner().equals(from_trace.first_corner()) ||
p_trace.first_corner().equals(from_trace.last_corner()) ||
p_trace.last_corner().equals(from_trace.first_corner()) ||

View File

@ -19,21 +19,21 @@
*
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.List;
import java.util.Collection;
import board.ShapeSearchTree;
import board.SearchTreeObject;
import board.PolylineTrace;
import eu.mihosoft.freerouting.board.ShapeSearchTree;
import eu.mihosoft.freerouting.board.SearchTreeObject;
import eu.mihosoft.freerouting.board.PolylineTrace;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import board.Item;
import eu.mihosoft.freerouting.board.Item;
/**
* Expansion Room used for pushing and ripping obstacles in the autoroute algorithm.
* Expansion Room used for pushing and ripping obstacles in the eu.mihosoft.freerouting.autoroute algorithm.
*
* @author Alfons Wirtz
*/
@ -91,7 +91,7 @@ public class ObstacleExpansionRoom implements CompleteExpansionRoom
}
/**
* Creates a 2-dim door with the other obstacle room, if that is useful for the autoroute algorithm.
* Creates a 2-dim door with the other obstacle room, if that is useful for the eu.mihosoft.freerouting.autoroute algorithm.
* It is assumed that this room and p_other have a 2-dimensional overlap.
* Returns false, if no door was created.
*/
@ -188,7 +188,7 @@ public class ObstacleExpansionRoom implements CompleteExpansionRoom
/**
* Draws the shape of this room.
*/
public void draw(java.awt.Graphics p_graphics, boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
public void draw(java.awt.Graphics p_graphics, eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context, double p_intensity)
{
java.awt.Color draw_color = java.awt.Color.WHITE;
double layer_visibility = p_graphics_context.get_layer_visibility(this.get_layer());

View File

@ -19,7 +19,7 @@
*
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Collection;
import java.util.Iterator;
@ -27,17 +27,17 @@ import java.util.LinkedList;
import java.util.SortedSet;
import java.util.TreeSet;
import datastructures.ShapeTree;
import eu.mihosoft.freerouting.datastructures.ShapeTree;
import geometry.planar.Limits;
import geometry.planar.IntOctagon;
import geometry.planar.IntPoint;
import geometry.planar.TileShape;
import geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.Limits;
import eu.mihosoft.freerouting.geometry.planar.IntOctagon;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import board.ShapeSearchTree;
import board.SearchTreeObject;
import board.Item;
import eu.mihosoft.freerouting.board.ShapeSearchTree;
import eu.mihosoft.freerouting.board.SearchTreeObject;
import eu.mihosoft.freerouting.board.Item;
/**
*

View File

@ -19,7 +19,7 @@
*
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Collection;
import java.util.Iterator;
@ -27,15 +27,15 @@ import java.util.LinkedList;
import java.util.SortedSet;
import java.util.TreeSet;
import datastructures.ShapeTree;
import eu.mihosoft.freerouting.datastructures.ShapeTree;
import geometry.planar.IntBox;
import geometry.planar.TileShape;
import geometry.planar.Limits;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Limits;
import board.SearchTreeObject;
import board.ShapeSearchTree;
import board.Item;
import eu.mihosoft.freerouting.board.SearchTreeObject;
import eu.mihosoft.freerouting.board.ShapeSearchTree;
import eu.mihosoft.freerouting.board.Item;
/**
*

View File

@ -19,7 +19,7 @@
*
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import java.util.Collection;
import java.util.LinkedList;
@ -27,24 +27,24 @@ import java.util.TreeSet;
import java.util.SortedSet;
import java.util.Iterator;
import datastructures.Signum;
import datastructures.ShapeTree;
import eu.mihosoft.freerouting.datastructures.Signum;
import eu.mihosoft.freerouting.datastructures.ShapeTree;
import geometry.planar.Side;
import geometry.planar.Direction;
import geometry.planar.Point;
import geometry.planar.IntPoint;
import geometry.planar.FloatPoint;
import geometry.planar.Line;
import geometry.planar.TileShape;
import geometry.planar.Simplex;
import eu.mihosoft.freerouting.geometry.planar.Side;
import eu.mihosoft.freerouting.geometry.planar.Direction;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Simplex;
import board.ShapeSearchTree;
import board.SearchTreeObject;
import board.Connectable;
import board.Item;
import board.PolylineTrace;
import board.TestLevel;
import eu.mihosoft.freerouting.board.ShapeSearchTree;
import eu.mihosoft.freerouting.board.SearchTreeObject;
import eu.mihosoft.freerouting.board.Connectable;
import eu.mihosoft.freerouting.board.Item;
import eu.mihosoft.freerouting.board.PolylineTrace;
import eu.mihosoft.freerouting.board.TestLevel;
/**
* To calculate the neigbour rooms of an expansion room.

View File

@ -17,15 +17,15 @@
*
* Created on 2. Februar 2004, 12:59
*/
package autoroute;
package eu.mihosoft.freerouting.autoroute;
import geometry.planar.Simplex;
import geometry.planar.TileShape;
import board.Item;
import board.ShapeSearchTree;
import eu.mihosoft.freerouting.geometry.planar.Simplex;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.board.Item;
import eu.mihosoft.freerouting.board.ShapeSearchTree;
/**
* An expansion door leading to a start or destination item of the autoroute algorithm.
* An expansion door leading to a start or destination item of the eu.mihosoft.freerouting.autoroute algorithm.
*
* @author Alfons Wirtz
*/

View File

@ -16,4 +16,4 @@
--></head>
<body bgcolor="white">Contains functionality of the autoroute algorithm. </body></html>
<body bgcolor="white">Contains functionality of the eu.mihosoft.freerouting.autoroute algorithm. </body></html>

View File

@ -18,7 +18,7 @@
* Created on 14. Juli 2003, 07:40
*/
package board;
package eu.mihosoft.freerouting.board;
/**
* Enum for angle restrictions none, fortyfive degree and ninety degree.

View File

@ -13,17 +13,17 @@
* GNU General Public License at <http://www.gnu.org/licenses/>
* for more details.
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.Area;
import geometry.planar.ConvexShape;
import geometry.planar.IntBox;
import geometry.planar.IntOctagon;
import geometry.planar.Point;
import geometry.planar.Vector;
import geometry.planar.Polyline;
import geometry.planar.PolylineShape;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Area;
import eu.mihosoft.freerouting.geometry.planar.ConvexShape;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.IntOctagon;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.PolylineShape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import java.awt.Graphics;
@ -34,21 +34,21 @@ import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import datastructures.ShapeTree.TreeEntry;
import eu.mihosoft.freerouting.datastructures.ShapeTree.TreeEntry;
import library.BoardLibrary;
import library.Padstack;
import rules.BoardRules;
import boardgraphics.GraphicsContext;
import boardgraphics.Drawable;
import datastructures.UndoableObjects;
import eu.mihosoft.freerouting.library.BoardLibrary;
import eu.mihosoft.freerouting.library.Padstack;
import eu.mihosoft.freerouting.rules.BoardRules;
import eu.mihosoft.freerouting.boardgraphics.GraphicsContext;
import eu.mihosoft.freerouting.boardgraphics.Drawable;
import eu.mihosoft.freerouting.datastructures.UndoableObjects;
/**
*
* Provides basic functionality of a board with geometric items.
* Provides basic functionality of a eu.mihosoft.freerouting.board with geometric items.
* Contains functions such as inserting, deleting, modifying
* and picking items and elementary checking functions.
* A board may have 1 or several layers.
* A eu.mihosoft.freerouting.board may have 1 or several layers.
*
* @author Alfons Wirtz
*/
@ -60,7 +60,7 @@ public class BasicBoard implements java.io.Serializable
* p_bounding_box
* Rules contains the restrictions to obey when inserting items.
* Among other things it may contain a clearance matrix.
* p_observers is used for syncronisation, if the board is generated
* p_observers is used for syncronisation, if the eu.mihosoft.freerouting.board is generated
* by a host database. Otherwise it is null.
* If p_test_level != RELEASE_VERSION,, some features may be used, which are still in experimental state.
* Also warnings for debugging may be printed depending on the size of p_test_level.
@ -82,7 +82,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts a trace into the board, whose geometry is described by
* Inserts a trace into the eu.mihosoft.freerouting.board, whose geometry is described by
* a Polyline. p_clearance_class is the index in the clearance_matix,
* which describes the required clearance restrictions to other items.
* Because no internal cleaning of items is done, the new inserted
@ -114,7 +114,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts a trace into the board, whose geometry is described by
* Inserts a trace into the eu.mihosoft.freerouting.board, whose geometry is described by
* a Polyline. p_clearance_class is the index in the clearance_matix,
* which describes the required clearance restrictions to other items.
*/
@ -141,7 +141,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts a trace into the board, whose geometry is described by
* Inserts a trace into the eu.mihosoft.freerouting.board, whose geometry is described by
* an array of points, and cleans up the net.
*/
public void insert_trace(Point[] p_points, int p_layer,
@ -159,7 +159,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts a via into the board. p_attach_allowed indicates, if the via may overlap with smd pins
* Inserts a via into the eu.mihosoft.freerouting.board. p_attach_allowed indicates, if the via may overlap with smd pins
* of the same net.
*/
public Via insert_via(Padstack p_padstack, Point p_center, int[] p_net_no_arr, int p_clearance_class,
@ -181,8 +181,8 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts a pin into the board.
* p_pin_no is the number of this pin in the library package of its component (starting with 0).
* Inserts a pin into the eu.mihosoft.freerouting.board.
* p_pin_no is the number of this pin in the eu.mihosoft.freerouting.library package of its component (starting with 0).
*/
public Pin insert_pin(int p_component_no, int p_pin_no, int[] p_net_no_arr, int p_clearance_class, FixedState p_fixed_state)
{
@ -192,7 +192,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts an obstacle into the board , whose geometry is described
* Inserts an obstacle into the eu.mihosoft.freerouting.board , whose geometry is described
* by a polygonyal shape, which may have holes.
* If p_component_no != 0, the obstacle belongs to a component.
*/
@ -209,7 +209,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts an obstacle belonging to a component into the board
* Inserts an obstacle belonging to a component into the eu.mihosoft.freerouting.board
* p_name is to identify the corresponding ObstacstacleArea in the component package.
*/
public ObstacleArea insert_obstacle(Area p_area, int p_layer, Vector p_translation, double p_rotation_in_degree,
@ -227,7 +227,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts an via obstacle area into the board , whose geometry is described
* Inserts an via obstacle area into the eu.mihosoft.freerouting.board , whose geometry is described
* by a polygonyal shape, which may have holes.
*/
public ViaObstacleArea insert_via_obstacle(Area p_area, int p_layer, int p_clearance_class,
@ -245,7 +245,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts an via obstacle belonging to a component into the board
* Inserts an via obstacle belonging to a component into the eu.mihosoft.freerouting.board
* p_name is to identify the corresponding ObstacstacleArea in the component package.
*/
public ViaObstacleArea insert_via_obstacle(Area p_area, int p_layer, Vector p_translation, double p_rotation_in_degree,
@ -264,7 +264,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts a component obstacle area into the board , whose geometry is described
* Inserts a component obstacle area into the eu.mihosoft.freerouting.board , whose geometry is described
* by a polygonyal shape, which may have holes.
*/
public ComponentObstacleArea insert_component_obstacle(Area p_area, int p_layer,
@ -282,7 +282,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts a component obstacle belonging to a component into the board.
* Inserts a component obstacle belonging to a component into the eu.mihosoft.freerouting.board.
* p_name is to identify the corresponding ObstacstacleArea in the component package.
*/
public ComponentObstacleArea insert_component_obstacle(Area p_area, int p_layer, Vector p_translation, double p_rotation_in_degree,
@ -300,7 +300,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts a component ouline into the board.
* Inserts a component ouline into the eu.mihosoft.freerouting.board.
*/
public ComponentOutline insert_component_outline(Area p_area, boolean p_is_front, Vector p_translation, double p_rotation_in_degree,
int p_component_no, FixedState p_fixed_state)
@ -322,7 +322,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts a condution area into the board , whose geometry is described
* Inserts a condution area into the eu.mihosoft.freerouting.board , whose geometry is described
* by a polygonyal shape, which may have holes.
* If p_is_obstacle is false, it is possible to route through the conduction area
* with traces and vias of foreign nets.
@ -342,7 +342,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts an Outline into the board.
* Inserts an Outline into the eu.mihosoft.freerouting.board.
*/
public BoardOutline insert_outline(PolylineShape[] p_outline_shapes, int p_clearance_class_no)
{
@ -352,7 +352,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Returns the outline of the board.
* Returns the outline of the eu.mihosoft.freerouting.board.
*/
public BoardOutline get_outline()
{
@ -373,7 +373,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Removes an item from the board
* Removes an item from the eu.mihosoft.freerouting.board
*/
public void remove_item(Item p_item)
{
@ -390,7 +390,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* looks, if an item with id_no p_id_no is on the board.
* looks, if an item with id_no p_id_no is on the eu.mihosoft.freerouting.board.
* Returns the found item or null, if no such item is found.
*/
public Item get_item(int p_id_no)
@ -412,7 +412,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Returns the list of all items on the board
* Returns the list of all items on the eu.mihosoft.freerouting.board
*/
public Collection<Item> get_items()
{
@ -431,7 +431,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Returns all connectable items on the board containing p_net_no
* Returns all connectable items on the eu.mihosoft.freerouting.board containing p_net_no
*/
public Collection<Item> get_connectable_items(int p_net_no)
{
@ -567,7 +567,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Returns the list of all conduction areas on the board
* Returns the list of all conduction areas on the eu.mihosoft.freerouting.board
*/
public Collection<ConductionArea> get_conduction_areas()
{
@ -589,7 +589,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Returns the list of all pins on the board
* Returns the list of all pins on the eu.mihosoft.freerouting.board
*/
public Collection<Pin> get_pins()
{
@ -611,7 +611,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Returns the list of all pins on the board with only 1 layer
* Returns the list of all pins on the eu.mihosoft.freerouting.board with only 1 layer
*/
public Collection<Pin> get_smd_pins()
{
@ -637,7 +637,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Returns the list of all vias on the board
* Returns the list of all vias on the eu.mihosoft.freerouting.board
*/
public Collection<Via> get_vias()
{
@ -659,7 +659,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Returns the list of all traces on the board
* Returns the list of all traces on the eu.mihosoft.freerouting.board
*/
public Collection<Trace> get_traces()
{
@ -681,7 +681,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Returns the cumulative length of all traces on the board
* Returns the cumulative length of all traces on the eu.mihosoft.freerouting.board
*/
public double cumulative_trace_length()
{
@ -1034,7 +1034,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Returns the layer count of this board.
* Returns the layer count of this eu.mihosoft.freerouting.board.
*/
public int get_layer_count()
{
@ -1042,7 +1042,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Draws all items of the board on their visible layers. Called in the overwritten
* Draws all items of the eu.mihosoft.freerouting.board on their visible layers. Called in the overwritten
* paintComponent method of a class derived from JPanel.
* The value of p_layer_visibility is expected between 0 and 1 for each layer.
*/
@ -1053,7 +1053,7 @@ public class BasicBoard implements java.io.Serializable
return;
}
// draw all items on the board
// draw all items on the eu.mihosoft.freerouting.board
for (int curr_priority = Drawable.MIN_DRAW_PRIORITY; curr_priority <= Drawable.MIDDLE_DRAW_PRIORITY; ++curr_priority)
{
Iterator<UndoableObjects.UndoableObjectNode> it = item_list.start_read_object();
@ -1081,7 +1081,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Returns the list of items on the board, whose shape on layer p_layer contains the point at p_location.
* Returns the list of items on the eu.mihosoft.freerouting.board, whose shape on layer p_layer contains the point at p_location.
* If p_layer < 0, the layer is ignored.
* If p_item_selection_filter != null, only items of types selected by the filter are picked.
*/
@ -1105,7 +1105,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* checks, if p_point is contained in the bounding box of this board.
* checks, if p_point is contained in the bounding box of this eu.mihosoft.freerouting.board.
*/
public boolean contains(Point p_point)
{
@ -1127,7 +1127,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* returns the biggest half width of all traces on the board.
* returns the biggest half width of all traces on the eu.mihosoft.freerouting.board.
*/
public int get_max_trace_half_width()
{
@ -1135,7 +1135,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* returns the smallest half width of all traces on the board.
* returns the smallest half width of all traces on the eu.mihosoft.freerouting.board.
*/
public int get_min_trace_half_width()
{
@ -1143,7 +1143,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Returns a surrounding box of the geometry of this board
* Returns a surrounding box of the geometry of this eu.mihosoft.freerouting.board
*/
public IntBox get_bounding_box()
{
@ -1214,7 +1214,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Returns, if the observer of the board items is activated.
* Returns, if the observer of the eu.mihosoft.freerouting.board items is activated.
*/
public boolean observers_active()
{
@ -1254,7 +1254,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Inserts an item into the board data base
* Inserts an item into the eu.mihosoft.freerouting.board data base
*/
public void insert_item(Item p_item)
{
@ -1379,7 +1379,7 @@ public class BasicBoard implements java.io.Serializable
}
/**
* Makes the current board situation restorable by undo.
* Makes the current eu.mihosoft.freerouting.board situation restorable by undo.
*/
public void generate_snapshot()
{
@ -1505,7 +1505,7 @@ public class BasicBoard implements java.io.Serializable
throws java.io.IOException, java.lang.ClassNotFoundException
{
p_stream.defaultReadObject();
// insert the items on the board into the search trees
// insert the items on the eu.mihosoft.freerouting.board into the search trees
search_tree_manager = new SearchTreeManager(this);
Iterator<Item> it = this.get_items().iterator();
while (it.hasNext())
@ -1516,27 +1516,27 @@ public class BasicBoard implements java.io.Serializable
}
}
/**
* List of items inserted into this board
* List of items inserted into this eu.mihosoft.freerouting.board
*/
public final UndoableObjects item_list;
/** List of placed components on the board. */
/** List of placed components on the eu.mihosoft.freerouting.board. */
public final Components components;
/**
* Class defining the rules for items to be inserted into this board.
* Class defining the eu.mihosoft.freerouting.rules for items to be inserted into this eu.mihosoft.freerouting.board.
* Contains for example the clearance matrix.
*/
public final BoardRules rules;
/**
* The library containing pastack masks, packagages and other
* templates used on the board.
* The eu.mihosoft.freerouting.library containing pastack masks, packagages and other
* templates used on the eu.mihosoft.freerouting.board.
*/
public final BoardLibrary library;
/**
* The layer structure of this board.
* The layer structure of this eu.mihosoft.freerouting.board.
*/
public final LayerStructure layer_structure;
/**
* Handels the search trees pointing into the items of this board
* Handels the search trees pointing into the items of this eu.mihosoft.freerouting.board
*/
public transient SearchTreeManager search_tree_manager;
/**
@ -1544,7 +1544,7 @@ public class BasicBoard implements java.io.Serializable
*/
public final Communication communication;
/**
* bounding orthogonal rectangle of this board
* bounding orthogonal rectangle of this eu.mihosoft.freerouting.board
*/
public final IntBox bounding_box;
/**
@ -1555,11 +1555,11 @@ public class BasicBoard implements java.io.Serializable
/** the rectangle, where the graphics may be not uptodate */
transient private IntBox update_box = IntBox.EMPTY;
/**
* the biggest half width of all traces on the board
* the biggest half width of all traces on the eu.mihosoft.freerouting.board
*/
private int max_trace_half_width = 1000;
/**
* the smallest half width of all traces on the board
* the smallest half width of all traces on the eu.mihosoft.freerouting.board
*/
private int min_trace_half_width = 10000;
/**

View File

@ -19,7 +19,7 @@
*
*/
package board;
package eu.mihosoft.freerouting.board;
/**
* Empty adaptor implementing the BoardObservers interface.

View File

@ -19,9 +19,9 @@
*
*/
package board;
package eu.mihosoft.freerouting.board;
import datastructures.Observers;
import eu.mihosoft.freerouting.datastructures.Observers;
/**
*

View File

@ -17,22 +17,21 @@
*
* Created on 18. August 2004, 07:24
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.IntBox;
import geometry.planar.IntPoint;
import geometry.planar.LineSegment;
import geometry.planar.TileShape;
import geometry.planar.PolylineShape;
import geometry.planar.PolylineArea;
import geometry.planar.Area;
import geometry.planar.Vector;
import geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.PolylineShape;
import eu.mihosoft.freerouting.geometry.planar.PolylineArea;
import eu.mihosoft.freerouting.geometry.planar.Area;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import boardgraphics.GraphicsContext;
import eu.mihosoft.freerouting.boardgraphics.GraphicsContext;
/**
* Class describing a board outline.
* Class describing a eu.mihosoft.freerouting.board outline.
*
* @author alfons
*/
@ -179,7 +178,7 @@ public class BoardOutline extends Item implements java.io.Serializable
public int get_draw_priority()
{
return boardgraphics.Drawable.MAX_DRAW_PRIORITY;
return eu.mihosoft.freerouting.boardgraphics.Drawable.MAX_DRAW_PRIORITY;
}
public int shape_count()
@ -218,7 +217,7 @@ public class BoardOutline extends Item implements java.io.Serializable
}
/**
* The board shape outside the outline curves, where a keepout will be generated
* The eu.mihosoft.freerouting.board shape outside the outline curves, where a keepout will be generated
* The outline curves are holes of the keepout_area.
*/
Area get_keepout_area()
@ -268,7 +267,7 @@ public class BoardOutline extends Item implements java.io.Serializable
public void print_info(ObjectInfoPanel p_window, java.util.Locale p_locale)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append_bold(resources.getString("board_outline"));
print_clearance_info(p_window, p_locale);
p_window.newline();
@ -287,7 +286,7 @@ public class BoardOutline extends Item implements java.io.Serializable
}
/**
* Returns, if keepout is generated outside the board outline.
* Returns, if keepout is generated outside the eu.mihosoft.freerouting.board outline.
* Otherwise only the line shapes of the outlines are inserted as keepout.
*/
public boolean keepout_outside_outline_generated()
@ -340,10 +339,10 @@ public class BoardOutline extends Item implements java.io.Serializable
{
return p_search_tree.calculate_tree_shapes(this);
}
/** The board shapes inside the outline curves. */
/** The eu.mihosoft.freerouting.board shapes inside the outline curves. */
private PolylineShape[] shapes;
/**
* The board shape outside the outline curves, where a keepout will be generated
* The eu.mihosoft.freerouting.board shape outside the outline curves, where a keepout will be generated
* The outline curves are holes of the keepout_area.
*/
private Area keepout_area = null;

View File

@ -18,15 +18,15 @@
* Created on 17. August 2003, 07:36
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.FloatPoint;
import geometry.planar.Line;
import geometry.planar.LineSegment;
import geometry.planar.Point;
import geometry.planar.Polyline;
import geometry.planar.TileShape;
import geometry.planar.Side;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.LineSegment;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Side;
/**
*

View File

@ -16,13 +16,13 @@
* Created on 1. September 2003, 08:40
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.FloatPoint;
import geometry.planar.Line;
import geometry.planar.Polyline;
import geometry.planar.Side;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.Side;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
/**
* Used in the shove algorithm to calculate the fromside for pushing and

View File

@ -14,14 +14,14 @@
* for more details.
*/
package board;
import geometry.planar.FloatPoint;
import geometry.planar.IntBox;
import geometry.planar.IntOctagon;
package eu.mihosoft.freerouting.board;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.IntOctagon;
/**
*
* Used internally for marking changed areas on the board
* Used internally for marking changed areas on the eu.mihosoft.freerouting.board
* after shoving and optimizing items.
*
@ -66,7 +66,7 @@ class ChangedArea
/**
* enlarges the octagon on p_layer, so that it contains p_shape
*/
public void join (geometry.planar.TileShape p_shape, int p_layer)
public void join (eu.mihosoft.freerouting.geometry.planar.TileShape p_shape, int p_layer)
{
if (p_shape == null)
{
@ -121,7 +121,7 @@ class ChangedArea
MutableOctagon [] arr;
/**
* mutable octagon with double coordinates (see geometry.planar.IntOctagon)
* mutable octagon with double coordinates (see eu.mihosoft.freerouting.geometry.planar.IntOctagon)
*/
private static class MutableOctagon
{

View File

@ -18,9 +18,9 @@
* Created on 4. Oktober 2004, 08:56
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.ConvexShape;
import eu.mihosoft.freerouting.geometry.planar.ConvexShape;
/**
@ -43,7 +43,7 @@ public class ClearanceViolation implements ObjectInfoPanel.Printable
public void print_info(ObjectInfoPanel p_window, java.util.Locale p_locale)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append_bold(resources.getString("clearance_violation_2"));
p_window.append(" " + resources.getString("at") + " ");
p_window.append(shape.centre_of_gravity());

View File

@ -18,10 +18,10 @@
* Created on 5. Juli 2004, 07:31
*/
package board;
package eu.mihosoft.freerouting.board;
import datastructures.IdNoGenerator;
import designformats.specctra.CoordinateTransform;
import eu.mihosoft.freerouting.datastructures.IdNoGenerator;
import eu.mihosoft.freerouting.designforms.specctra.CoordinateTransform;
/**
* Communication information to host systems or host design formats.
@ -48,7 +48,7 @@ public class Communication implements java.io.Serializable
public Communication()
{
this(Unit.MIL, 1, new SpecctraParserInfo("\"", null, null, null, null, false),
new CoordinateTransform(1, 0, 0), new board.ItemIdNoGenerator(), new BoardObserverAdaptor());
new CoordinateTransform(1, 0, 0), new eu.mihosoft.freerouting.board.ItemIdNoGenerator(), new BoardObserverAdaptor());
}
public boolean host_cad_is_eagle()

View File

@ -18,20 +18,20 @@
* Created on 27. Mai 2004, 07:23
*/
package board;
package eu.mihosoft.freerouting.board;
import datastructures.UndoableObjects;
import eu.mihosoft.freerouting.datastructures.UndoableObjects;
import geometry.planar.Point;
import geometry.planar.IntPoint;
import geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import library.Package;
import eu.mihosoft.freerouting.library.Package;
/**
* Describes board components consisting of an array of pins
* Describes eu.mihosoft.freerouting.board components consisting of an array of pins
* und other stuff like component keepouts.
*
* @author Alfons Wirtz
@ -85,7 +85,7 @@ public class Component implements UndoableObjects.Storable, ObjectInfoPanel.Prin
}
/**
* If false, the component will be placed on the back side of the board.
* If false, the component will be placed on the back side of the eu.mihosoft.freerouting.board.
*/
public boolean placed_on_front()
{
@ -94,7 +94,7 @@ public class Component implements UndoableObjects.Storable, ObjectInfoPanel.Prin
/**
* Translates the location of this Component by p_p_vector.
* The Pins in the board must be moved seperately.
* The Pins in the eu.mihosoft.freerouting.board must be moved seperately.
*/
public void translate_by(Vector p_vector)
{
@ -139,7 +139,7 @@ public class Component implements UndoableObjects.Storable, ObjectInfoPanel.Prin
double turn_angle = p_angle_in_degree;
if (p_flip_style_rotate_first && !this.placed_on_front())
{
// take care of the order of mirroring and rotating on the back side of the board
// take care of the order of mirroring and rotating on the back side of the eu.mihosoft.freerouting.board
turn_angle = 360 - p_angle_in_degree;
}
this.rotation_in_degree = this.rotation_in_degree + turn_angle;
@ -199,7 +199,7 @@ public class Component implements UndoableObjects.Storable, ObjectInfoPanel.Prin
/**
* Returns information for pin swap and gate swap, if != null.
*/
public library.LogicalPart get_logical_part()
public eu.mihosoft.freerouting.library.LogicalPart get_logical_part()
{
return this.logical_part;
}
@ -207,7 +207,7 @@ public class Component implements UndoableObjects.Storable, ObjectInfoPanel.Prin
/**
* Sets the infomation for pin swap and gate swap.
*/
public void set_logical_part(library.LogicalPart p_logical_part)
public void set_logical_part(eu.mihosoft.freerouting.library.LogicalPart p_logical_part)
{
this.logical_part = p_logical_part;
}
@ -215,7 +215,7 @@ public class Component implements UndoableObjects.Storable, ObjectInfoPanel.Prin
public void print_info(ObjectInfoPanel p_window, java.util.Locale p_locale)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append_bold(resources.getString("component") + " ");
p_window.append_bold(this.name);
if (this.location != null)
@ -251,7 +251,7 @@ public class Component implements UndoableObjects.Storable, ObjectInfoPanel.Prin
}
/**
* Returns the library package of this component.
* Returns the eu.mihosoft.freerouting.library package of this component.
*/
public Package get_package()
{
@ -273,19 +273,19 @@ public class Component implements UndoableObjects.Storable, ObjectInfoPanel.Prin
/** The location of the component. */
private Point location;
/** The rotation of the library package of the component in degree */
/** The rotation of the eu.mihosoft.freerouting.library package of the component in degree */
private double rotation_in_degree;
/** Contains information for gate swapping and pin swapping, if != null */
private library.LogicalPart logical_part = null;
private eu.mihosoft.freerouting.library.LogicalPart logical_part = null;
/** If false, the component will be placed on the back side of the board. */
/** If false, the component will be placed on the back side of the eu.mihosoft.freerouting.board. */
private boolean on_front;
/** The library package of the component if it is placed on the component side. */
/** The eu.mihosoft.freerouting.library package of the component if it is placed on the component side. */
private final Package lib_package_front;
/** The library package of the component if it is placed on the solder side. */
/** The eu.mihosoft.freerouting.library package of the component if it is placed on the solder side. */
private final Package lib_package_back;
/** Internal generated unique identification number. */

View File

@ -18,14 +18,14 @@
* Created on 8. Mai 2005, 07:28
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.Area;
import geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.Area;
import eu.mihosoft.freerouting.geometry.planar.Vector;
/**
* Describes areas of the board, where components arre not allowed.
* Describes areas of the eu.mihosoft.freerouting.board, where components arre not allowed.
*
* @author alfons
*/
@ -71,12 +71,12 @@ public class ComponentObstacleArea extends ObstacleArea
}
public java.awt.Color[] get_draw_colors(boardgraphics.GraphicsContext p_graphics_context)
public java.awt.Color[] get_draw_colors(eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context)
{
return p_graphics_context.get_place_obstacle_colors();
}
public double get_draw_intensity(boardgraphics.GraphicsContext p_graphics_context)
public double get_draw_intensity(eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context)
{
return p_graphics_context.get_place_obstacle_color_intensity();
}
@ -93,7 +93,7 @@ public class ComponentObstacleArea extends ObstacleArea
public void print_info(ObjectInfoPanel p_window, java.util.Locale p_locale)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append_bold(resources.getString("component_keepout"));
this.print_shape_info(p_window, p_locale);
this.print_clearance_info(p_window, p_locale);

View File

@ -18,17 +18,17 @@
* Created on 28. November 2005, 06:42
*
*/
package board;
package eu.mihosoft.freerouting.board;
import java.awt.Color;
import geometry.planar.Area;
import geometry.planar.Vector;
import geometry.planar.Point;
import geometry.planar.IntPoint;
import geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.Area;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import boardgraphics.GraphicsContext;
import eu.mihosoft.freerouting.boardgraphics.GraphicsContext;
/**
*
@ -103,9 +103,9 @@ public class ComponentOutline extends Item implements java.io.Serializable
return 0;
}
protected geometry.planar.TileShape[] calculate_tree_shapes(ShapeSearchTree p_search_tree)
protected eu.mihosoft.freerouting.geometry.planar.TileShape[] calculate_tree_shapes(ShapeSearchTree p_search_tree)
{
return new geometry.planar.TileShape[0];
return new eu.mihosoft.freerouting.geometry.planar.TileShape[0];
}
public double get_draw_intensity(GraphicsContext p_graphics_context)
@ -130,7 +130,7 @@ public class ComponentOutline extends Item implements java.io.Serializable
public int get_draw_priority()
{
return boardgraphics.Drawable.MIDDLE_DRAW_PRIORITY;
return eu.mihosoft.freerouting.boardgraphics.Drawable.MIDDLE_DRAW_PRIORITY;
}
public void draw(java.awt.Graphics p_g, GraphicsContext p_graphics_context, Color[] p_color_arr, double p_intensity)
@ -146,7 +146,7 @@ public class ComponentOutline extends Item implements java.io.Serializable
p_graphics_context.draw_boundary(this.get_area(), draw_width, color, p_g, intensity);
}
public geometry.planar.IntBox bounding_box()
public eu.mihosoft.freerouting.geometry.planar.IntBox bounding_box()
{
return get_area().bounding_box();
}

View File

@ -19,21 +19,21 @@
*
*/
package board;
package eu.mihosoft.freerouting.board;
import java.util.Iterator;
import java.util.Vector;
import datastructures.UndoableObjects;
import eu.mihosoft.freerouting.datastructures.UndoableObjects;
import geometry.planar.Point;
import geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import library.Package;
import eu.mihosoft.freerouting.library.Package;
/**
* Contains the lists of components on the board.
* Contains the lists of components on the eu.mihosoft.freerouting.board.
*
* @author Alfons Wirtz
*/
@ -41,7 +41,7 @@ public class Components implements java.io.Serializable
{
/**
* Inserts a component into the list.
* The items of the component have to be inserted seperately into the board.
* The items of the component have to be inserted seperately into the eu.mihosoft.freerouting.board.
* If p_on_front is false, the component will be placed on the back side,
* and p_package_back is used instead of p_package_front.
*/
@ -59,7 +59,7 @@ public class Components implements java.io.Serializable
/**
* Adds a component to this object.
* The items of the component have to be inserted seperately into the board.
* The items of the component have to be inserted seperately into the eu.mihosoft.freerouting.board.
* If p_on_front is false, the component will be placed on the back side.
* The component name is generated internally.
*/
@ -103,7 +103,7 @@ public class Components implements java.io.Serializable
}
/**
* Returns the number of components on the board.
* Returns the number of components on the eu.mihosoft.freerouting.board.
*/
public int count()
{
@ -166,9 +166,9 @@ public class Components implements java.io.Serializable
/**
* Moves the component with number p_component_no.
* Works contrary to Component.translate_by with the undo algorithm of the board.
* Works contrary to Component.translate_by with the undo algorithm of the eu.mihosoft.freerouting.board.
*/
public void move(int p_component_no, geometry.planar.Vector p_vector )
public void move(int p_component_no, eu.mihosoft.freerouting.geometry.planar.Vector p_vector )
{
Component curr_component = this.get(p_component_no);
this.undo_list.save_for_undo(curr_component);
@ -177,7 +177,7 @@ public class Components implements java.io.Serializable
/**
* Turns the component with number p_component_no by p_factor times 90 degree around p_pole.
* Works contrary to Component.turn_90_degree with the undo algorithm of the board.
* Works contrary to Component.turn_90_degree with the undo algorithm of the eu.mihosoft.freerouting.board.
*/
public void turn_90_degree(int p_component_no, int p_factor, IntPoint p_pole)
{
@ -188,7 +188,7 @@ public class Components implements java.io.Serializable
/**
* Rotates the component with number p_component_no by p_rotation_in_degree around p_pole.
* Works contrary to Component.rotate with the undo algorithm of the board.
* Works contrary to Component.rotate with the undo algorithm of the eu.mihosoft.freerouting.board.
*/
public void rotate (int p_component_no, double p_rotation_in_degree, IntPoint p_pole)
{
@ -200,7 +200,7 @@ public class Components implements java.io.Serializable
/**
* Changes the placement side of the component the component with numberp_component_no and
* mirrors it at the vertical line through p_pole.
* Works contrary to Component.change_side the undo algorithm of the board.
* Works contrary to Component.change_side the undo algorithm of the eu.mihosoft.freerouting.board.
*/
public void change_side(int p_component_no, IntPoint p_pole)
{

View File

@ -18,15 +18,15 @@
* Created on 29. Juni 2003, 11:49
*/
package board;
package eu.mihosoft.freerouting.board;
import java.util.Iterator;
import geometry.planar.Area;
import geometry.planar.Point;
import geometry.planar.Vector;
import geometry.planar.FloatPoint;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Area;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import java.util.Set;
import java.util.TreeSet;
@ -170,12 +170,12 @@ public class ConductionArea extends ObstacleArea implements Connectable
return p_filter.is_selected(ItemSelectionFilter.SelectableChoices.CONDUCTION);
}
public java.awt.Color[] get_draw_colors(boardgraphics.GraphicsContext p_graphics_context)
public java.awt.Color[] get_draw_colors(eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context)
{
return p_graphics_context.get_conduction_colors();
}
public double get_draw_intensity(boardgraphics.GraphicsContext p_graphics_context)
public double get_draw_intensity(eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context)
{
return p_graphics_context.get_conduction_color_intensity();
}
@ -183,7 +183,7 @@ public class ConductionArea extends ObstacleArea implements Connectable
public void print_info(ObjectInfoPanel p_window, java.util.Locale p_locale)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append_bold(resources.getString("conduction_area"));
this.print_shape_info(p_window, p_locale);
this.print_connectable_item_info(p_window, p_locale);

View File

@ -14,9 +14,9 @@
* for more details.
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import java.util.Set;

View File

@ -18,12 +18,12 @@
* Created on 17. Dezember 2004, 07:34
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
/**
* Class for transforming objects between user coordinate space and board coordinate space.
* Class for transforming objects between user coordinate space and eu.mihosoft.freerouting.board coordinate space.
*
* @author Alfons Wirtz
*/
@ -42,7 +42,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* Scale a value from the board to the user coordinate system.
* Scale a value from the eu.mihosoft.freerouting.board to the user coordinate system.
*/
public double board_to_user(double p_value)
{
@ -50,7 +50,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* Scale a value from the user to the board coordinate system.
* Scale a value from the user to the eu.mihosoft.freerouting.board coordinate system.
*/
public double user_to_board(double p_value)
{
@ -59,7 +59,7 @@ public class CoordinateTransform implements java.io.Serializable
/**
* Transforms a geometry.planar.FloatPoint from the board coordinate space
* Transforms a eu.mihosoft.freerouting.geometry.planar.FloatPoint from the eu.mihosoft.freerouting.board coordinate space
* to the user coordinate space.
*/
public FloatPoint board_to_user(FloatPoint p_point)
@ -68,28 +68,28 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* Transforms a geometry.planar.FloatPoint from the user coordinate space.
* to the board coordinate space.
* Transforms a eu.mihosoft.freerouting.geometry.planar.FloatPoint from the user coordinate space.
* to the eu.mihosoft.freerouting.board coordinate space.
*/
public FloatPoint user_to_board(FloatPoint p_point)
{
return new FloatPoint(user_to_board(p_point.x), user_to_board(p_point.y));
}
public PrintableShape board_to_user(geometry.planar.Shape p_shape, java.util.Locale p_locale)
public PrintableShape board_to_user(eu.mihosoft.freerouting.geometry.planar.Shape p_shape, java.util.Locale p_locale)
{
PrintableShape result;
if (p_shape instanceof geometry.planar.Circle)
if (p_shape instanceof eu.mihosoft.freerouting.geometry.planar.Circle)
{
result = board_to_user((geometry.planar.Circle) p_shape, p_locale);
result = board_to_user((eu.mihosoft.freerouting.geometry.planar.Circle) p_shape, p_locale);
}
else if (p_shape instanceof geometry.planar.IntBox)
else if (p_shape instanceof eu.mihosoft.freerouting.geometry.planar.IntBox)
{
result = board_to_user((geometry.planar.IntBox) p_shape, p_locale);
result = board_to_user((eu.mihosoft.freerouting.geometry.planar.IntBox) p_shape, p_locale);
}
else if (p_shape instanceof geometry.planar.PolylineShape)
else if (p_shape instanceof eu.mihosoft.freerouting.geometry.planar.PolylineShape)
{
result = board_to_user((geometry.planar.PolylineShape) p_shape, p_locale);
result = board_to_user((eu.mihosoft.freerouting.geometry.planar.PolylineShape) p_shape, p_locale);
}
else
{
@ -99,19 +99,19 @@ public class CoordinateTransform implements java.io.Serializable
return result;
}
public PrintableShape.Circle board_to_user(geometry.planar.Circle p_circle, java.util.Locale p_locale)
public PrintableShape.Circle board_to_user(eu.mihosoft.freerouting.geometry.planar.Circle p_circle, java.util.Locale p_locale)
{
return new PrintableShape.Circle(board_to_user(p_circle.center.to_float()),
board_to_user(p_circle.radius), p_locale);
}
public PrintableShape.Rectangle board_to_user(geometry.planar.IntBox p_box, java.util.Locale p_locale)
public PrintableShape.Rectangle board_to_user(eu.mihosoft.freerouting.geometry.planar.IntBox p_box, java.util.Locale p_locale)
{
return new PrintableShape.Rectangle(board_to_user(p_box.ll.to_float()),
board_to_user(p_box.ur.to_float()), p_locale);
}
public PrintableShape.Polygon board_to_user(geometry.planar.PolylineShape p_shape, java.util.Locale p_locale)
public PrintableShape.Polygon board_to_user(eu.mihosoft.freerouting.geometry.planar.PolylineShape p_shape, java.util.Locale p_locale)
{
FloatPoint[] corners = p_shape.corner_approx_arr();
FloatPoint[] transformed_corners = new FloatPoint[corners.length];
@ -129,13 +129,13 @@ public class CoordinateTransform implements java.io.Serializable
/** The factor of the user unit */
public final double user_unit_factor;
/** The unit used for board coordinates */
/** The unit used for eu.mihosoft.freerouting.board coordinates */
public final Unit board_unit;
/** The factor of the board unit */
/** The factor of the eu.mihosoft.freerouting.board unit */
public final double board_unit_factor;
/** The factor used for transforming coordinates between user coordinate space and board coordinate space */
/** The factor used for transforming coordinates between user coordinate space and eu.mihosoft.freerouting.board coordinate space */
private final double scale_factor;
}

View File

@ -18,23 +18,23 @@
* Created on 27. Juni 2003, 11:38
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.IntBox;
import geometry.planar.FloatPoint;
import geometry.planar.Point;
import geometry.planar.IntPoint;
import geometry.planar.Shape;
import geometry.planar.TileShape;
import geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Shape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import java.util.Collection;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
import library.Padstack;
import eu.mihosoft.freerouting.library.Padstack;
/**
* Common superclass for Pins and Vias
@ -387,7 +387,7 @@ public abstract class DrillItem extends Item implements Connectable, java.io.Ser
return TileShape.get_instance(this.get_center());
}
/** False, if this drillitem is places on the back side of the board */
/** False, if this drillitem is places on the back side of the eu.mihosoft.freerouting.board */
public boolean is_placed_on_front()
{
return true;
@ -431,10 +431,10 @@ public abstract class DrillItem extends Item implements Connectable, java.io.Ser
public int get_draw_priority()
{
return boardgraphics.Drawable.MIDDLE_DRAW_PRIORITY;
return eu.mihosoft.freerouting.boardgraphics.Drawable.MIDDLE_DRAW_PRIORITY;
}
public void draw(java.awt.Graphics p_g, boardgraphics.GraphicsContext p_graphics_context,
public void draw(java.awt.Graphics p_g, eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context,
java.awt.Color[] p_color_arr, double p_intensity)
{
if (p_graphics_context == null|| p_intensity <= 0)

View File

@ -18,10 +18,10 @@
* Created on 15. Maerz 2005, 06:34
*/
package board;
package eu.mihosoft.freerouting.board;
/**
* Sorted fixed states of board items. The strongest fixed states came last.
* Sorted fixed states of eu.mihosoft.freerouting.board items. The strongest fixed states came last.
*
* @author alfons
*/

View File

@ -18,20 +18,20 @@
* Created on 1. September 2003, 08:28
*/
package board;
package eu.mihosoft.freerouting.board;
import datastructures.TimeLimit;
import eu.mihosoft.freerouting.datastructures.TimeLimit;
import geometry.planar.Direction;
import geometry.planar.FloatPoint;
import geometry.planar.IntPoint;
import geometry.planar.IntBox;
import geometry.planar.IntOctagon;
import geometry.planar.Point;
import geometry.planar.Vector;
import geometry.planar.Line;
import geometry.planar.Polyline;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Direction;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.IntOctagon;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import java.util.Collection;

View File

@ -18,21 +18,21 @@
* Created on 25. April 2004, 09:55
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.ConvexShape;
import geometry.planar.IntPoint;
import geometry.planar.Point;
import geometry.planar.FloatPoint;
import geometry.planar.Shape;
import geometry.planar.TileShape;
import geometry.planar.Simplex;
import geometry.planar.IntBox;
import geometry.planar.Circle;
import geometry.planar.Vector;
import geometry.planar.Limits;
import rules.ViaInfo;
import library.Padstack;
import eu.mihosoft.freerouting.geometry.planar.ConvexShape;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.Shape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Simplex;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.Circle;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.Limits;
import eu.mihosoft.freerouting.rules.ViaInfo;
import eu.mihosoft.freerouting.library.Padstack;
/**

View File

@ -13,17 +13,17 @@
* GNU General Public License at <http://www.gnu.org/licenses/>
* for more details.
*/
package board;
package eu.mihosoft.freerouting.board;
import java.util.Collection;
import java.util.LinkedList;
import geometry.planar.Point;
import geometry.planar.IntPoint;
import geometry.planar.FloatPoint;
import geometry.planar.TileShape;
import geometry.planar.Vector;
import geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import java.awt.Color;
import java.awt.Graphics;
@ -32,16 +32,16 @@ import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
import rules.Nets;
import boardgraphics.Drawable;
import boardgraphics.GraphicsContext;
import eu.mihosoft.freerouting.rules.Nets;
import eu.mihosoft.freerouting.boardgraphics.Drawable;
import eu.mihosoft.freerouting.boardgraphics.GraphicsContext;
import datastructures.UndoableObjects;
import datastructures.ShapeTree;
import datastructures.ShapeTree.TreeEntry;
import eu.mihosoft.freerouting.datastructures.UndoableObjects;
import eu.mihosoft.freerouting.datastructures.ShapeTree;
import eu.mihosoft.freerouting.datastructures.ShapeTree.TreeEntry;
/**
* Basic class of the items on a board.
* Basic class of the items on a eu.mihosoft.freerouting.board.
*
* @author Alfons Wirtz
*/
@ -147,7 +147,7 @@ public abstract class Item implements Drawable, SearchTreeObject, ObjectInfoPane
{
if (this.board == null)
{
System.out.println("Item.get_tile_shape: board is null");
System.out.println("Item.get_tile_shape: eu.mihosoft.freerouting.board is null");
return null;
}
return get_tree_shape(this.board.search_tree_manager.get_default_tree(), p_index);
@ -195,7 +195,7 @@ public abstract class Item implements Drawable, SearchTreeObject, ObjectInfoPane
/**
* Returns false, if this item is deleted oor not inserted into
* the board.
* the eu.mihosoft.freerouting.board.
*/
public boolean is_on_the_board()
{
@ -240,25 +240,25 @@ public abstract class Item implements Drawable, SearchTreeObject, ObjectInfoPane
/**
* Translates the shapes of this item by p_vector.
* Does not move the item in the board.
* Does not move the item in the eu.mihosoft.freerouting.board.
*/
public abstract void translate_by(Vector p_vector);
/**
* Turns this Item by p_factor times 90 degree around p_pole.
* Does not update the item in the board.
* Does not update the item in the eu.mihosoft.freerouting.board.
*/
public abstract void turn_90_degree(int p_factor, IntPoint p_pole);
/**
* Rotates this Item by p_angle_in_degree around p_pole.
* Does not update the item in the board.
* Does not update the item in the eu.mihosoft.freerouting.board.
*/
public abstract void rotate_approx(double p_angle_in_degree, FloatPoint p_pole);
/**
* Changes the placement side of this Item and mirrors it at the vertical line through p_pole.
* Does not update the item in the board.
* Does not update the item in the eu.mihosoft.freerouting.board.
*/
public abstract void change_placement_side(IntPoint p_pole);
@ -268,7 +268,7 @@ public abstract class Item implements Drawable, SearchTreeObject, ObjectInfoPane
public abstract IntBox bounding_box();
/**
* Translates this item by p_vector in the board.
* Translates this item by p_vector in the eu.mihosoft.freerouting.board.
*/
public void move_by(Vector p_vector)
{
@ -1209,28 +1209,28 @@ public abstract class Item implements Drawable, SearchTreeObject, ObjectInfoPane
}
/**
* Gets the information for the autoroute algorithm.
* Gets the information for the eu.mihosoft.freerouting.autoroute algorithm.
* Creates it, if it does not yet exist.
*/
public autoroute.ItemAutorouteInfo get_autoroute_info()
public eu.mihosoft.freerouting.autoroute.ItemAutorouteInfo get_autoroute_info()
{
if (autoroute_info == null)
{
autoroute_info = new autoroute.ItemAutorouteInfo(this);
autoroute_info = new eu.mihosoft.freerouting.autoroute.ItemAutorouteInfo(this);
}
return autoroute_info;
}
/**
* Gets the information for the autoroute algorithm.
* Gets the information for the eu.mihosoft.freerouting.autoroute algorithm.
*/
public autoroute.ItemAutorouteInfo get_autoroute_info_pur()
public eu.mihosoft.freerouting.autoroute.ItemAutorouteInfo get_autoroute_info_pur()
{
return autoroute_info;
}
/**
* Clears the data allocated for the autoroute algorithm.
* Clears the data allocated for the eu.mihosoft.freerouting.autoroute algorithm.
*/
public void clear_autoroute_info()
{
@ -1256,11 +1256,11 @@ public abstract class Item implements Drawable, SearchTreeObject, ObjectInfoPane
protected void print_net_info(ObjectInfoPanel p_window, java.util.Locale p_locale)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
for (int i = 0; i < this.net_count(); ++i)
{
p_window.append(", " + resources.getString("net") + " ");
rules.Net curr_net = board.rules.nets.get(this.get_net_no(i));
eu.mihosoft.freerouting.rules.Net curr_net = board.rules.nets.get(this.get_net_no(i));
p_window.append(curr_net.name, resources.getString("net_info"), curr_net);
}
}
@ -1273,7 +1273,7 @@ public abstract class Item implements Drawable, SearchTreeObject, ObjectInfoPane
if (this.clearance_class > 0)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append(", " + resources.getString("clearance_class") + " ");
String name = board.rules.clearance_matrix.get_name(this.clearance_class);
p_window.append(name, resources.getString("clearance_info"), board.rules.clearance_matrix.get_row(this.clearance_class));
@ -1288,7 +1288,7 @@ public abstract class Item implements Drawable, SearchTreeObject, ObjectInfoPane
if (this.fixed_state != FixedState.UNFIXED)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.FixedState", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.FixedState", p_locale);
p_window.append(", ");
p_window.append(resources.getString(this.fixed_state.toString()));
}
@ -1303,7 +1303,7 @@ public abstract class Item implements Drawable, SearchTreeObject, ObjectInfoPane
if (!contacts.isEmpty())
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append(", " + resources.getString("contacts") + " ");
Integer contact_count = contacts.size();
p_window.append_items(contact_count.toString(), resources.getString("contact_info"), contacts);
@ -1319,7 +1319,7 @@ public abstract class Item implements Drawable, SearchTreeObject, ObjectInfoPane
if (!clearance_violations.isEmpty())
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append(", ");
Integer violation_count = clearance_violations.size();
Collection<ObjectInfoPanel.Printable> violations = new java.util.LinkedList<ObjectInfoPanel.Printable>();
@ -1450,7 +1450,7 @@ public abstract class Item implements Drawable, SearchTreeObject, ObjectInfoPane
* to other items
*/
private int clearance_class;
/** The board this Itewm is on */
/** The eu.mihosoft.freerouting.board this Itewm is on */
transient public BasicBoard board;
/** The nets, to which this item belongs */
int[] net_no_arr;
@ -1461,11 +1461,11 @@ public abstract class Item implements Drawable, SearchTreeObject, ObjectInfoPane
private int component_no = 0;
private final int id_no;
/**
* Folse, if the item is deleted or not inserted into the board
* Folse, if the item is deleted or not inserted into the eu.mihosoft.freerouting.board
*/
private boolean on_the_board = false;
/** Temporary data used in the autoroute algorithm. */
transient private autoroute.ItemAutorouteInfo autoroute_info = null;
/** Temporary data used in the eu.mihosoft.freerouting.autoroute algorithm. */
transient private eu.mihosoft.freerouting.autoroute.ItemAutorouteInfo autoroute_info = null;
private static double PROTECT_FANOUT_LENGTH = 400;
/**

View File

@ -18,14 +18,14 @@
* Created on 2. Juni 2003, 13:43
*/
package board;
package eu.mihosoft.freerouting.board;
/**
* Creates unique Item identication nunbers.
*
* @author Alfons Wirtz
*/
public class ItemIdNoGenerator implements datastructures.IdNoGenerator, java.io.Serializable
public class ItemIdNoGenerator implements eu.mihosoft.freerouting.datastructures.IdNoGenerator, java.io.Serializable
{
/**

View File

@ -19,17 +19,17 @@
*
*/
package board;
package eu.mihosoft.freerouting.board;
import java.util.Collection;
import java.util.LinkedList;
import datastructures.ShapeTree;
import eu.mihosoft.freerouting.datastructures.ShapeTree;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
/**
* Stores information about the search trees of the board items,
* Stores information about the search trees of the eu.mihosoft.freerouting.board items,
* which is precalculated for performance reasons.
*
* @author Alfons Wirtz

View File

@ -18,13 +18,13 @@
* Created on 14. Dezember 2004, 10:57
*/
package board;
package eu.mihosoft.freerouting.board;
import java.util.Set;
import java.util.TreeSet;
/**
* Filter for selecting items on the board.
* Filter for selecting items on the eu.mihosoft.freerouting.board.
*
* @author Alfons Wirtz
*/
@ -118,10 +118,10 @@ public class ItemSelectionFilter implements java.io.Serializable
/**
* Filters a collection of items with this filter.
*/
public Set<Item> filter(java.util.Set<board.Item> p_items)
public Set<Item> filter(java.util.Set<eu.mihosoft.freerouting.board.Item> p_items)
{
Set<Item> result = new TreeSet<Item>();
for (board.Item curr_item : p_items)
for (eu.mihosoft.freerouting.board.Item curr_item : p_items)
{
if (curr_item.is_selected_by_filter(this))
{

View File

@ -18,10 +18,10 @@
* Created on 26. Mai 2004, 06:31
*/
package board;
package eu.mihosoft.freerouting.board;
/**
* Describes the structure of a board layer.
* Describes the structure of a eu.mihosoft.freerouting.board layer.
*
* @author alfons
*/

View File

@ -18,10 +18,10 @@
* Created on 26. Mai 2004, 06:37
*/
package board;
package eu.mihosoft.freerouting.board;
/**
* Describes the layer structure of the board.
* Describes the layer structure of the eu.mihosoft.freerouting.board.
*
* @author alfons
*/

View File

@ -17,23 +17,23 @@
*
* Created on 25. Oktober 2003, 09:03
*/
package board;
package eu.mihosoft.freerouting.board;
import datastructures.TimeLimit;
import eu.mihosoft.freerouting.datastructures.TimeLimit;
import geometry.planar.FloatPoint;
import geometry.planar.IntPoint;
import geometry.planar.Point;
import geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedList;
import datastructures.Signum;
import eu.mihosoft.freerouting.datastructures.Signum;
/**
* Class for moving a group of items on the board
* Class for moving a group of items on the eu.mihosoft.freerouting.board
* @author Alfons Wirtz
*/
public class MoveComponent

View File

@ -19,20 +19,20 @@
*
*/
package board;
package eu.mihosoft.freerouting.board;
import java.util.Collection;
import datastructures.TimeLimit;
import eu.mihosoft.freerouting.datastructures.TimeLimit;
import geometry.planar.TileShape;
import geometry.planar.ConvexShape;
import geometry.planar.IntOctagon;
import geometry.planar.IntBox;
import geometry.planar.IntPoint;
import geometry.planar.Point;
import geometry.planar.Vector;
import geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.ConvexShape;
import eu.mihosoft.freerouting.geometry.planar.IntOctagon;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
/**

View File

@ -18,10 +18,10 @@
* Created on 6. Januar 2005, 13:15
*/
package board;
package eu.mihosoft.freerouting.board;
/**
* Output window for printing information about board objects.
* Output window for printing information about eu.mihosoft.freerouting.board objects.
*
* @author Alfons Wirtz
*/
@ -58,14 +58,14 @@ public interface ObjectInfoPanel
* after transforming to the user coordinate sytem.
* Returns false, if that was not possible.
*/
boolean append(geometry.planar.FloatPoint p_point);
boolean append(eu.mihosoft.freerouting.geometry.planar.FloatPoint p_point);
/**
* Appends p_shape to the window
* after transforming to the user coordinate sytem.
* Returns false, if that was not possible.
*/
boolean append(geometry.planar.Shape p_shape, java.util.Locale p_locale);
boolean append(eu.mihosoft.freerouting.geometry.planar.Shape p_shape, java.util.Locale p_locale);
/**
* Begins a new line in the window.
@ -88,7 +88,7 @@ public interface ObjectInfoPanel
* Appends a link for creating a new PrintInfoWindow with the information
* of p_items to the window. Returns false, if that was not possible.
*/
boolean append_items( String p_link_name, String p_window_title, java.util.Collection<board.Item> p_items);
boolean append_items( String p_link_name, String p_window_title, java.util.Collection<eu.mihosoft.freerouting.board.Item> p_items);
/**
* Appends a link for creating a new PrintInfoWindow with the information

View File

@ -14,23 +14,23 @@
* for more details.
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.IntBox;
import geometry.planar.IntPoint;
import geometry.planar.Area;
import geometry.planar.TileShape;
import geometry.planar.Vector;
import geometry.planar.Point;
import geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Area;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import java.awt.Color;
import boardgraphics.GraphicsContext;
import eu.mihosoft.freerouting.boardgraphics.GraphicsContext;
/**
*
* An item on the board with an relative_area shape, for example keepout, conduction relative_area
* An item on the eu.mihosoft.freerouting.board with an relative_area shape, for example keepout, conduction relative_area
*
*
*
@ -250,7 +250,7 @@ public class ObstacleArea extends Item implements java.io.Serializable
public int get_draw_priority()
{
return boardgraphics.Drawable.MIN_DRAW_PRIORITY;
return eu.mihosoft.freerouting.boardgraphics.Drawable.MIN_DRAW_PRIORITY;
}
public void draw(java.awt.Graphics p_g, GraphicsContext p_graphics_context, Color[] p_color_arr, double p_intensity)
@ -295,7 +295,7 @@ public class ObstacleArea extends Item implements java.io.Serializable
public void print_info(ObjectInfoPanel p_window, java.util.Locale p_locale)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append_bold(resources.getString("keepout"));
int cmp_no = this.get_component_no();
if (cmp_no > 0)
@ -315,9 +315,9 @@ public class ObstacleArea extends Item implements java.io.Serializable
protected final void print_shape_info(ObjectInfoPanel p_window, java.util.Locale p_locale)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append(" " + resources.getString("at") + " ");
geometry.planar.FloatPoint center = this.get_area().get_border().centre_of_gravity();
eu.mihosoft.freerouting.geometry.planar.FloatPoint center = this.get_area().get_border().centre_of_gravity();
p_window.append(center);
Integer hole_count = this.relative_area.get_holes().length;
if(hole_count > 0)

View File

@ -19,20 +19,20 @@
*
*/
package board;
package eu.mihosoft.freerouting.board;
import java.util.Collection;
import java.util.Iterator;
import geometry.planar.Point;
import geometry.planar.IntPoint;
import geometry.planar.Vector;
import geometry.planar.Polyline;
import geometry.planar.FloatPoint;
import geometry.planar.FloatLine;
import geometry.planar.Side;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatLine;
import eu.mihosoft.freerouting.geometry.planar.Side;
import autoroute.AutorouteControl.ExpansionCostFactor;
import eu.mihosoft.freerouting.autoroute.AutorouteControl.ExpansionCostFactor;
/**
* Contains functions for optimizing and improving via locations.

View File

@ -18,25 +18,25 @@
* Created on 6. Juni 2003, 08:04
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.Point;
import geometry.planar.IntPoint;
import geometry.planar.Shape;
import geometry.planar.ConvexShape;
import geometry.planar.TileShape;
import geometry.planar.Vector;
import geometry.planar.Direction;
import geometry.planar.Line;
import geometry.planar.Polyline;
import geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Shape;
import eu.mihosoft.freerouting.geometry.planar.ConvexShape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.Direction;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import library.Package;
import library.Padstack;
import eu.mihosoft.freerouting.library.Package;
import eu.mihosoft.freerouting.library.Padstack;
/**
* Class describing the functionality of an electrical Item on the board
* Class describing the functionality of an electrical Item on the eu.mihosoft.freerouting.board
* with a shape on 1 or several layers.
*
* @author Alfons Wirtz
@ -167,7 +167,7 @@ public class Pin extends DrillItem implements java.io.Serializable
}
/**
* Gets index of this pin in the library package of the pins component.
* Gets index of this pin in the eu.mihosoft.freerouting.library package of the pins component.
*/
public int get_index_in_package()
{
@ -454,12 +454,12 @@ public class Pin extends DrillItem implements java.io.Serializable
{
return result;
}
library.LogicalPart logical_part = component.get_logical_part();
eu.mihosoft.freerouting.library.LogicalPart logical_part = component.get_logical_part();
if (logical_part == null)
{
return result;
}
library.LogicalPart.PartPin this_part_pin = logical_part.get_pin(this.pin_no);
eu.mihosoft.freerouting.library.LogicalPart.PartPin this_part_pin = logical_part.get_pin(this.pin_no);
if (this_part_pin == null)
{
return result;
@ -475,7 +475,7 @@ public class Pin extends DrillItem implements java.io.Serializable
{
continue;
}
library.LogicalPart.PartPin curr_part_pin = logical_part.get_pin(i);
eu.mihosoft.freerouting.library.LogicalPart.PartPin curr_part_pin = logical_part.get_pin(i);
if (curr_part_pin != null && curr_part_pin.gate_pin_swap_code == this_part_pin.gate_pin_swap_code
&& curr_part_pin.gate_name.equals(this_part_pin.gate_name))
{
@ -502,7 +502,7 @@ public class Pin extends DrillItem implements java.io.Serializable
return p_filter.is_selected(ItemSelectionFilter.SelectableChoices.PINS);
}
public java.awt.Color[] get_draw_colors(boardgraphics.GraphicsContext p_graphics_context)
public java.awt.Color[] get_draw_colors(eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context)
{
java.awt.Color[] result;
if (this.net_count() > 0)
@ -517,7 +517,7 @@ public class Pin extends DrillItem implements java.io.Serializable
return result;
}
public double get_draw_intensity(boardgraphics.GraphicsContext p_graphics_context)
public double get_draw_intensity(eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context)
{
return p_graphics_context.get_pin_color_intensity();
}
@ -581,7 +581,7 @@ public class Pin extends DrillItem implements java.io.Serializable
}
/** False, if this drillitem is places on the back side of the board */
/** False, if this drillitem is places on the back side of the eu.mihosoft.freerouting.board */
public boolean is_placed_on_front()
{
boolean result = true;
@ -605,7 +605,7 @@ public class Pin extends DrillItem implements java.io.Serializable
System.out.println("Pin.get_min_width: padstack_shape is null");
return 0;
}
geometry.planar.IntBox padstack_bounding_box = padstack_shape.bounding_box();
eu.mihosoft.freerouting.geometry.planar.IntBox padstack_bounding_box = padstack_shape.bounding_box();
if (padstack_bounding_box == null)
{
System.out.println("Pin.get_min_width: padstack_bounding_box is null");
@ -637,7 +637,7 @@ public class Pin extends DrillItem implements java.io.Serializable
System.out.println("Pin.get_max_width: padstack_shape is null");
return 0;
}
geometry.planar.IntBox padstack_bounding_box = padstack_shape.bounding_box();
eu.mihosoft.freerouting.geometry.planar.IntBox padstack_bounding_box = padstack_shape.bounding_box();
if (padstack_bounding_box == null)
{
System.out.println("Pin.get_max_width: padstack_bounding_box is null");
@ -649,7 +649,7 @@ public class Pin extends DrillItem implements java.io.Serializable
public void print_info(ObjectInfoPanel p_window, java.util.Locale p_locale)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append_bold(resources.getString("pin") + ": ");
p_window.append(resources.getString("component_2") + " ");
Component component = board.components.get(this.get_component_no());
@ -657,7 +657,7 @@ public class Pin extends DrillItem implements java.io.Serializable
p_window.append(", " + resources.getString("pin_2") + " ");
p_window.append(component.get_package().get_pin(this.pin_no).name);
p_window.append(", " + resources.getString("padstack") + " ");
library.Padstack padstack = this.get_padstack();
eu.mihosoft.freerouting.library.Padstack padstack = this.get_padstack();
p_window.append(padstack.name, resources.getString("padstack_info"), padstack);
p_window.append(" " + resources.getString("at") + " ");
p_window.append(this.get_center().to_float());

View File

@ -13,23 +13,23 @@
* GNU General Public License at <http://www.gnu.org/licenses/>
* for more details.
*/
package board;
package eu.mihosoft.freerouting.board;
import datastructures.Signum;
import datastructures.Stoppable;
import eu.mihosoft.freerouting.datastructures.Signum;
import eu.mihosoft.freerouting.datastructures.Stoppable;
import geometry.planar.IntBox;
import geometry.planar.IntOctagon;
import geometry.planar.Line;
import geometry.planar.LineSegment;
import geometry.planar.Point;
import geometry.planar.IntPoint;
import geometry.planar.FloatPoint;
import geometry.planar.Polyline;
import geometry.planar.Shape;
import geometry.planar.TileShape;
import geometry.planar.Direction;
import geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.IntOctagon;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.LineSegment;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.Shape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Direction;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import java.awt.Color;
import java.awt.Graphics;
@ -37,7 +37,7 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedList;
import boardgraphics.GraphicsContext;
import eu.mihosoft.freerouting.boardgraphics.GraphicsContext;
/**
*
@ -577,7 +577,7 @@ public class PolylineTrace extends Trace implements java.io.Serializable
if (found_trace_split)
{
// reread the overlapping tree entries and reset the iterator,
// because the board has changed
// because the eu.mihosoft.freerouting.board has changed
default_tree.overlapping_tree_entries(curr_shape, get_layer(), overlapping_tree_entries);
it = overlapping_tree_entries.iterator();
break;
@ -649,7 +649,7 @@ public class PolylineTrace extends Trace implements java.io.Serializable
boolean ignore_areas = false;
if (this.net_no_arr.length > 0)
{
rules.Net curr_net = this.board.rules.nets.get(this.net_no_arr[0]);
eu.mihosoft.freerouting.rules.Net curr_net = this.board.rules.nets.get(this.net_no_arr[0]);
if (curr_net != null && curr_net.get_class() != null)
{
ignore_areas = curr_net.get_class().get_ignore_cycles_with_areas();

View File

@ -18,12 +18,12 @@
* Created on 5. Januar 2005, 08:02
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
/**
* Shape class used for printing a geometry.planar.Shape after transforming it to user coordinates.
* Shape class used for printing a eu.mihosoft.freerouting.geometry.planar.Shape after transforming it to user coordinates.
*
* @author Alfons Wirtz
*/
@ -56,7 +56,7 @@ public abstract class PrintableShape
public String toString()
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", this.locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", this.locale);
String result = resources.getString("circle") + ": ";
if (center.x != 0 || center.y != 0)
{
@ -89,7 +89,7 @@ public abstract class PrintableShape
public String toString()
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", this.locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", this.locale);
String result = resources.getString("rectangle") + ": " + resources.getString("lower_left") + " = "
+ lower_left.to_string(this.locale) + ", " + resources.getString("upper_right") + " = "
+ upper_right.to_string(this.locale) ;
@ -112,7 +112,7 @@ public abstract class PrintableShape
public String toString()
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", this.locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", this.locale);
String result = resources.getString("polygon") + ": ";
for (int i = 0; i < corner_arr.length; ++i)
{

View File

@ -17,26 +17,26 @@
*
* Created on 19. Juli 2003, 12:42
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.FloatPoint;
import geometry.planar.IntOctagon;
import geometry.planar.IntPoint;
import geometry.planar.Line;
import geometry.planar.Point;
import geometry.planar.Polyline;
import geometry.planar.Side;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntOctagon;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.Side;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import java.util.Collection;
import java.util.Iterator;
import java.util.Set;
import datastructures.Signum;
import datastructures.Stoppable;
import datastructures.TimeLimit;
import eu.mihosoft.freerouting.datastructures.Signum;
import eu.mihosoft.freerouting.datastructures.Stoppable;
import eu.mihosoft.freerouting.datastructures.TimeLimit;
import autoroute.AutorouteControl.ExpansionCostFactor;
import eu.mihosoft.freerouting.autoroute.AutorouteControl.ExpansionCostFactor;
/**
* Class with functionality for optimising traces and vias.

View File

@ -17,21 +17,21 @@
*
* Created on 19. Juli 2003, 18:59
*/
package board;
package eu.mihosoft.freerouting.board;
import datastructures.Stoppable;
import eu.mihosoft.freerouting.datastructures.Stoppable;
import geometry.planar.Direction;
import geometry.planar.FloatPoint;
import geometry.planar.IntPoint;
import geometry.planar.Limits;
import geometry.planar.Line;
import geometry.planar.Point;
import geometry.planar.Polyline;
import geometry.planar.Side;
import geometry.planar.TileShape;
import geometry.planar.Vector;
import datastructures.Signum;
import eu.mihosoft.freerouting.geometry.planar.Direction;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Limits;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.Side;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.datastructures.Signum;
/**
*

View File

@ -18,15 +18,15 @@
* Created on 19. Juli 2003, 18:54
*/
package board;
package eu.mihosoft.freerouting.board;
import datastructures.Stoppable;
import eu.mihosoft.freerouting.datastructures.Stoppable;
import geometry.planar.FloatPoint;
import geometry.planar.Point;
import geometry.planar.Line;
import geometry.planar.Polyline;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
/**
*

View File

@ -14,20 +14,20 @@
* for more details.
*/
package board;
package eu.mihosoft.freerouting.board;
import datastructures.Stoppable;
import geometry.planar.Limits;
import datastructures.Signum;
import eu.mihosoft.freerouting.datastructures.Stoppable;
import eu.mihosoft.freerouting.geometry.planar.Limits;
import eu.mihosoft.freerouting.datastructures.Signum;
import geometry.planar.Direction;
import geometry.planar.FloatPoint;
import geometry.planar.IntPoint;
import geometry.planar.Point;
import geometry.planar.Line;
import geometry.planar.Polyline;
import geometry.planar.Side;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Direction;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.Side;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
/**
*

View File

@ -13,18 +13,18 @@
* GNU General Public License at <http://www.gnu.org/licenses/>
* for more details.
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.FloatPoint;
import geometry.planar.IntBox;
import geometry.planar.IntOctagon;
import geometry.planar.IntPoint;
import geometry.planar.LineSegment;
import geometry.planar.Point;
import geometry.planar.Polyline;
import geometry.planar.PolylineShape;
import geometry.planar.TileShape;
import geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.IntOctagon;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.LineSegment;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.PolylineShape;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import java.util.Collection;
import java.util.Iterator;
@ -32,22 +32,22 @@ import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import datastructures.UndoableObjects;
import datastructures.Stoppable;
import datastructures.TimeLimit;
import datastructures.ShapeTree.TreeEntry;
import eu.mihosoft.freerouting.datastructures.UndoableObjects;
import eu.mihosoft.freerouting.datastructures.Stoppable;
import eu.mihosoft.freerouting.datastructures.TimeLimit;
import eu.mihosoft.freerouting.datastructures.ShapeTree.TreeEntry;
import rules.ViaInfo;
import rules.BoardRules;
import eu.mihosoft.freerouting.rules.ViaInfo;
import eu.mihosoft.freerouting.rules.BoardRules;
import autoroute.AutorouteControl;
import autoroute.AutorouteEngine;
import autoroute.AutorouteControl.ExpansionCostFactor;
import autoroute.CompleteFreeSpaceExpansionRoom;
import eu.mihosoft.freerouting.autoroute.AutorouteControl;
import eu.mihosoft.freerouting.autoroute.AutorouteEngine;
import eu.mihosoft.freerouting.autoroute.AutorouteControl.ExpansionCostFactor;
import eu.mihosoft.freerouting.autoroute.CompleteFreeSpaceExpansionRoom;
/**
*
* Contains higher level functions of a board
* Contains higher level functions of a eu.mihosoft.freerouting.board
*
* @author Alfons Wirtz
*/
@ -183,7 +183,7 @@ public class RoutingBoard extends BasicBoard implements java.io.Serializable
}
/**
* marks the whole board as changed
* marks the whole eu.mihosoft.freerouting.board as changed
*/
public void mark_all_changed_area()
{
@ -902,8 +902,8 @@ public class RoutingBoard extends BasicBoard implements java.io.Serializable
}
/**
* Initialises the autoroute database for routing a connection.
* If p_retain_autoroute_database, the autoroute database is retained and maintained after
* Initialises the eu.mihosoft.freerouting.autoroute database for routing a connection.
* If p_retain_autoroute_database, the eu.mihosoft.freerouting.autoroute database is retained and maintained after
* the algorithm for performance reasons.
*/
public AutorouteEngine init_autoroute(int p_net_no, int p_trace_clearance_class_no,
@ -918,7 +918,7 @@ public class RoutingBoard extends BasicBoard implements java.io.Serializable
}
/**
* Clears the autoroute database in case it was retained.
* Clears the eu.mihosoft.freerouting.autoroute database in case it was retained.
*/
public void finish_autoroute()
{
@ -934,7 +934,7 @@ public class RoutingBoard extends BasicBoard implements java.io.Serializable
* is not yet electrically connected.
* Returns an enum of type AutorouteEngine.AutorouteResult
*/
public AutorouteEngine.AutorouteResult autoroute(Item p_item, interactive.Settings p_settings, int p_via_costs, Stoppable p_stoppable_thread, TimeLimit p_time_limit)
public AutorouteEngine.AutorouteResult autoroute(Item p_item, eu.mihosoft.freerouting.interactive.Settings p_settings, int p_via_costs, Stoppable p_stoppable_thread, TimeLimit p_time_limit)
{
if (!(p_item instanceof Connectable) || p_item.net_count() == 0)
{
@ -942,18 +942,18 @@ public class RoutingBoard extends BasicBoard implements java.io.Serializable
}
if (p_item.net_count() > 1)
{
System.out.println("RoutingBoard.autoroute: net_count > 1 not yet implemented");
System.out.println("RoutingBoard.eu.mihosoft.freerouting.autoroute: net_count > 1 not yet implemented");
}
int route_net_no = p_item.get_net_no(0);
AutorouteControl ctrl_settings = new AutorouteControl(this, route_net_no, p_settings, p_via_costs, p_settings.autoroute_settings.get_trace_cost_arr());
ctrl_settings.remove_unconnected_vias = false;
Set<Item> route_start_set = p_item.get_connected_set(route_net_no);
rules.Net route_net = rules.nets.get(route_net_no);
eu.mihosoft.freerouting.rules.Net route_net = rules.nets.get(route_net_no);
if (route_net != null && route_net.contains_plane())
{
for (Item curr_item : route_start_set)
{
if (curr_item instanceof board.ConductionArea)
if (curr_item instanceof eu.mihosoft.freerouting.board.ConductionArea)
{
return AutorouteEngine.AutorouteResult.ALREADY_CONNECTED; // already connected to plane
}
@ -982,8 +982,8 @@ public class RoutingBoard extends BasicBoard implements java.io.Serializable
* has only 1 layer. Ripup is allowed if p_ripup_costs is >= 0.
* Returns an enum of type AutorouteEngine.AutorouteResult
*/
public AutorouteEngine.AutorouteResult fanout(Pin p_pin, interactive.Settings p_settings, int p_ripup_costs,
Stoppable p_stoppable_thread, TimeLimit p_time_limit)
public AutorouteEngine.AutorouteResult fanout(Pin p_pin, eu.mihosoft.freerouting.interactive.Settings p_settings, int p_ripup_costs,
Stoppable p_stoppable_thread, TimeLimit p_time_limit)
{
if (p_pin.first_layer() != p_pin.last_layer() || p_pin.net_count() != 1)
{
@ -1200,7 +1200,7 @@ public class RoutingBoard extends BasicBoard implements java.io.Serializable
}
/**
* Sets, if all conduction areas on the board are obstacles for route of foreign nets.
* Sets, if all conduction areas on the eu.mihosoft.freerouting.board are obstacles for route of foreign nets.
*/
public void change_conduction_is_obstacle(boolean p_value)
{
@ -1209,7 +1209,7 @@ public class RoutingBoard extends BasicBoard implements java.io.Serializable
return; // no muultiply
}
boolean something_changed = false;
// Change the is_obstacle property of all conduction areas of the board.
// Change the is_obstacle property of all conduction areas of the eu.mihosoft.freerouting.board.
Iterator<UndoableObjects.UndoableObjectNode> it = item_list.start_read_object();
for (;;)
{
@ -1367,8 +1367,8 @@ public class RoutingBoard extends BasicBoard implements java.io.Serializable
}
/**
* Sets, if the autoroute database has to be maintained outside the outoroute algorithm
* while changing items on rhe board.
* Sets, if the eu.mihosoft.freerouting.autoroute database has to be maintained outside the outoroute algorithm
* while changing items on rhe eu.mihosoft.freerouting.board.
*/
void set_maintaining_autoroute_database(boolean p_value)
{
@ -1383,8 +1383,8 @@ public class RoutingBoard extends BasicBoard implements java.io.Serializable
}
/**
* Returns, if the autoroute database is maintained outside the outoroute algorithm
* while changing items on rhe board.
* Returns, if the eu.mihosoft.freerouting.autoroute database is maintained outside the outoroute algorithm
* while changing items on rhe eu.mihosoft.freerouting.board.
*/
boolean is_maintaining_autoroute_database()
{

View File

@ -19,17 +19,17 @@
*
*/
package board;
package eu.mihosoft.freerouting.board;
import java.util.Collection;
import java.util.LinkedList;
import java.util.Iterator;
import datastructures.UndoableObjects;
import datastructures.ShapeTree;
import eu.mihosoft.freerouting.datastructures.UndoableObjects;
import eu.mihosoft.freerouting.datastructures.ShapeTree;
import geometry.planar.FortyfiveDegreeBoundingDirections;
import geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.FortyfiveDegreeBoundingDirections;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
/**
*
@ -85,7 +85,7 @@ public class SearchTreeManager
}
/**
* Returns the default tree used in interactive routing.
* Returns the default tree used in eu.mihosoft.freerouting.interactive routing.
*/
public ShapeSearchTree get_default_tree()
{
@ -229,7 +229,7 @@ public class SearchTreeManager
}
/**
* Clears all compensated trees used in the autoroute algorithm apart from the default tree.
* Clears all compensated trees used in the eu.mihosoft.freerouting.autoroute algorithm apart from the default tree.
*/
public void reset_compensated_trees()
{
@ -255,7 +255,7 @@ public class SearchTreeManager
{
if (this.board == null)
{
System.out.println("SearchtreeManager.remove_all_board_items: board is null");
System.out.println("SearchtreeManager.remove_all_board_items: eu.mihosoft.freerouting.board is null");
return;
}
Iterator<UndoableObjects.UndoableObjectNode> it = this.board.item_list.start_read_object();
@ -274,7 +274,7 @@ public class SearchTreeManager
{
if (this.board == null)
{
System.out.println("SearchtreeManager.insert_all_board_items: board is null");
System.out.println("SearchtreeManager.insert_all_board_items: eu.mihosoft.freerouting.board is null");
return;
}
Iterator<UndoableObjects.UndoableObjectNode> it = this.board.item_list.start_read_object();

View File

@ -18,14 +18,14 @@
* Created on 10. Januar 2004, 10:08
*/
package board;
package eu.mihosoft.freerouting.board;
/**
* Common ShapeSearchTree functionality for board.Items and autoroute.ExpansionRooms
* Common ShapeSearchTree functionality for eu.mihosoft.freerouting.board.Items and eu.mihosoft.freerouting.autoroute.ExpansionRooms
*
* @author Alfons Wirtz
*/
public interface SearchTreeObject extends datastructures.ShapeTree.Storable
public interface SearchTreeObject extends eu.mihosoft.freerouting.datastructures.ShapeTree.Storable
{
/**
* Returns true if this object is an obstacle to objects containing

View File

@ -17,22 +17,22 @@
*
* Created on 1. September 2004, 10:13
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.ConvexShape;
import geometry.planar.ShapeBoundingDirections;
import geometry.planar.IntOctagon;
import geometry.planar.Line;
import geometry.planar.LineSegment;
import geometry.planar.Polyline;
import geometry.planar.PolylineShape;
import geometry.planar.RegularTileShape;
import geometry.planar.Shape;
import geometry.planar.Side;
import geometry.planar.Simplex;
import geometry.planar.TileShape;
import geometry.planar.IntBox;
import geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.ConvexShape;
import eu.mihosoft.freerouting.geometry.planar.ShapeBoundingDirections;
import eu.mihosoft.freerouting.geometry.planar.IntOctagon;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.LineSegment;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.PolylineShape;
import eu.mihosoft.freerouting.geometry.planar.RegularTileShape;
import eu.mihosoft.freerouting.geometry.planar.Shape;
import eu.mihosoft.freerouting.geometry.planar.Side;
import eu.mihosoft.freerouting.geometry.planar.Simplex;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import java.util.Collection;
import java.util.Iterator;
@ -40,22 +40,22 @@ import java.util.LinkedList;
import java.util.Set;
import java.util.TreeSet;
import rules.ClearanceMatrix;
import eu.mihosoft.freerouting.rules.ClearanceMatrix;
import datastructures.Signum;
import eu.mihosoft.freerouting.datastructures.Signum;
import autoroute.IncompleteFreeSpaceExpansionRoom;
import autoroute.CompleteFreeSpaceExpansionRoom;
import eu.mihosoft.freerouting.autoroute.IncompleteFreeSpaceExpansionRoom;
import eu.mihosoft.freerouting.autoroute.CompleteFreeSpaceExpansionRoom;
/**
*
* Elementary geometric search functions making direct use
* of the MinAreaTree in the package datastructures.
* of the MinAreaTree in the package eu.mihosoft.freerouting.datastructures.
*
*
* @author Alfons Wirtz
*/
public class ShapeSearchTree extends datastructures.MinAreaTree
public class ShapeSearchTree extends eu.mihosoft.freerouting.datastructures.MinAreaTree
{
/**
@ -398,13 +398,13 @@ public class ShapeSearchTree extends datastructures.MinAreaTree
}
if (p_tree_entries == null)
{
System.out.println("board.ShapeSearchTree.overlaps: p_obstacle_entries is null");
System.out.println("eu.mihosoft.freerouting.board.ShapeSearchTree.overlaps: p_obstacle_entries is null");
return;
}
RegularTileShape bounds = p_shape.bounding_shape(bounding_directions);
if (bounds == null)
{
System.out.println("board.ShapeSearchTree.overlaps: p_shape not bounded");
System.out.println("eu.mihosoft.freerouting.board.ShapeSearchTree.overlaps: p_shape not bounded");
return;
}
Collection<Leaf> tmp_list = this.overlaps(bounds);
@ -472,14 +472,14 @@ public class ShapeSearchTree extends datastructures.MinAreaTree
}
if (p_obstacle_entries == null)
{
System.out.println("board.ShapeSearchTree.overlaps_with_clearance: p_obstacle_entries is null");
System.out.println("eu.mihosoft.freerouting.board.ShapeSearchTree.overlaps_with_clearance: p_obstacle_entries is null");
return;
}
ClearanceMatrix cl_matrix = board.rules.clearance_matrix;
RegularTileShape bounds = p_shape.bounding_shape(bounding_directions);
if (bounds == null)
{
System.out.println("board.ShapeSearchTree.overlaps_with_clearance: p_shape is not bounded");
System.out.println("eu.mihosoft.freerouting.board.ShapeSearchTree.overlaps_with_clearance: p_shape is not bounded");
bounds = board.get_bounding_box();
}
int max_clearance =

View File

@ -18,21 +18,21 @@
* Created on 15. Juli 2007, 07:26
*
*/
package board;
package eu.mihosoft.freerouting.board;
import java.util.Collection;
import java.util.LinkedList;
import geometry.planar.FortyfiveDegreeBoundingDirections;
import geometry.planar.TileShape;
import geometry.planar.Shape;
import geometry.planar.IntOctagon;
import geometry.planar.IntBox;
import geometry.planar.Side;
import geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.FortyfiveDegreeBoundingDirections;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Shape;
import eu.mihosoft.freerouting.geometry.planar.IntOctagon;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.Side;
import eu.mihosoft.freerouting.geometry.planar.Line;
import autoroute.IncompleteFreeSpaceExpansionRoom;
import autoroute.CompleteFreeSpaceExpansionRoom;
import eu.mihosoft.freerouting.autoroute.IncompleteFreeSpaceExpansionRoom;
import eu.mihosoft.freerouting.autoroute.CompleteFreeSpaceExpansionRoom;
/**
* A special simple ShapeSearchtree, where the shapes are of class IntOctagon.

View File

@ -19,19 +19,19 @@
*
*/
package board;
package eu.mihosoft.freerouting.board;
import java.util.Collection;
import java.util.LinkedList;
import geometry.planar.OrthogonalBoundingDirections;
import geometry.planar.TileShape;
import geometry.planar.Shape;
import geometry.planar.IntBox;
import geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.OrthogonalBoundingDirections;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Shape;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import autoroute.IncompleteFreeSpaceExpansionRoom;
import autoroute.CompleteFreeSpaceExpansionRoom;
import eu.mihosoft.freerouting.autoroute.IncompleteFreeSpaceExpansionRoom;
import eu.mihosoft.freerouting.autoroute.CompleteFreeSpaceExpansionRoom;
/**
* A special simple ShapeSearchtree, where the shapes are of class IntBox.

View File

@ -14,14 +14,14 @@
* for more details.
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.ConvexShape;
import geometry.planar.FloatPoint;
import geometry.planar.Line;
import geometry.planar.Point;
import geometry.planar.Polyline;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.ConvexShape;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import java.util.Collection;
import java.util.Iterator;

View File

@ -13,21 +13,21 @@
* GNU General Public License at <http://www.gnu.org/licenses/>
* for more details.
*/
package board;
package eu.mihosoft.freerouting.board;
import datastructures.TimeLimit;
import eu.mihosoft.freerouting.datastructures.TimeLimit;
import geometry.planar.ConvexShape;
import geometry.planar.Direction;
import geometry.planar.FloatPoint;
import geometry.planar.IntBox;
import geometry.planar.Line;
import geometry.planar.Point;
import geometry.planar.IntPoint;
import geometry.planar.Vector;
import geometry.planar.Polyline;
import geometry.planar.TileShape;
import geometry.planar.LineSegment;
import eu.mihosoft.freerouting.geometry.planar.ConvexShape;
import eu.mihosoft.freerouting.geometry.planar.Direction;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.Line;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.Polyline;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.LineSegment;
import java.util.Collection;
import java.util.Iterator;
@ -244,7 +244,7 @@ public class ShoveTraceAlgo
FloatPoint end_corner_appprox = p_line_segment.end_point_approx();
double segment_length = end_corner_appprox.distance(start_corner_appprox);
rules.ClearanceMatrix cl_matrix = p_board.rules.clearance_matrix;
eu.mihosoft.freerouting.rules.ClearanceMatrix cl_matrix = p_board.rules.clearance_matrix;
double result = Integer.MAX_VALUE;

View File

@ -19,7 +19,7 @@
*
*/
package board;
package eu.mihosoft.freerouting.board;
/**
* If > RELEASE, some features may be used, which are still in experimental state.

View File

@ -14,12 +14,12 @@
* for more details.
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.FloatPoint;
import geometry.planar.IntOctagon;
import geometry.planar.Point;
import geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntOctagon;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import java.util.Collection;
import java.util.Iterator;
@ -177,17 +177,17 @@ public abstract class Trace extends Item implements Connectable, java.io.Seriali
}
public java.awt.Color[] get_draw_colors(boardgraphics.GraphicsContext p_graphics_context)
public java.awt.Color[] get_draw_colors(eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context)
{
return p_graphics_context.get_trace_colors(this.is_user_fixed());
}
public int get_draw_priority()
{
return boardgraphics.Drawable.MAX_DRAW_PRIORITY;
return eu.mihosoft.freerouting.boardgraphics.Drawable.MAX_DRAW_PRIORITY;
}
public double get_draw_intensity(boardgraphics.GraphicsContext p_graphics_context)
public double get_draw_intensity(eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context)
{
return p_graphics_context.get_trace_color_intensity();
}
@ -316,10 +316,10 @@ public abstract class Trace extends Item implements Connectable, java.io.Seriali
}
// check, if the trace belongs to a net, which is not shovable.
rules.Nets nets = this.board.rules.nets;
eu.mihosoft.freerouting.rules.Nets nets = this.board.rules.nets;
for (int curr_net_no : this.net_no_arr)
{
if (rules.Nets.is_normal_net_no(curr_net_no))
if (eu.mihosoft.freerouting.rules.Nets.is_normal_net_no(curr_net_no))
{
if (nets.get(curr_net_no).get_class().is_shove_fixed())
{
@ -376,7 +376,7 @@ public abstract class Trace extends Item implements Connectable, java.io.Seriali
boolean ignore_areas = false;
if (this.net_no_arr.length > 0)
{
rules.Net curr_net = this.board.rules.nets.get(this.net_no_arr[0]);
eu.mihosoft.freerouting.rules.Net curr_net = this.board.rules.nets.get(this.net_no_arr[0]);
if (curr_net != null && curr_net.get_class() != null)
{
ignore_areas = curr_net.get_class().get_ignore_cycles_with_areas();
@ -486,7 +486,7 @@ public abstract class Trace extends Item implements Connectable, java.io.Seriali
public void print_info(ObjectInfoPanel p_window, java.util.Locale p_locale)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append_bold(resources.getString("trace"));
p_window.append(" " + resources.getString("from"));
p_window.append(this.first_corner().to_float());
@ -545,5 +545,5 @@ public abstract class Trace extends Item implements Connectable, java.io.Seriali
private final int half_width ; // half width of the trace pen
private int layer ; // board layer of the trace
private int layer ; // eu.mihosoft.freerouting.board layer of the trace
}

View File

@ -18,7 +18,7 @@
* Created on 13. Dezember 2004, 08:01
*/
package board;
package eu.mihosoft.freerouting.board;
/**
* Enum for the userunits inch, mil or millimeter.

View File

@ -17,20 +17,20 @@
*
* Created on 5. Juni 2003, 10:36
*/
package board;
package eu.mihosoft.freerouting.board;
import java.util.Collection;
import java.util.Iterator;
import geometry.planar.Point;
import geometry.planar.IntPoint;
import geometry.planar.TileShape;
import geometry.planar.Shape;
import geometry.planar.Vector;
import library.Padstack;
import eu.mihosoft.freerouting.geometry.planar.Point;
import eu.mihosoft.freerouting.geometry.planar.IntPoint;
import eu.mihosoft.freerouting.geometry.planar.TileShape;
import eu.mihosoft.freerouting.geometry.planar.Shape;
import eu.mihosoft.freerouting.geometry.planar.Vector;
import eu.mihosoft.freerouting.library.Padstack;
/**
* Class describing the functionality of an electrical Item on the board,
* Class describing the functionality of an electrical Item on the eu.mihosoft.freerouting.board,
* which may have a shape on several layer, whose geometry is described by a
* padstack.
*
@ -164,14 +164,14 @@ public class Via extends DrillItem implements java.io.Serializable
clear_derived_data();
}
public autoroute.ExpansionDrill get_autoroute_drill_info(ShapeSearchTree p_autoroute_tree)
public eu.mihosoft.freerouting.autoroute.ExpansionDrill get_autoroute_drill_info(ShapeSearchTree p_autoroute_tree)
{
if (this.autoroute_drill_info == null)
{
autoroute.ItemAutorouteInfo via_autoroute_info = this.get_autoroute_info();
eu.mihosoft.freerouting.autoroute.ItemAutorouteInfo via_autoroute_info = this.get_autoroute_info();
TileShape curr_drill_shape = TileShape.get_instance(this.get_center());
this.autoroute_drill_info =
new autoroute.ExpansionDrill(curr_drill_shape, this.get_center(), this.first_layer(), this.last_layer());
new eu.mihosoft.freerouting.autoroute.ExpansionDrill(curr_drill_shape, this.get_center(), this.first_layer(), this.last_layer());
int via_layer_count = this.last_layer() - this.first_layer() + 1;
for (int i = 0; i < via_layer_count; ++i)
{
@ -203,7 +203,7 @@ public class Via extends DrillItem implements java.io.Serializable
return p_filter.is_selected(ItemSelectionFilter.SelectableChoices.VIAS);
}
public java.awt.Color[] get_draw_colors(boardgraphics.GraphicsContext p_graphics_context)
public java.awt.Color[] get_draw_colors(eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context)
{
java.awt.Color[] result;
if (this.net_count() == 0)
@ -224,7 +224,7 @@ public class Via extends DrillItem implements java.io.Serializable
return result;
}
public double get_draw_intensity(boardgraphics.GraphicsContext p_graphics_context)
public double get_draw_intensity(eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context)
{
double result;
if (this.net_count() == 0)
@ -248,7 +248,7 @@ public class Via extends DrillItem implements java.io.Serializable
public void print_info(ObjectInfoPanel p_window, java.util.Locale p_locale)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append_bold(resources.getString("via"));
p_window.append(" " + resources.getString("at"));
p_window.append(this.get_center().to_float());
@ -273,6 +273,6 @@ public class Via extends DrillItem implements java.io.Serializable
/** True, if coppersharing of this via with smd pins of the same net is allowed. */
public final boolean attach_allowed;
transient private Shape[] precalculated_shapes = null;
/** Temporary data used in the autoroute algorithm. */
transient private autoroute.ExpansionDrill autoroute_drill_info = null;
/** Temporary data used in the eu.mihosoft.freerouting.autoroute algorithm. */
transient private eu.mihosoft.freerouting.autoroute.ExpansionDrill autoroute_drill_info = null;
}

View File

@ -18,13 +18,13 @@
* Created on 19. August 2004, 07:34
*/
package board;
package eu.mihosoft.freerouting.board;
import geometry.planar.Area;
import geometry.planar.Vector;
import eu.mihosoft.freerouting.geometry.planar.Area;
import eu.mihosoft.freerouting.geometry.planar.Vector;
/**
* Describes Areas on the board, where vias are not allowed.
* Describes Areas on the eu.mihosoft.freerouting.board, where vias are not allowed.
*
* @author alfons
*/
@ -85,7 +85,7 @@ public class ViaObstacleArea extends ObstacleArea
public void print_info(ObjectInfoPanel p_window, java.util.Locale p_locale)
{
java.util.ResourceBundle resources =
java.util.ResourceBundle.getBundle("board.resources.ObjectInfoPanel", p_locale);
java.util.ResourceBundle.getBundle("eu.mihosoft.freerouting.board.resources.ObjectInfoPanel", p_locale);
p_window.append_bold(resources.getString("via_keepout"));
this.print_shape_info(p_window, p_locale);
this.print_clearance_info(p_window, p_locale);
@ -93,12 +93,12 @@ public class ViaObstacleArea extends ObstacleArea
p_window.newline();
}
public java.awt.Color[] get_draw_colors(boardgraphics.GraphicsContext p_graphics_context)
public java.awt.Color[] get_draw_colors(eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context)
{
return p_graphics_context.get_via_obstacle_colors();
}
public double get_draw_intensity(boardgraphics.GraphicsContext p_graphics_context)
public double get_draw_intensity(eu.mihosoft.freerouting.boardgraphics.GraphicsContext p_graphics_context)
{
return p_graphics_context.get_via_obstacle_color_intensity();
}

View File

@ -17,17 +17,17 @@
--></head>
<body bgcolor="white">
Contains classes describing items on a printed circuit board and the board itself.
Contains classes describing items on a printed circuit eu.mihosoft.freerouting.board and the eu.mihosoft.freerouting.board itself.
<div class=Section1>
<div class=Section1>
<p class=MsoNormal><span lang=EN-US style="mso-ansi-language:EN-US">The class <span class=SpellE>LayeredBoard</span> implements elementary functionality for the layout of 2-dimensional items on a board. The board may have several layers.<span style="mso-spacerun:yes">&nbsp; </span>It allows to insert, change, or delete items, or to check, if inserting would result in violations (overlaps) with other items. For fast checking, <span class=GramE>picking<span style="mso-spacerun:yes">&nbsp; </span>and</span> changing <span class=SpellE>items</span><span style="mso-spacerun:yes">&nbsp; </span>the class contains a 2-dimensional search tree, whose entries point into the list of items on the board.<span style="mso-spacerun:yes">&nbsp; </span>The search <span class=GramE>tree<span style="mso-spacerun:yes">&nbsp; </span>is</span> decoupled from the items it is pointing to and may even point into several different databases at the same time.</span></p>
<p class=MsoNormal><span lang=EN-US style="mso-ansi-language:EN-US">The class <span class=SpellE>LayeredBoard</span> implements elementary functionality for the layout of 2-dimensional items on a eu.mihosoft.freerouting.board. The eu.mihosoft.freerouting.board may have several layers.<span style="mso-spacerun:yes">&nbsp; </span>It allows to insert, change, or delete items, or to check, if inserting would result in violations (overlaps) with other items. For fast checking, <span class=GramE>picking<span style="mso-spacerun:yes">&nbsp; </span>and</span> changing <span class=SpellE>items</span><span style="mso-spacerun:yes">&nbsp; </span>the class contains a 2-dimensional search tree, whose entries point into the list of items on the eu.mihosoft.freerouting.board.<span style="mso-spacerun:yes">&nbsp; </span>The search <span class=GramE>tree<span style="mso-spacerun:yes">&nbsp; </span>is</span> decoupled from the items it is pointing to and may even point into several different databases at the same time.</span></p>
<p class=MsoNormal><span class=SpellE><span lang=EN-US style="mso-ansi-language:
EN-US">LayeredBoard</span></span><span lang=EN-US style="mso-ansi-language:
EN-US"> contains also a list of components, a library of packages and padstacks, and a collection of rules and restrictions, which must be respected by the items on the board.</span><span lang=EN-US style="font-size:10.0pt;mso-ansi-language:EN-US"> </span></p>
EN-US"> contains also a list of components, a eu.mihosoft.freerouting.library of packages and padstacks, and a collection of rules and restrictions, which must be respected by the items on the eu.mihosoft.freerouting.board.</span><span lang=EN-US style="font-size:10.0pt;mso-ansi-language:EN-US"> </span></p>
<p class=MsoNormal><span lang=EN-US style="mso-ansi-language:EN-US">The class <span class=SpellE>RoutingBoard</span> derived from <span class=SpellE>BasicBoard</span> contains higher level functionality, such as shoving items and pulling tight <span class=SpellE>traces, and autorouting incomplete connections</span>.</span><span lang=EN-US style="font-size:10.0pt;
mso-ansi-language:EN-US"> </span></p>
<p class=MsoNormal><span lang=EN-US style="mso-ansi-language:EN-US">The base classes of all physical items on the board is the abstract <span class=GramE>class<span style="mso-spacerun:yes">&nbsp; </span>Item</span>. Items must implement the interfaces <span class=SpellE>ShapeTree.Storable</span> and <span class=SpellE>Drawable</span>, so that they can be stored in a search <span class=SpellE>ree</span> and painted onto a graphics screen. Additionally an item contains a pointer to the physical board the item is on, an id number and a list of numbers of nets it belongs to, which may be empty. </span></p>
<p class=MsoNormal><span lang=EN-US style="mso-ansi-language:EN-US">Classes derived from Item are currently Trace, <span class=SpellE><span class=GramE>DrillItem</span></span><span class=GramE> ,</span> <span class=SpellE>ObstacleArea</span> and <span class=SpellE>BoardOutline</span>. The <span class=GramE>class <span class=SpellE>ObstacleArea</span> describe</span> areas on the board, which may be conduction areas or obstacle areas for traces or <span class=SpellE>vias</span>. The <span class=SpellE>abstact</span> class <span class=SpellE>DrillItem</span> describes items with a layer range, a centre point and a (convex) shape on <span class=GramE>each<span style="mso-spacerun:yes">&nbsp; </span>layer</span>. It has the two implementations Pin and <span class=GramE>Via</span>. Pins belong to a component, and its shapes are defined by the <span class=SpellE>padstack</span> of the corresponding pin of the components library package. The shapes of a <span class=GramE>Via</span> are defined directly by a library <span class=SpellE>padstack</span>. The class abstract Trace is used for paths <span class=GramE>connecting<span style="mso-spacerun:yes">&nbsp; </span>drill</span> items and eventual conduction areas. The only implementation of the class Trace is currently the class <span class=SpellE>PolylineTrace</span>.<span style="mso-spacerun:yes">&nbsp; </span>It adds the concrete description of the geometric path as a <span class=SpellE>Polyline</span> to the class Trace. The reason, why <span class=SpellE>Polylines</span> and not Polygons are used to implement the paths of non-curved tracess, has to do with numerical exactness and performance, as described in the package <span class=SpellE>geometry.planar</span>. </span></p>
<p class=MsoNormal><span lang=EN-US style="mso-ansi-language:EN-US">The base classes of all physical items on the eu.mihosoft.freerouting.board is the abstract <span class=GramE>class<span style="mso-spacerun:yes">&nbsp; </span>Item</span>. Items must implement the interfaces <span class=SpellE>ShapeTree.Storable</span> and <span class=SpellE>Drawable</span>, so that they can be stored in a search <span class=SpellE>ree</span> and painted onto a graphics screen. Additionally an item contains a pointer to the physical eu.mihosoft.freerouting.board the item is on, an id number and a list of numbers of nets it belongs to, which may be empty. </span></p>
<p class=MsoNormal><span lang=EN-US style="mso-ansi-language:EN-US">Classes derived from Item are currently Trace, <span class=SpellE><span class=GramE>DrillItem</span></span><span class=GramE> ,</span> <span class=SpellE>ObstacleArea</span> and <span class=SpellE>BoardOutline</span>. The <span class=GramE>class <span class=SpellE>ObstacleArea</span> describe</span> areas on the eu.mihosoft.freerouting.board, which may be conduction areas or obstacle areas for traces or <span class=SpellE>vias</span>. The <span class=SpellE>abstact</span> class <span class=SpellE>DrillItem</span> describes items with a layer range, a centre point and a (convex) shape on <span class=GramE>each<span style="mso-spacerun:yes">&nbsp; </span>layer</span>. It has the two implementations Pin and <span class=GramE>Via</span>. Pins belong to a component, and its shapes are defined by the <span class=SpellE>padstack</span> of the corresponding pin of the components eu.mihosoft.freerouting.library package. The shapes of a <span class=GramE>Via</span> are defined directly by a eu.mihosoft.freerouting.library <span class=SpellE>padstack</span>. The class abstract Trace is used for paths <span class=GramE>connecting<span style="mso-spacerun:yes">&nbsp; </span>drill</span> items and eventual conduction areas. The only implementation of the class Trace is currently the class <span class=SpellE>PolylineTrace</span>.<span style="mso-spacerun:yes">&nbsp; </span>It adds the concrete description of the geometric path as a <span class=SpellE>Polyline</span> to the class Trace. The reason, why <span class=SpellE>Polylines</span> and not Polygons are used to implement the paths of non-curved tracess, has to do with numerical exactness and performance, as described in the package <span class=SpellE>eu.mihosoft.freerouting.geometry.planar</span>. </span></p>
<p class=MsoNormal><span lang=EN-US style="mso-ansi-language:EN-US">Items, which may be electrically <span class=GramE>connected</span> must implement the interface Connectable. Connectable Items are currently Pins, <span class=SpellE>Vias</span>, Traces and <span class=SpellE>ConductionAreas</span>. </span></p>
</div>
</div>

View File

@ -18,7 +18,7 @@
* Created on 1. August 2004, 07:46
*/
package boardgraphics;
package eu.mihosoft.freerouting.boardgraphics;
/**
* The color intensities for each item type.

View File

@ -17,12 +17,12 @@
*
* Created on 5. August 2003, 10:18
*/
package boardgraphics;
package eu.mihosoft.freerouting.boardgraphics;
import javax.swing.table.AbstractTableModel;
/**
* Abstract class to store colors used for drawing the board.
* Abstract class to store colors used for drawing the eu.mihosoft.freerouting.board.
*
* @author Alfons Wirtz
*/

View File

@ -14,17 +14,17 @@
* for more details.
*/
package boardgraphics;
package eu.mihosoft.freerouting.boardgraphics;
import geometry.planar.FloatPoint;
import geometry.planar.IntBox;
import geometry.planar.Limits;
import eu.mihosoft.freerouting.geometry.planar.FloatPoint;
import eu.mihosoft.freerouting.geometry.planar.IntBox;
import eu.mihosoft.freerouting.geometry.planar.Limits;
import java.awt.Dimension;
import java.awt.geom.Point2D;
/**
* Transformation function between the board and the screen coordinate systems.
* Transformation function between the eu.mihosoft.freerouting.board and the screen coordinate systems.
*
* @author Alfons Wirtz
*/
@ -76,7 +76,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* scale a value from the board to the screen coordinate system
* scale a value from the eu.mihosoft.freerouting.board to the screen coordinate system
*/
public double board_to_screen(double p_val)
{
@ -84,7 +84,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* scale a value the screen to the board coordinate system
* scale a value the screen to the eu.mihosoft.freerouting.board coordinate system
*/
public double screen_to_board(double p_val)
{
@ -93,7 +93,7 @@ public class CoordinateTransform implements java.io.Serializable
/**
* transform a geometry.planar.FloatPoint to a java.awt.geom.Point2D
* transform a eu.mihosoft.freerouting.geometry.planar.FloatPoint to a java.awt.geom.Point2D
*/
public Point2D board_to_screen(FloatPoint p_point)
{
@ -120,7 +120,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* Transform a java.awt.geom.Point2D to a geometry.planar.FloatPoint
* Transform a java.awt.geom.Point2D to a eu.mihosoft.freerouting.geometry.planar.FloatPoint
*/
public FloatPoint screen_to_board(Point2D p_point)
{
@ -146,7 +146,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* Transforms an angle in radian on the board to an angle on the screen.
* Transforms an angle in radian on the eu.mihosoft.freerouting.board to an angle on the screen.
*/
public double board_to_screen_angle(double p_angle)
{
@ -171,7 +171,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* Transform a geometry.planar.IntBox to a java.awt.Rectangle
* Transform a eu.mihosoft.freerouting.geometry.planar.IntBox to a java.awt.Rectangle
* If the internal rotation is not a multiple of Pi/2, a bounding rectangle of the
* rotated rectangular shape is returned.
*/
@ -190,7 +190,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* Transform a java.awt.Rectangle to a geometry.planar.IntBox
* Transform a java.awt.Rectangle to a eu.mihosoft.freerouting.geometry.planar.IntBox
* If the internal rotation is not a multiple of Pi/2, a bounding box of the
* rotated rectangular shape is returned.
*/
@ -207,7 +207,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* If p_value is true, the left side and the right side of the board will be swapped.
* If p_value is true, the left side and the right side of the eu.mihosoft.freerouting.board will be swapped.
*/
public void set_mirror_left_right(boolean p_value)
{
@ -215,7 +215,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* Returns, if the left side and the right side of the board are swapped.
* Returns, if the left side and the right side of the eu.mihosoft.freerouting.board are swapped.
*/
public boolean is_mirror_left_right()
{
@ -223,7 +223,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* If p_value is true, the top side and the botton side of the board will be swapped.
* If p_value is true, the top side and the botton side of the eu.mihosoft.freerouting.board will be swapped.
*/
public void set_mirror_top_bottom(boolean p_value)
{
@ -233,7 +233,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* Returns, if the top side and the botton side of the board are swapped.
* Returns, if the top side and the botton side of the eu.mihosoft.freerouting.board are swapped.
*/
public boolean is_mirror_top_bottom()
{
@ -243,7 +243,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* Sets the rotation of the displayed board to p_value.
* Sets the rotation of the displayed eu.mihosoft.freerouting.board to p_value.
*/
public void set_rotation(double p_value)
{
@ -251,7 +251,7 @@ public class CoordinateTransform implements java.io.Serializable
}
/**
* Returns the rotation of the displayed board.
* Returns the rotation of the displayed eu.mihosoft.freerouting.board.
*/
public double get_rotation()
{
@ -284,12 +284,12 @@ public class CoordinateTransform implements java.io.Serializable
private final double display_y_offset;
/**
* Left side and right side of the board are swapped.
* Left side and right side of the eu.mihosoft.freerouting.board are swapped.
*/
private boolean mirror_left_right = false;
/**
* Top side and bottom side of the board are swapped.
* Top side and bottom side of the eu.mihosoft.freerouting.board are swapped.
*/
private boolean mirror_top_bottom = true;

View File

@ -14,7 +14,7 @@
* for more details.
*/
package boardgraphics;
package eu.mihosoft.freerouting.boardgraphics;
import java.awt.Color;
import java.awt.Graphics;

Some files were not shown because too many files have changed in this diff Show More