⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 j3d1x1-behavior.cfg

📁 java 3d编程的一些例子源代码
💻 CFG
字号:
/* * $RCSfile: j3d1x1-behavior.cfg,v $ * * Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * - Redistribution of source code must retain the above copyright *   notice, this list of conditions and the following disclaimer. * * - Redistribution 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 Sun Microsystems, Inc. or the names of * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * This software is provided "AS IS," without a warranty of any * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY * EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL * NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF * USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR * ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, * CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND * REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF OR * INABILITY TO USE THIS SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. * * You acknowledge that this software is not designed, licensed or * intended for use in the design, construction, operation or * maintenance of any nuclear facility. * * $Revision: 1.1 $ * $Date: 2006/02/17 02:10:43 $ * $State: Exp $ *//* ************************************************************************ *   * Java 3D configuration file for single fullscreen desktop configuration. * A view platform behavior is created and configured here as well. *   ************************************************************************ */// Create a new screen object and associate it with a logical name and a// number.  This number is used as an index to retrieve the AWT GraphicsDevice// from the array that GraphicsEnvironment.getScreenDevices() returns.// // NOTE: The GraphicsDevice order in the array is specific to the local// site and display system.// (NewScreen center 0)// Create a fullscreen window//(ScreenAttribute center WindowSize NoBorderFullScreen)// Set the available image area for the full screen.// (ScreenAttribute center	PhysicalScreenWidth  0.360)(ScreenAttribute center	PhysicalScreenHeight 0.288)// Set the TrackerBaseToImagePlate transform for this screen.  The coexistence// to tracker base transform is identity by default, so the tracker base origin// and orientation will also set the origin and orientation of coexistence// coordinates in the physical world.  This is the primary purpose of setting// this transform when neither head tracking nor multiple screens are being// used. //// The tracker base and center of coexistence are set here to the middle of the// screen's image plate.  Their basis vectors are aligned with the image plate// basis vectors.  The physical eyepoint position will be set relative to// coexistence coordinates below.//(ScreenAttribute center TrackerBaseToImagePlate                        (Translate 0.180 0.144 0.000))// Create a view using the defined screen.// (NewView view0)(ViewAttribute view0 Screen center)// Set the eyepoint relative to coexistence coordinates.  Here it is set 45cm// toward the user along +Z.  Skewed projections can be set by by offsetting// the eyepoint along X and Y.// (ViewAttribute view0 CenterEyeInCoexistence (0.0 0.0 0.45))// Create a view platform behavior.  Here we use OrbitBehavior, although any// concrete subclass of the abstract ViewPlatformBehavior with a parameterless// constructor could be used.  The logical name to assign to this behavior is// specified by the 2nd argument to the NewViewPlatformBehavior command, while// the 3rd argument is the name of the ViewPlatformBehavior subclass.  It is// instantiated through introspection.// // Attributes defined by the abstract ViewPlatformBehavior superclass itself// can be set directly with the ViewPlatformBehaviorAttribute command.  The// details of the subclass implementation are not known to ConfiguredUniverse,// so any configuration information needed by such a subclass is set by the// ViewPlatformBehaviorProperty command.  The property name specified by that// command is taken to be a method name of the subclass and invoked through// introspection.// // View platform behaviors often need sensors or canvases as event sources to// drive the behavior action.  An implementation of ViewPlatformBehavior always// gets the current ViewingPlatform through the setViewingPlatform() method.// The canvases used by the ViewingPlatform can be retrieved by calling its// getViewers() method and then calling each Viewer's getCanvas3Ds()// method.  Sensors can be retrived by calling the ViewingPlatform method// getUniverse(), checking to see if the returned SimpleUniverse is a// ConfiguredUniverse, and then calling its getNamedSensors() method.// (NewViewPlatformBehavior vpb com.sun.j3d.utils.behaviors.vp.OrbitBehavior)// Set the scheduling bounds to be a BoundingSphere with its center at // (0.0 0.0 0.0) and a radius of 100 meters.// (ViewPlatformBehaviorAttribute vpb SchedulingBounds                                   (BoundingSphere (0.0 0.0 0.0) 100.0))// Set properties specific to OrbitBehavior.  All arguments following the// method name are wrapped and passed to the specified method as an array of// Objects.  Strings "true" and "false" get turned into Boolean, and number// strings get turned into Double.  Constructs such as (0.0 1.0 2.0) and// ((0.0 1.0 2.0 0.5) (3.0 4.0 5.0 1.0) (6.0 7.0 8.0 0.0)) get converted to// Point3d and Matrix4d respectively. Note that last row of a Matrix4d doesn't// need to be specified; it is implicitly (0.0 0.0 0.0 1.0).// // The REVERSE_ALL flags are usually passed to the OrbitBehavior constructor.// Since it is being instantiated with its parameterless constructor the// reverse flags are set here explicitly.// (ViewPlatformBehaviorProperty vpb ReverseTranslate true)(ViewPlatformBehaviorProperty vpb ReverseRotate    true)(ViewPlatformBehaviorProperty vpb ReverseZoom      true)// Create a new view platform and set the view platform behavior.// (NewViewPlatform vp)(ViewPlatformAttribute vp ViewPlatformBehavior vpb)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -