Please review any and all PUBLIC repositories, groups and associate files. These allow anyone on the Internet to access without authentication. Repository and group owners are responsible for their content and permission settings. Go to your project(s), click on Settings > General and expand the "Visibility, project features, permissions" to change this setting.

Commit cbf5470e authored by Brutzman, Don's avatar Brutzman, Don

Merge origin/master

parents c7a159be 805acc2a
......@@ -103,9 +103,10 @@ src.dir=src
src.java.dir=${src.dir}/java
# Installer building
win.linux.32.64.installer.file=${basedir}/src/install/izpack/xj3d-win-linux-32-64-install.xml
win.linux.32.64.installer.jar=${product.shortname}-${product.Version}-win-64-installer.jar
macosx.installer.file=${basedir}/src/install/izpack/xj3d-mac-install.xml
installers.dir=${basedir}/installers
win.linux.install.description=${basedir}/src/install/izpack/xj3d-win-linux-install-description.xml
win.linux.installer.jar=${product.shortname}-${product.Version}-win-linux-installer.jar
macosx.install.description=${basedir}/src/install/izpack/xj3d-mac-install-description.xml
macosx.installer.jar=${product.shortname}-${product.Version}-macosx-installer.jar
javac.classpath=${aviatrix3d-all.jar}:\
......@@ -234,7 +235,7 @@ sai.simserver.dir=${examples.dir}/sai/simserver
examples.spec.x3d.java.dir=${examples.dir}/spec/x3d/java
xj3d.version=Version
xj3d.version.number=2.2
xj3d.version.number=${product.version.major}.${product.version.level}
xj3d.version.file=${src.java.dir}/org/web3d/util/${xj3d.version}.java
browser.class=${browser.classes.dir}/xj3d/browser/Xj3DBrowser.class
......
......@@ -46,9 +46,6 @@ POSSIBILITY OF SUCH DAMAGE.
<!-- access to local environment variables -->
<property environment="env"/>
<!-- Warning: only add izpack installer task after all global properties are defined -->
<import file="buildInstallers.xml"/>
<!--
===============================
PROPERTIES/TASKS/MACROS SECTION
......@@ -387,11 +384,15 @@ POSSIBILITY OF SUCH DAMAGE.
depends="compile"
description="Build the Xj3D application jar file">
<delete dir="${dist.dir}"/>
<delete>
<fileset dir="${dist.dir}">
<include name="*.jar"/>
</fileset>
</delete>
<mkdir dir="${dist.dir}"/>
<copy file="apps/replica/src/java/xj3d/replica/images/Xj3dRenderCaptureFailed.png"
todir="${build.classes.dir}/org/xj3d/ui/awt/browser/ogl/images" verbose="true" overwrite="true"/>
todir="${build.classes.dir}/org/xj3d/ui/awt/browser/ogl/images" verbose="true" overwrite="true"/>
<jar destfile="${dist.jar}" basedir="${build.classes.dir}">
<manifest>
<attribute name="Specification-Version"
......@@ -1275,7 +1276,6 @@ lists details and further links as part of the
<target name="clean.ogl">
<delete dir="${build.classes.dir}" failonerror="false"/>
<!--delete dir="${dist.dir}" failonerror="false"/-->
</target>
<target name="clean.apps">
......@@ -1451,5 +1451,90 @@ Nearby:
</target>
<!-- ======================================================================================== -->
<!-- ===== Build NPS Xj3D installer jars into ./installers directory ===== -->
<!-- Prerequisite for creating installer: you must have local izPack v5+ installed -->
<property file="nbproject/private/access.properties"/>
<property name="izpack-dist" value="${IZPACK_DIST}" description="local installation of latest distribution from http://izpack.org"/>
<path id="lib.path">
<fileset dir="${izpack-dist}/lib" includes="*.jar"/>
</path>
<target name="update.izpack.jar">
<echo message="Prerequisite: apply .jar fix in installers/util/izpack-lang-fix in local $IZPACK_DIST .jar at"/>
<echo message="${IZPACK_DIST}/lib/izpack-core-5.1.3.jar"/>
<copy file="${basedir}/src/install/izpack/util/izpack-core-5.1.3.jar" todir="${IZPACK_DIST}/lib/" verbose="true" force="true"/>
</target>
<taskdef name="izpack"
classpathref="lib.path"
classname="com.izforge.izpack.ant.IzPackTask"/>
<target name="build.installers"
description="Build Xj3D installer jars"
depends="clean.installers,versions,dist">
<!-- TODO validate the izPack XML files -->
<mkdir dir="${installers.dir}"/>
<!-- OpenJDK 14: https://openjdk.java.net/projects/jdk/14
JEP 367: Remove the Pack200 Tools and API: https://openjdk.java.net/jeps/367
IzPack Documentation/Using IzPack/IzPack 4/Advanced features/Apache Ant integration:
https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491532/Advanced+Features
IzPack Maven Plugin Reference
https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491628/IzPack+Maven+Plugin+Reference
IzPack 5 Documentation/Compiling the Installation/Compiling Using Ant
https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491591/Compiling+Using+Ant
IzPack 5 Documentation/.../Packs/Compressing pack files
https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/67078184/Compressing+pack+files
Issue IZPACK-1582: IzPack 5.1.1 Compression Fails
https://izpack.atlassian.net/projects/IZPACK/issues/IZPACK-1582
adamretter Fixes a couple of small issues #682
https://github.com/izpack/izpack/pull/682
Issue IZPACK-953: Izpack 5.0.0 standalone jar does not provide ant task
https://izpack.atlassian.net/browse/IZPACK-953
-->
<echo message="Running IzPack to build the installers..."/>
<echo message="Windows Linux installer description file: ${win.linux.install.description}"/>
<izpack input= "${win.linux.install.description}"
output="${installers.dir}/${win.linux.installer.jar}"
installerType="standard"
basedir="${basedir}"
inheritAll="true"
compression="default"
compressionlevel="9"/>
<echo message="macosx installer description file: ${macosx.install.description}"/>
<izpack input= "${macosx.install.description}"
output="${installers.dir}/${macosx.installer.jar}"
installerType="standard"
basedir="${basedir}"
inheritAll="true"
compression="default"
compressionlevel="9"/>
<chmod file="${installers.dir}/${win.linux.installer.jar}" perm="ugo+rx"/>
<chmod file="${installers.dir}/${macosx.installer.jar}" perm="ugo+rx"/>
<length file="${installers.dir}/${win.linux.installer.jar}" property="length.win.linux.installer.jar"/>
<length file="${installers.dir}/${macosx.installer.jar}" property="length.macosx.installer.jar"/>
<echo/>
<echo message="Installer file sizes: ${win.linux.installer.jar}=${length.win.linux.installer.jar} bytes, ${macosx.installer.jar}=${length.macosx.installer.jar} bytes"/>
<echo/>
<echo message="IzPack installer builds complete"/>
</target>
<target name="clean.installers"
description="Clean up all executables generated by producing the installers">
<delete verbose="true">
<fileset dir="installers">
<include name="*.jar"/>
</fileset>
</delete>
</target>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<!-- Seems to render in Mozilla Firefox the best. Broken in IE7 -->
<?xml-stylesheet type="text/xsl" href="./ant2html.xsl"?>
<project name="IzPack Installers" basedir="." default="build.installers">
<description>
Build NPS Xj3D installer jars into ./installers directory.
</description>
<!--
Warning: this file gets imported by accompanying Xj3D build.xml
(at bottom, following property definition) and should not get invoked directly.
-->
<!--
Copyright (c) 1995-2020 held by the author(s). All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer
in the documentation and/or other materials provided with the
distribution.
* Neither the name of the Web3D Consortium (https://www.web3D.org)
nor the names of its contributors may be used to endorse or
promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-->
<property name="installers.dir" location="installers"/>
<!-- Prerequisite for creating installer: you must have local izPack v5+ installed -->
<property file="nbproject/private/access.properties"/>
<property name="izpack-dist" value="${IZPACK_DIST}" description="local installation of latest distribution from http://izpack.org"/>
<path id="lib.path">
<fileset dir="${izpack-dist}/lib" includes="*.jar"/>
</path>
<target name="update.izpack.jar">
<echo message="Prerequisite: apply .jar fix in installers/util/izpack-lang-fix in local $IZPACK_DIST .jar at"/>
<echo message=" ${IZPACK_DIST}/lib/izpack-core-5.1.3.jar"/>
<copy file="installers/util/izpack-core-5.1.3.jar" todir="${IZPACK_DIST}/lib/" verbose="true" force="true"/>
</target>
<taskdef name="izpack"
classpathref="lib.path"
classname="com.izforge.izpack.ant.IzPackTask"/>
<target name="build.installers"
description="Build Xj3D installer jars"
depends="clean.installers">
<!-- TODO validate the izPack XML files -->
<ant antfile="build.xml" target="versions"/>
<ant antfile="build.xml" target="dist"/>
<mkdir dir="${installers.dir}"/>
<!-- OpenJDK 14: https://openjdk.java.net/projects/jdk/14
JEP 367: Remove the Pack200 Tools and API: https://openjdk.java.net/jeps/367
IzPack Documentation/Using IzPack/IzPack 4/Advanced features/Apache Ant integration:
https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491532/Advanced+Features
IzPack v5 remains problematic due to not supporting Ant properly.
IzPack Maven Plugin Reference
https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491628/IzPack+Maven+Plugin+Reference
IzPack 5 Documentation/Compiling the Installation/Compiling Using Ant
https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/491591/Compiling+Using+Ant
IzPack 5 Documentation/.../Packs/Compressing pack files
https://izpack.atlassian.net/wiki/spaces/IZPACK/pages/67078184/Compressing+pack+files
Issue IZPACK-1582: IzPack 5.1.1 Compression Fails
https://izpack.atlassian.net/projects/IZPACK/issues/IZPACK-1582
adamretter Fixes a couple of small issues #682
https://github.com/izpack/izpack/pull/682
Issue IZPACK-953: Izpack 5.0.0 standalone jar does not provide ant task
https://izpack.atlassian.net/browse/IZPACK-953
-->
<echo message="Running IzPack to build the installers..."/>
<echo message="Windows Linux installer file: ${win.linux.32.64.installer.file}"/>
<izpack input= "${win.linux.32.64.installer.file}"
output="${installers.dir}/${win.linux.32.64.installer.jar}"
installerType="standard"
basedir="${basedir}"
inheritAll="true"
compression="default"
compressionlevel="9"/>
<echo message="macosx installer file: ${macosx.installer.file}"/>
<izpack input="${macosx.installer.file}"
output="${installers.dir}/${macosx.installer.jar}"
installerType="standard"
basedir="${basedir}"
inheritAll="true"
compression="default"
compressionlevel="9"/>
<chmod file="${installers.dir}/${win.linux.32.64.installer.jar}" perm="ugo+rx"/>
<chmod file="${installers.dir}/${macosx.installer.jar}" perm="ugo+rx"/>
<length file="${installers.dir}/${win.linux.32.64.installer.jar}" property="length.win.linux.32.64.installer.jar"/>
<length file="${installers.dir}/${macosx.installer.jar}" property="length.macosx.installer.jar"/>
<echo/>
<echo message="Installer file sizes: ${win.linux.32.64.installer.jar}=${length.win.linux.32.64.installer.jar} bytes, ${macosx.installer.jar}=${length.macosx.installer.jar} bytes"/>
<echo/>
<echo message="IzPack installer builds complete"/>
</target>
<target name="clean.installers"
description="Clean up all executables generated by producing the installers">
<delete verbose="true">
<fileset dir="installers">
<include name="*.jar"/>
</fileset>
</delete>
</target>
</project>
\ No newline at end of file
nbjdk.active=JDK_14
nbjdk.active=default_platform
......@@ -111,11 +111,11 @@
<file src="buildStamp.txt" targetdir="$INSTALL_PATH"/>
<!-- Apple specific files -->
<file src="src/install/izpack/macosx/Info.plist" targetdir="$INSTALL_PATH/Xj3DBrowser.app/Contents"/>
<file src="src/install/izpack/macosx/JavaApplicationStub" targetdir="$INSTALL_PATH/Xj3DBrowser.app/Contents/MacOS"/>
<file src="src/install/izpack/macosx/PkgInfo" targetdir="$INSTALL_PATH/Xj3DBrowser.app/Contents"/>
<file src="src/install/izpack/macosx/installerInfo" targetdir="$INSTALL_PATH/doc"/>
<file src="src/install/izpack/macosx/xj3dIcons.icns" targetdir="$INSTALL_PATH/Xj3DBrowser.app/Contents/Resources"/>
<file src="@{src.dir}/install/izpack/macosx/Info.plist" targetdir="$INSTALL_PATH/Xj3DBrowser.app/Contents"/>
<file src="@{src.dir}/install/izpack/macosx/JavaApplicationStub" targetdir="$INSTALL_PATH/Xj3DBrowser.app/Contents/MacOS"/>
<file src="@{src.dir}/install/izpack/macosx/PkgInfo" targetdir="$INSTALL_PATH/Xj3DBrowser.app/Contents"/>
<file src="@{src.dir}/install/izpack/macosx/installerInfo" targetdir="$INSTALL_PATH/doc"/>
<file src="@{src.dir}/install/izpack/macosx/xj3dIcons.icns" targetdir="$INSTALL_PATH/Xj3DBrowser.app/Contents/Resources"/>
<executable targetfile="$INSTALL_PATH/Xj3DBrowser.app/Contents/MacOS/JavaApplicationStub" stage="never" />
<executable targetfile="$INSTALL_PATH/browser.sh.command" stage="never"/>
......
......@@ -342,7 +342,7 @@ public abstract class BaseRetainedExporter extends Exporter implements BinaryCon
if (convertOldContent) {
if (hanimFound)
componentList.add(new ComponentInfo("H-Anim",1));
componentList.add(new ComponentInfo("H-Anim",1)); // TODO HAnim in X3Dv4
if (geospatialFound)
componentList.add(new ComponentInfo("Geospatial",1));
}
......
......@@ -9,7 +9,6 @@
* purpose. Use it at your own risk. If there's a problem you get to fix it.
*
****************************************************************************/
package org.web3d.vrml.renderer.common.input.dis;
// External imports
......@@ -31,7 +30,6 @@ import org.xj3d.core.eventmodel.NetworkProtocolHandler;
/**
* The handler for DIS protocol network traffic.
* <p>
*
* @author Alan Hudson
* @version $Revision: 1.26 $
......@@ -118,7 +116,7 @@ public class DISProtocolHandler
"org.web3d.vrml.renderer.common.dis.input.deadreckonPosition";
/** The value read from the system property for MIPMAPS */
protected static final boolean deadreckonPosition;
protected static final boolean DEAD_RECKON_POSITION;
/** The default dead reckon position value */
protected static final boolean DEFAULT_DEADRECKON_ROTATION = true;
......@@ -128,7 +126,7 @@ public class DISProtocolHandler
"org.web3d.vrml.renderer.common.dis.input.deadreckonRotation";
/** The value read from the system property for deadReckonRotation */
protected static final boolean deadreckonRotation;
protected static final boolean DEAD_RECKON_ROTATION;
// Scratch matrixes for smoothing
Matrix3d rotationMatrix;
......@@ -152,10 +150,10 @@ public class DISProtocolHandler
AxisAngle4d axisTemp;
static {
deadreckonPosition = PropertyTools.fetchSystemProperty(DEADRECKON_POSITION_PROP,
DEAD_RECKON_POSITION = PropertyTools.fetchSystemProperty(DEADRECKON_POSITION_PROP,
DEFAULT_DEADRECKON_POSITION);
deadreckonRotation = PropertyTools.fetchSystemProperty(DEADRECKON_ROTATION_PROP,
DEAD_RECKON_ROTATION = PropertyTools.fetchSystemProperty(DEADRECKON_ROTATION_PROP,
DEFAULT_DEADRECKON_ROTATION);
}
......@@ -346,7 +344,7 @@ public class DISProtocolHandler
}
}
if ((deadreckonPosition || deadreckonRotation) && !node.closeEnough) {
if ((DEAD_RECKON_POSITION || DEAD_RECKON_ROTATION) && !node.closeEnough) {
// Handle dead reckoning
dt = (currTime - node.lastTime) * 0.001f;
// dt = (currTime - node.lastTime) * 0.01f;
......@@ -364,7 +362,7 @@ public class DISProtocolHandler
int idx;
if (deadreckonPosition) {
if (DEAD_RECKON_POSITION) {
node.translationConverger.getValue(currTime, translationVec);
tempPositionArray[0] = (float) translationVec.x;
tempPositionArray[1] = (float) translationVec.y;
......@@ -373,7 +371,7 @@ public class DISProtocolHandler
di.setValue(idx, tempPositionArray, 3);
}
if (deadreckonRotation) {
if (DEAD_RECKON_ROTATION) {
node.rotationConverger.getValue(currTime, rotationQuat);
rotationQuat.normalize();
......@@ -470,35 +468,24 @@ public class DISProtocolHandler
di.addNetworkRoleListener(this);
switch (di.getRole()) {
case VRMLNetworkInterfaceNodeType.ROLE_MANAGER:
address = di.getAddress();
port = di.getPort();
address = di.getAddress();
port = di.getPort();
id = new DISConnectionId(address, port);
conn = connections.get(id);
id = new DISConnectionId(address, port);
conn = connections.get(id);
if (conn == null) {
conn = new DISConnectionHandler(nodeMap, liveList, managerList, notifiedSet, address, port);
connections.put(id, conn);
}
if (conn == null) {
// TODO: When do we get rid of these?
conn = new DISConnectionHandler(nodeMap, liveList, managerList, notifiedSet, address, port);
connections.put(id, conn);
}
switch (di.getRole()) {
case VRMLNetworkInterfaceNodeType.ROLE_MANAGER:
managerList.add(di);
break;
case VRMLNetworkInterfaceNodeType.ROLE_READER:
address = di.getAddress();
port = di.getPort();
id = new DISConnectionId(address, port);
conn = connections.get(id);
if (conn == null) {
// TODO: When do we get rid of these?
conn = new DISConnectionHandler(nodeMap, liveList, managerList, notifiedSet, address, port);
connections.put(id, conn);
}
siteID = di.getSiteID();
appID = di.getAppID();
......@@ -520,19 +507,6 @@ public class DISProtocolHandler
break;
case VRMLNetworkInterfaceNodeType.ROLE_WRITER:
address = di.getAddress();
port = di.getPort();
id = new DISConnectionId(address, port);
conn = connections.get(id);
if (conn == null) {
// TODO: When do we get rid of these?
conn = new DISConnectionHandler(nodeMap, liveList, managerList, notifiedSet, address, port);
connections.put(id, conn);
}
siteID = di.getSiteID();
appID = di.getAppID();
entityID = di.getEntityID();
......@@ -589,6 +563,7 @@ public class DISProtocolHandler
//----------------------------------------------------------
// Methods required for NetworkRoleListener
//----------------------------------------------------------
/**
* The role of this node has changed.
*
......@@ -669,6 +644,7 @@ public class DISProtocolHandler
//----------------------------------------------------------
// Local convenience methods
//----------------------------------------------------------
/**
* Calculate the dead reckoning position of a EntityStatePDU
* @param espdu
......@@ -790,4 +766,4 @@ public class DISProtocolHandler
rotMatrix.mul(psiMat);
}
} // end class file DISProtocolHandler.java
\ No newline at end of file
} // end class file DISProtocolHandler.java
......@@ -24,7 +24,6 @@ package org.web3d.vrml.renderer.common.input.dis;
* @author Alan Hudson
* @version $Revision: 1.2 $
*/
class LinkedList {
public ListEntry head;
public ListEntry tail;
......
......@@ -114,7 +114,7 @@ public class DefaultHumanoidManager implements NodeManager {
@Override
public ComponentInfo[] getSupportedComponents() {
return new ComponentInfo[] {
new ComponentInfo("H-Anim", 1)
new ComponentInfo("H-Anim", 1) // TODO HAnim in X3Dv4
};
}
......
......@@ -277,7 +277,7 @@ public abstract class Construct implements ConstructBuilder {
/** The manager for network handling */
protected NetworkManager networkManager;
/** The manager for H-Anim handling */
/** The manager for H-Anim handling */ // TODO HAnim in X3Dv4
protected NodeManager hanimManager;
/** The manager for physics handling */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment