当前位置: 首页>>代码示例>>Java>>正文


Java View类代码示例

本文整理汇总了Java中javax.media.j3d.View的典型用法代码示例。如果您正苦于以下问题:Java View类的具体用法?Java View怎么用?Java View使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


View类属于javax.media.j3d包,在下文中一共展示了View类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: Java3dRenderingViewer

import javax.media.j3d.View; //导入依赖的package包/类
public Java3dRenderingViewer( Java3dSceneGraph scene, CapturingCanvas3D canvas )
    {
        super();

//        GraphicsConfiguration gc = SimpleUniverse .getPreferredConfiguration();
        mCanvas = canvas; // new CapturingCanvas3D( gc );

        mScene = scene;

        viewTransform = new TransformGroup();
        view = new View();
        mScene .addView( initView( view, viewTransform, mCanvas ) );
            
        mLights = mScene .getLightsGroup();
        mFog = mScene .getFog();
        
        mPickCanvas = new PickCanvas( mCanvas,  mScene .getRoot() );
        mPickCanvas .setMode( PickTool.GEOMETRY );
        mPickCanvas .setTolerance( 0.1f );
    }
 
开发者ID:vZome,项目名称:vzome-desktop,代码行数:21,代码来源:Java3dRenderingViewer.java

示例2: initView

import javax.media.j3d.View; //导入依赖的package包/类
private static BranchGroup initView( View view, TransformGroup trans, Canvas3D canvas )
{
    ViewPlatform vp = new ViewPlatform();
    trans .setCapability( TransformGroup .ALLOW_TRANSFORM_WRITE );
    BranchGroup bg = new BranchGroup();
    bg .addChild( trans );
    trans .addChild( vp );
    view .addCanvas3D( canvas );
    view .setPhysicalBody( new PhysicalBody() );
    view .setPhysicalEnvironment( new PhysicalEnvironment() );
    view .attachViewPlatform( vp );
    view .setFrontClipPolicy( View.VIRTUAL_EYE );
    view .setBackClipPolicy( View.VIRTUAL_EYE );
    view .setScreenScalePolicy( View .SCALE_EXPLICIT );
    return bg;
}
 
开发者ID:vZome,项目名称:vzome-desktop,代码行数:17,代码来源:Java3dRenderingViewer.java

示例3: ElumensCanvas3D

import javax.media.j3d.View; //导入依赖的package包/类
/**
 * Create a new canvas given the graphics configuration
 * No timing information will be displayed
 *
 * @param gc The graphics configuration to use for the canvas
 */
public ElumensCanvas3D(GraphicsConfiguration gc, View view, EventModelEvaluator eme, boolean sEvent, int numChannels) {
    super(gc,false, view);

    eventModel = eme;
    runEventModel = false;
    this.sEvent = sEvent;
    this.view = view;
    spi = new SPI();
    this.numChannels = numChannels;
    listeners = new ArrayList();
    coordinateSources = new ArrayList();

    near = 0.1f;
    far = 5000f;
}
 
开发者ID:Norkart,项目名称:NK-VirtualGlobe,代码行数:22,代码来源:ElumensCanvas3D.java

示例4: createUniverse

import javax.media.j3d.View; //导入依赖的package包/类
/**
 * Returns a new 3D universe that displays <code>home</code> objects.
 */
private SimpleUniverse createUniverse(boolean displayShadowOnFloor, boolean listenToHomeUpdates,
		boolean waitForLoading)
{
	// Create a universe bound to no canvas 3D
	ViewingPlatform viewingPlatform = new ViewingPlatform();
	// Add an interpolator to view transform to get smooth transition 
	TransformGroup viewPlatformTransform = viewingPlatform.getViewPlatformTransform();
	CameraInterpolator cameraInterpolator = new CameraInterpolator(viewPlatformTransform);
	cameraInterpolator.setSchedulingBounds(new BoundingSphere(new Point3d(), 1E7));
	viewPlatformTransform.addChild(cameraInterpolator);
	viewPlatformTransform.setCapability(TransformGroup.ALLOW_CHILDREN_READ);
	
	Viewer viewer = new Viewer(new Canvas3D[0]);
	SimpleUniverse universe = new SimpleUniverse(viewingPlatform, viewer);
	
	View view = viewer.getView();
	view.setTransparencySortingPolicy(View.TRANSPARENCY_SORT_GEOMETRY);
	
	// Update field of view from current camera
	updateView(view, this.home.getCamera(), this.home.getTopCamera() == this.home.getCamera());
	
	// Update point of view from current camera
	updateViewPlatformTransform(viewPlatformTransform, this.home.getCamera(), false);
	
	// Add camera listeners to update later point of view from camera
	if (listenToHomeUpdates)
	{
		addCameraListeners(view, viewPlatformTransform);
	}
	
	// Link scene matching home to universe
	universe.addBranchGraph(createSceneTree(displayShadowOnFloor, listenToHomeUpdates, waitForLoading));
	
	return universe;
}
 
开发者ID:valsr,项目名称:SweetHome3D,代码行数:39,代码来源:HomeComponent3D.java

示例5: getOffScreenImage

import javax.media.j3d.View; //导入依赖的package包/类
/**
 * Returns an image of the home viewed by this component at the given size.
 */
public BufferedImage getOffScreenImage(int width, int height)
{
	List<Selectable> selectedItems = this.home.getSelectedItems();
	SimpleUniverse offScreenImageUniverse = null;
	try
	{
		View view;
		if (this.offscreenUniverse == null)
		{
			offScreenImageUniverse = createUniverse(this.displayShadowOnFloor, false, true);
			view = offScreenImageUniverse.getViewer().getView();
			// Replace textures by clones because Java 3D doesn't accept all the time 
			// to share textures between offscreen and onscreen environments 
			Map<Texture, Texture> replacedTextures = new HashMap<Texture, Texture>();
			for (Enumeration it = offScreenImageUniverse.getLocale().getAllBranchGraphs(); it.hasMoreElements();)
			{
				cloneTexture((Node) it.nextElement(), replacedTextures);
			}
		}
		else
		{
			view = this.offscreenUniverse.getViewer().getView();
		}
		
		// Empty temporarily selection to create the off screen image
		List<Selectable> emptySelection = Collections.emptyList();
		this.home.setSelectedItems(emptySelection);
		return Component3DManager.getInstance().getOffScreenImage(view, width, height);
	}
	finally
	{
		// Restore selection
		this.home.setSelectedItems(selectedItems);
		if (offScreenImageUniverse != null)
		{
			offScreenImageUniverse.cleanup();
		}
	}
}
 
开发者ID:valsr,项目名称:SweetHome3D,代码行数:43,代码来源:HomeComponent3D.java

示例6: addCameraListeners

import javax.media.j3d.View; //导入依赖的package包/类
/**
 * Adds listeners to home to update point of view from current camera.
 */
private void addCameraListeners(final View view, final TransformGroup viewPlatformTransform)
{
	this.cameraChangeListener = new PropertyChangeListener()
	{
		public void propertyChange(PropertyChangeEvent ev)
		{
			// Update view transform later to avoid flickering in case of multiple camera changes 
			EventQueue.invokeLater(new Runnable()
			{
				public void run()
				{
					updateView(view, home.getCamera(), home.getTopCamera() == home.getCamera());
					updateViewPlatformTransform(viewPlatformTransform, home.getCamera(), true);
				}
			});
		}
	};
	this.home.getCamera().addPropertyChangeListener(this.cameraChangeListener);
	this.homeCameraListener = new PropertyChangeListener()
	{
		public void propertyChange(PropertyChangeEvent ev)
		{
			updateView(view, home.getCamera(), home.getTopCamera() == home.getCamera());
			updateViewPlatformTransform(viewPlatformTransform, home.getCamera(), false);
			// Add camera change listener to new active camera
			((Camera) ev.getOldValue()).removePropertyChangeListener(cameraChangeListener);
			home.getCamera().addPropertyChangeListener(cameraChangeListener);
		}
	};
	this.home.addPropertyChangeListener(Home.Property.CAMERA, this.homeCameraListener);
}
 
