Skip to content

Commit

Permalink
Sci-Vis Framework
Browse files Browse the repository at this point in the history
Sci-Vis Framework (SVF) is a full featured OpenGL 3d framework that
allows for rapid creation of complex visualizations. The framework
handles much of the lifecycle and complex tasks required for a 3d
visualization. Unlike a game framework, SVF was designed to use fewer
resources, work well in a windowed environment, and only render when
necessary. The scene also takes advantage of multiple threads to free up
the UI thread as much as possible. Shapes (actors) in the scene are
created by adding or removing functionality (through support objects)
during runtime. This allows a highly flexible and dynamic means of
creating highly complex actors without the code complexity (it also
helps overcome the lack of multiple inheritance in Java.) All classes
are highly customizable and there are abstract classes which are
intended to be subclassed to allow a developer to create more complex
and highly performant actors. There are multiple demos included in the
framework to help the developer get started and shows off nearly all of
the functionality. Some simple shapes (actors) are already created for
you such as text, bordered text, radial text, text area, complex paths,
NURBS paths, cube, disk, grid, plane, geometric shapes, and volumetric
area. It also comes with various camera types for viewing that can be
dragged, zoomed, and rotated. Picking or selecting items in the scene
can be accomplished in various ways depending on your needs (raycasting
or color picking.) The framework currently has functionality for
tooltips, animation, actor pools, color gradients, 2d physics, text,
1d/2d/3d textures, children, blending, clipping planes, view frustum
culling, custom shaders, and custom actor states.
  • Loading branch information
Arthur Bleeker committed Jul 16, 2015
0 parents commit 20e8b7c
Show file tree
Hide file tree
Showing 714 changed files with 95,436 additions and 0 deletions.
44 changes: 44 additions & 0 deletions sci-vis-framework/DISCLAIMER.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
DISCLAIMER OF LIABILITY NOTICE:

The United States Government shall not be liable or responsible for any maintenance or updating
of the provided SVF Software, nor for correction of any errors in the SVF Software.

THE SVF SOFTWARE IS PROVIDED “AS IS” WITHOUT ANY WARRANTY OF ANY
KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT
LIMITED TO, ANY WARRANTY THAT THE SVF SOFTWARE WILL CONFORM TO
SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY
WARRANTY THAT THE NICS SOFTWARE WILL BE ERROR FREE, OR ANY
WARRANTY THAT THE DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE
SVF SOFTWARE. IN NO EVENT SHALL THE UNITED STATES GOVERNMENT OR ITS
CONTRACTORS OR SUBCONTRACTORS BE LIABLE FOR ANY DAMAGES,
INCLUDING, BUT NOT LIMITED TO, DIRECT, INDIRECT, SPECIAL OR
CONSEQUENTIAL DAMAGES, ARISING OUT OF, RESULTING FROM, OR IN ANY
WAY CONNECTED WITH THE SVF SOFTWARE OR ANY OTHER PROVIDED
DOCUMENTATION, WHETHER OR NOT BASED UPON WARRANTY, CONTRACT,
TORT, OR OTHERWISE, WHETHER OR NOT INJURY WAS SUSTAINED BY PERSONS
OR PROPERTY OR OTHERWISE, AND WHETHER OR NOT LOSS WAS SUSTAINED
FROM, OR AROSE OUT OF THE RESULTS OF, OR USE OF, THE SVF SOFTWARE OR
ANY PROVIDED DOCUMENTATION. THE UNITED STATES GOVERNMENT
DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING THIRD PARTY
SOFTWARE, IF PRESENT IN THE SVF SOFTWARE, AND DISTRIBUTES IT “AS IS.”

LICENSEE AGREES TO WAIVE ANY AND ALL CLAIMS AGAINST THE U.S.
GOVERNMENT AND THE UNITED STATES GOVERNMENT’S CONTRACTORS AND
SUBCONTRACTORS, AND SHALL INDEMNIFY AND HOLD HARMLESS THE U.S.
GOVERNMENT AND THE UNITED STATES GOVERNMENT’S CONTRACTORS AND
SUBCONTRACTORS FOR ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES, OR
LOSSES THAT MAY ARISE FROM RECIPIENT’S USE OF THE SVF SOFTWARE OR
PROVIDED DOCUMENTATION, INCLUDING ANY LIABILITIES OR DAMAGES FROM
PRODUCTS BASED ON, OR RESULTING FROM, THE USE THEREOF.

This Scientific Visualization Framework Software Program was developed with funds from the
Department of Homeland Security’s Science and Technology Directorate and other government
sources.