开发者ID:valsr,项目名称:SweetHome3D,代码行数:35,代码来源:HomeComponent3D.java

示例7: setParallelProjection

import javax.media.j3d.View; //导入依赖的package包/类
/**
 * Sets whether the component 3D should use parallel or perspective projection.
 */
protected void setParallelProjection(boolean parallelProjection)
{
	this.parallelProjection = parallelProjection;
	if (this.universe != null)
	{
		this.universe.getViewer().getView()
				.setProjectionPolicy(parallelProjection ? View.PARALLEL_PROJECTION : View.PERSPECTIVE_PROJECTION);
	}
}
 
开发者ID:valsr,项目名称:SweetHome3D,代码行数:13,代码来源:ModelPreviewComponent.java

示例8: createViewPlatform

import javax.media.j3d.View; //导入依赖的package包/类
void createViewPlatform() {
	// viewplatform
	viewPlatform = new ViewPlatform();
	viewPlatform.setActivationRadius(100f);
	viewPlatform.setViewAttachPolicy(View.NOMINAL_HEAD);
	// view
	view = new View();

	view.setProjectionPolicy(View.PERSPECTIVE_PROJECTION);
	view.setViewPolicy(View.SCREEN_VIEW);
	view.attachViewPlatform(viewPlatform);
	// physical body
	PhysicalBody phyBody = new PhysicalBody();
	view.setPhysicalBody(phyBody);
	// physical environment
	PhysicalEnvironment phyEnv = new PhysicalEnvironment();
	view.setPhysicalEnvironment(phyEnv);
	// ???? pas compris , pour l'antiliasing
	GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D();
	template.setSceneAntialiasing(GraphicsConfigTemplate.PREFERRED);
	GraphicsConfiguration config = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getBestConfiguration(template);
	// antialiasing
	view.setSceneAntialiasingEnable(true);
	/*
	 * to add a onscreen canvas canvas3d = new Canvas3D(config);
	 * view.addCanvas3D(canvas3d);
	 */
	// attach offscreen canvas to the view
	offscreenCanvas3D = new OffScreenCanvas3D(config);
	offscreenCanvas3D.getScreen3D().setSize(imageWidth, imageWidth);
	offscreenCanvas3D.getScreen3D().setPhysicalScreenHeight(0.5);
	offscreenCanvas3D.getScreen3D().setPhysicalScreenWidth(0.5);
	view.addCanvas3D(offscreenCanvas3D);
	addChild(viewPlatform);
	// turn canvas in front of X axis
	rotateY(-Math.PI / 2);
}
 
开发者ID:glaudiston,项目名称:project-bianca,代码行数:38,代码来源:Eye.java

示例9: Renderer

import javax.media.j3d.View; //导入依赖的package包/类
public Renderer(View vw, Context ctx, Volume vol)
{
	view = vw;
	context = ctx;
	volume = vol;
	// debug = Boolean.getBoolean("debug");
	// timing = Boolean.getBoolean("timing");
}
 
开发者ID:TOMIGalway,项目名称:cmoct-sourcecode,代码行数:9,代码来源:Renderer.java

示例10: SlicePlane3DRenderer

import javax.media.j3d.View; //导入依赖的package包/类
public SlicePlane3DRenderer(View view, Context context, Volume vol)
{
	super(view, context, vol);
	texVol = new Texture3DVolume(context, vol);

	TransparencyAttributes transAttr = new TransparencyAttributes();
	transAttr.setTransparencyMode(TransparencyAttributes.BLENDED);
	texAttr = new TextureAttributes();
	texAttr.setTextureMode(TextureAttributes.MODULATE);
	texAttr.setCapability(TextureAttributes.ALLOW_COLOR_TABLE_WRITE);
	Material m = new Material();
	m.setLightingEnable(false);
	PolygonAttributes p = new PolygonAttributes();
	p.setCullFace(PolygonAttributes.CULL_NONE);
	p.setPolygonOffset(1.0f);
	p.setPolygonOffsetFactor(1.0f);
	appearance = new Appearance();
	appearance.setMaterial(m);
	appearance.setTextureAttributes(texAttr);
	appearance.setTransparencyAttributes(transAttr);
	appearance.setPolygonAttributes(p);
	appearance.setCapability(Appearance.ALLOW_TEXTURE_WRITE);
	appearance.setCapability(Appearance.ALLOW_TEXGEN_WRITE);

	shape = new Shape3D(null, appearance);
	shape.setCapability(Shape3D.ALLOW_GEOMETRY_READ);
	shape.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);

	root.addChild(shape);
}
 
开发者ID:TOMIGalway,项目名称:cmoct-sourcecode,代码行数:31,代码来源:SlicePlane3DRenderer.java

示例11: SlicePlaneRenderer

import javax.media.j3d.View; //导入依赖的package包/类
public SlicePlaneRenderer(View view, Context context, Volume vol)
{
	super(view, context, vol);
	volRefPtAttr = (CoordAttr) context.getAttr("Vol Ref Pt");

	root = new BranchGroup();

	// subclasses add the slice geometry to root

	borderSwitch = new Switch(Switch.CHILD_ALL);
	borderSwitch.setCapability(Switch.ALLOW_SWITCH_WRITE);

	RenderingAttributes ra = new RenderingAttributes();
	ra.setDepthBufferEnable(true);
	ColoringAttributes bclr = new ColoringAttributes(0.4f, 0.4f, 0.4f,
			ColoringAttributes.SHADE_FLAT);
	Appearance ba = new Appearance();
	ba.setColoringAttributes(bclr);
	ba.setRenderingAttributes(ra);

	borderShape = new Shape3D(null, ba);
	borderShape.setCapability(Shape3D.ALLOW_GEOMETRY_WRITE);

	borderSwitch.addChild(borderShape);

	root.addChild(borderSwitch);

	root.setCapability(BranchGroup.ALLOW_DETACH);
	root.setCapability(Node.ALLOW_LOCAL_TO_VWORLD_READ);
}
 
开发者ID:TOMIGalway,项目名称:cmoct-sourcecode,代码行数:31,代码来源:SlicePlaneRenderer.java

示例12: SlicePlane2DRenderer

import javax.media.j3d.View; //导入依赖的package包/类
public SlicePlane2DRenderer(View view, Context context, Volume vol)
{
	super(view, context, vol);
	texVol = new Texture2DVolume(context, vol);

	for (int i = 0; i < 4; i++)
	{
		shapeColrs[i] = new Color4f();
	}

	texAttr.setTextureMode(TextureAttributes.MODULATE);
	texAttr.setCapability(TextureAttributes.ALLOW_COLOR_TABLE_WRITE);
	trans.setTransparencyMode(TransparencyAttributes.BLENDED);
	trans.setSrcBlendFunction(TransparencyAttributes.BLEND_ONE);
	trans.setDstBlendFunction(TransparencyAttributes.BLEND_ONE);
	m.setLightingEnable(false);
	p.setCullFace(PolygonAttributes.CULL_NONE);
	r.setDepthBufferWriteEnable(false);

	// these are the default for no texture
	trans.setTransparency(0.0f);
	clr.setColor(0.0f, 0.0f, 0.0f);

	// set up an initial, empty slice
	sliceGroup.setCapability(Group.ALLOW_CHILDREN_READ);
	sliceGroup.setCapability(Group.ALLOW_CHILDREN_WRITE);
	sliceGroup.addChild(null);
	root.addChild(sliceGroup);
	numSlicePts = 0;
	setSliceGeo();
}
 