“USE OF THE NAME DHS”

Developer shall not use the name “DHS” or the name “Department of Homeland Security” or
any variation, adaptation, or abbreviation thereof, in any enhancement, improvement,
modification or derivative work without the prior written consent of DHS, which consent DHS
may withhold in its sole discretion.
33 changes: 33 additions & 0 deletions sci-vis-framework/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Sci-Vis Framework (SVF)
Copyright © 2015, Battelle Memorial Institute

1. Battelle Memorial Institute (hereinafter Battelle) hereby grants permission to any person or
entity lawfully obtaining a copy of this software and associated documentation files
(hereinafter “the Software”) to redistribute and use the Software in source and binary forms,
with or without modification. Such person or entity may use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and may permit others to do so,
subject to the following conditions:

* Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimers.

* 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.

* Other than as used herein, neither the name Battelle Memorial Institute or Battelle may
be used in any form whatsoever without the express written consent of Battelle.

2. 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 BATTELLE 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.
158 changes: 158 additions & 0 deletions sci-vis-framework/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>gov.pnnl.svf</groupId>
<artifactId>sci-vis-framework</artifactId>
<version>1.7.01-SNAPSHOT</version>
<packaging>pom</packaging>
<name>sci-vis-framework</name>
<description>Sci-Vis Framework (SVF) is a full featured OpenGL 3d framework that allows for rapid creation of complex visualizations. The framework handles much of the lifecycle and complex tasks required for a 3d visualization. Unlike a game framework, SVF was designed to use fewer resources, work well in a windowed environment, and only render when necessary. The scene also takes advantage of multiple threads to free up the UI thread as much as possible. Shapes (actors) in the scene are created by adding or removing functionality (through support objects) during runtime. This allows a highly flexible and dynamic means of creating highly complex actors without the code complexity (it also helps overcome the lack of multiple inheritance in Java.) All classes are highly customizable and there are abstract classes which are intended to be subclassed to allow a developer to create more complex and highly performant actors. There are multiple demos included in the framework to help the developer get started and shows off nearly all of the functionality. Some simple shapes (actors) are already created for you such as text, bordered text, radial text, text area, complex paths, NURBS paths, cube, disk, grid, plane, geometric shapes, and volumetric area. It also comes with various camera types for viewing that can be dragged, zoomed, and rotated. Picking or selecting items in the scene can be accomplished in various ways depending on your needs (raycasting or color picking.) The framework currently has functionality for tooltips, animation, actor pools, color gradients, 2d physics, text, 1d/2d/3d textures, children, blending, clipping planes, view frustum culling, custom shaders, and custom actor states. </description>
<url>http://www.pnnl.gov/</url>

<licenses>
<license>
<name>Battelle Memorial Institute</name>
<url>LICENSE.txt</url>
</license>
<license>
<name>Department of Homeland Security</name>
<url>DISCLAIMER.txt</url>
</license>
</licenses>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.build.target.jdk>1.7</project.build.target.jdk>
<targetJdk>1.7</targetJdk>
<jogl.version>2.2.0</jogl.version>
</properties>

<organization>
<!-- Used as the 'Vendor' for JNLP generation -->
<name>Pacific Northwest National Laboratory (PNNL)</name>
</organization>

<profiles>
<!-- Prevents the release from performing a second unit test run -->
<profile>
<id>release</id>
<activation>
<property>
<name>performRelease</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.1</version>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.5.3</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Import-Package>*;resolution:=optional</Import-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>

<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changelog-plugin</artifactId>
<version>2.3</version>
<configuration>
<connectionType>developerConnection</connectionType>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.5</version>
<configuration>
<failOnError>false</failOnError>
<xmlOutput>true</xmlOutput>
</configuration>
</plugin>
</plugins>
</reporting>

<distributionManagement>
<repository>
<id>Artifactory @ Developer Central</id>
<name>Artifactory @ Developer Central-releases</name>
<url>https://maven.pnnl.gov/artifactory/mvn-pnnl-releases</url>
</repository>
<snapshotRepository>
<id>Artifactory @ Developer Central</id>
<name>Artifactory @ Developer Central-snapshots</name>
<url>https://maven.pnnl.gov/artifactory/mvn-pnnl-snapshots</url>
</snapshotRepository>
</distributionManagement>

<modules>
<module>../svf-test</module>
<module>../svf-core</module>
<module>../svf</module>
<module>../svf-jbox2d</module>
<module>../svf-awt</module>
<module>../svf-fx</module>
<module>../svf-newt</module>
<module>../svf-swt</module>
<module>../svf-demo</module>
</modules>