开发者ID:TOMIGalway,项目名称:cmoct-sourcecode,代码行数:32,代码来源:SlicePlane2DRenderer.java

示例13: setPerspective

import javax.media.j3d.View; //导入依赖的package包/类
@Override
    public void setPerspective( double fov, double aspectRatio, double near, double far )
    {
        view .setProjectionPolicy( View.PERSPECTIVE_PROJECTION );
        view .setScreenScale( 1d );
        view .setFieldOfView( fov );
//        mLeftEyeView .setProjectionPolicy( View.PERSPECTIVE_PROJECTION );
//        mLeftEyeView .setScreenScale( 1d );
//        mLeftEyeView .setFieldOfView( fov );
        setDistances( near, far );
    }
 
开发者ID:vZome,项目名称:vzome-desktop,代码行数:12,代码来源:Java3dRenderingViewer.java

示例14: setOrthographic

import javax.media.j3d.View; //导入依赖的package包/类
@Override
    public void setOrthographic( double halfEdge, double near, double far )
    {
        view .setProjectionPolicy( View.PARALLEL_PROJECTION );
        view .setScreenScale( 1 / ( 6 * halfEdge ) );  // WHY 6???
//        mLeftEyeView .setProjectionPolicy( View.PARALLEL_PROJECTION );
//        mLeftEyeView .setScreenScale( 1 / ( 6 * halfEdge ) );  // WHY 6???
        setDistances( near, far );
    }
 
开发者ID:vZome,项目名称:vzome-desktop,代码行数:10,代码来源:Java3dRenderingViewer.java

示例15: createViewPlatform

import javax.media.j3d.View; //导入依赖的package包/类
void createViewPlatform() {
  // viewplatform
  viewPlatform = new ViewPlatform();
  viewPlatform.setActivationRadius(100f);
  viewPlatform.setViewAttachPolicy(View.NOMINAL_HEAD);
  // view
  view = new View();

  view.setProjectionPolicy(View.PERSPECTIVE_PROJECTION);
  view.setViewPolicy(View.SCREEN_VIEW);
  view.attachViewPlatform(viewPlatform);
  // physical body
  PhysicalBody phyBody = new PhysicalBody();
  view.setPhysicalBody(phyBody);
  // physical environment
  PhysicalEnvironment phyEnv = new PhysicalEnvironment();
  view.setPhysicalEnvironment(phyEnv);
  // ???? pas compris , pour l'antiliasing
  GraphicsConfigTemplate3D template = new GraphicsConfigTemplate3D();
  template.setSceneAntialiasing(GraphicsConfigTemplate.PREFERRED);
  GraphicsConfiguration config = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getBestConfiguration(template);
  // antialiasing
  view.setSceneAntialiasingEnable(true);
  /*
   * to add a onscreen canvas canvas3d = new Canvas3D(config);
   * view.addCanvas3D(canvas3d);
   */
  // attach offscreen canvas to the view
  offscreenCanvas3D = new OffScreenCanvas3D(config);
  offscreenCanvas3D.getScreen3D().setSize(imageWidth, imageWidth);
  offscreenCanvas3D.getScreen3D().setPhysicalScreenHeight(0.5);
  offscreenCanvas3D.getScreen3D().setPhysicalScreenWidth(0.5);
  view.addCanvas3D(offscreenCanvas3D);
  addChild(viewPlatform);
  // turn canvas in front of X axis
  rotateY(-Math.PI / 2);
}
 
开发者ID:MyRobotLab,项目名称:myrobotlab,代码行数:38,代码来源:Eye.java


注:本文中的javax.media.j3d.View类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。