</project>
11 changes: 11 additions & 0 deletions sci-vis-framework/release.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#release configuration
#Mon Mar 09 11:13:34 PDT 2015
scm.tagNameFormat=@{project.artifactId}-@{project.version}
pushChanges=true
scm.url=scm\:svn\:https\://subversion.pnnl.gov/svn/SVF/trunk/sci-vis-framework/
preparationGoals=clean verify
projectVersionPolicyId=default
remoteTagging=true
scm.commentPrefix=[maven-release-plugin]
exec.snapshotReleasePluginAllowed=false
completedPhase=check-poms
44 changes: 44 additions & 0 deletions svf-awt/DISCLAIMER.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
DISCLAIMER OF LIABILITY NOTICE:

The United States Government shall not be liable or responsible for any maintenance or updating
of the provided SVF Software, nor for correction of any errors in the SVF Software.

THE SVF SOFTWARE IS PROVIDED “AS IS” WITHOUT ANY WARRANTY OF ANY
KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT
LIMITED TO, ANY WARRANTY THAT THE SVF SOFTWARE WILL CONFORM TO
SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY
WARRANTY THAT THE NICS SOFTWARE WILL BE ERROR FREE, OR ANY
WARRANTY THAT THE DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE
SVF SOFTWARE. IN NO EVENT SHALL THE UNITED STATES GOVERNMENT OR ITS
CONTRACTORS OR SUBCONTRACTORS BE LIABLE FOR ANY DAMAGES,
INCLUDING, BUT NOT LIMITED TO, DIRECT, INDIRECT, SPECIAL OR
CONSEQUENTIAL DAMAGES, ARISING OUT OF, RESULTING FROM, OR IN ANY
WAY CONNECTED WITH THE SVF SOFTWARE OR ANY OTHER PROVIDED
DOCUMENTATION, WHETHER OR NOT BASED UPON WARRANTY, CONTRACT,
TORT, OR OTHERWISE, WHETHER OR NOT INJURY WAS SUSTAINED BY PERSONS
OR PROPERTY OR OTHERWISE, AND WHETHER OR NOT LOSS WAS SUSTAINED
FROM, OR AROSE OUT OF THE RESULTS OF, OR USE OF, THE SVF SOFTWARE OR
ANY PROVIDED DOCUMENTATION. THE UNITED STATES GOVERNMENT
DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING THIRD PARTY
SOFTWARE, IF PRESENT IN THE SVF SOFTWARE, AND DISTRIBUTES IT “AS IS.”

LICENSEE AGREES TO WAIVE ANY AND ALL CLAIMS AGAINST THE U.S.
GOVERNMENT AND THE UNITED STATES GOVERNMENT’S CONTRACTORS AND
SUBCONTRACTORS, AND SHALL INDEMNIFY AND HOLD HARMLESS THE U.S.
GOVERNMENT AND THE UNITED STATES GOVERNMENT’S CONTRACTORS AND
SUBCONTRACTORS FOR ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES, OR
LOSSES THAT MAY ARISE FROM RECIPIENT’S USE OF THE SVF SOFTWARE OR
PROVIDED DOCUMENTATION, INCLUDING ANY LIABILITIES OR DAMAGES FROM
PRODUCTS BASED ON, OR RESULTING FROM, THE USE THEREOF.

This Scientific Visualization Framework Software Program was developed with funds from the
Department of Homeland Security’s Science and Technology Directorate and other government
sources.

“USE OF THE NAME DHS”

Developer shall not use the name “DHS” or the name “Department of Homeland Security” or
any variation, adaptation, or abbreviation thereof, in any enhancement, improvement,
modification or derivative work without the prior written consent of DHS, which consent DHS
may withhold in its sole discretion.
33 changes: 33 additions & 0 deletions svf-awt/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
Sci-Vis Framework (SVF)
Copyright © 2015, Battelle Memorial Institute

1. Battelle Memorial Institute (hereinafter Battelle) hereby grants permission to any person or
entity lawfully obtaining a copy of this software and associated documentation files
(hereinafter “the Software”) to redistribute and use the Software in source and binary forms,
with or without modification. Such person or entity may use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and may permit others to do so,
subject to the following conditions:

* Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimers.

* 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.

* Other than as used herein, neither the name Battelle Memorial Institute or Battelle may
be used in any form whatsoever without the express written consent of Battelle.

2. 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 BATTELLE 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.
Loading

0 comments on commit 20e8b7c

Please sign in to comment.