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


Java PolygonAttributes.setBackFaceNormalFlip方法代码示例

本文整理汇总了Java中javax.media.j3d.PolygonAttributes.setBackFaceNormalFlip方法的典型用法代码示例。如果您正苦于以下问题:Java PolygonAttributes.setBackFaceNormalFlip方法的具体用法?Java PolygonAttributes.setBackFaceNormalFlip怎么用?Java PolygonAttributes.setBackFaceNormalFlip使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.media.j3d.PolygonAttributes的用法示例。


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

示例1: setBackFaceNormalFlip

import javax.media.j3d.PolygonAttributes; //导入方法依赖的package包/类
/**
 * Sets whether all <code>Shape3D</code> children nodes of <code>node</code> should have 
 * their normal flipped or not.
 * Caution !!! Should be executed only once per instance 
 * @param backFaceNormalFlip <code>true</code> if normals should be flipped.
 */
private void setBackFaceNormalFlip(Node node, boolean backFaceNormalFlip)
{
	if (node instanceof Group)
	{
		// Set back face normal flip of all children
		Enumeration<?> enumeration = ((Group) node).getAllChildren();
		while (enumeration.hasMoreElements())
		{
			setBackFaceNormalFlip((Node) enumeration.nextElement(), backFaceNormalFlip);
		}
	}
	else if (node instanceof Link)
	{
		setBackFaceNormalFlip(((Link) node).getSharedGroup(), backFaceNormalFlip);
	}
	else if (node instanceof Shape3D)
	{
		Appearance appearance = ((Shape3D) node).getAppearance();
		if (appearance == null)
		{
			appearance = createAppearanceWithChangeCapabilities();
			((Shape3D) node).setAppearance(appearance);
		}
		PolygonAttributes polygonAttributes = appearance.getPolygonAttributes();
		if (polygonAttributes == null)
		{
			polygonAttributes = createPolygonAttributesWithChangeCapabilities();
			appearance.setPolygonAttributes(polygonAttributes);
		}
		
		// Change back face normal flip
		polygonAttributes.setBackFaceNormalFlip(
				backFaceNormalFlip ^ polygonAttributes.getCullFace() == PolygonAttributes.CULL_FRONT);
	}
}
 
开发者ID:valsr,项目名称:SweetHome3D,代码行数:42,代码来源:HomePieceOfFurniture3D.java

示例2: generateMaterial

import javax.media.j3d.PolygonAttributes; //导入方法依赖的package包/类
/**
 * Missing setSmoothness et ambientIntensity
 * 
 * @param X3Dmaterial
 * @return
 */
private void generateMaterial(CG_X3DMaterial X3Dmaterial) {

	// Autorisations pour l'apparence
	this.apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_READ);
	this.apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_WRITE);

	// Autorisations pour le material
	this.apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_READ);
	this.apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_WRITE);

	this.apparenceFinale.setCapability(Appearance.ALLOW_TEXTURE_ATTRIBUTES_READ);
	this.apparenceFinale.setCapability(Appearance.ALLOW_TEXTURE_ATTRIBUTES_WRITE);

	this.apparenceFinale.setCapability(Appearance.ALLOW_TEXTURE_WRITE);

	// Création des attributs du polygone
	PolygonAttributes pa = new PolygonAttributes();

	pa.setCullFace(PolygonAttributes.CULL_NONE);
	pa.setCapability(PolygonAttributes.ALLOW_CULL_FACE_WRITE);

	// Indique que l'on est en mode surfacique
	pa.setPolygonMode(PolygonAttributes.POLYGON_FILL);

	pa.setBackFaceNormalFlip(false);

	// Association à l'apparence des attributs de géométrie et de material
	this.apparenceFinale.setPolygonAttributes(pa);

	Material material = new Material();
	material.setShininess(X3Dmaterial.getShininess().floatValue());
	material.setSpecularColor(X3Dmaterial.getSpecularColor());
	material.setDiffuseColor(X3Dmaterial.getDiffuseColor());
	material.setEmissiveColor(X3Dmaterial.getEmissiveColor());
	this.apparenceFinale.setMaterial(material);

	if (X3Dmaterial.getTransparency() != 0) {

		TransparencyAttributes t_attr = new TransparencyAttributes(TransparencyAttributes.BLENDED,
				X3Dmaterial.getTransparency().floatValue(), TransparencyAttributes.BLEND_SRC_ALPHA,
				TransparencyAttributes.BLENDED);
		this.apparenceFinale.setTransparencyAttributes(t_attr);
	}

	CG_StyleGenerator.lMaterial.add(X3Dmaterial);
	CG_StyleGenerator.lAppearance.add(this.apparenceFinale);

}
 
开发者ID:IGNF,项目名称:geoxygene,代码行数:55,代码来源:CG_StyleGenerator.java

示例3: generateAppearance

import javax.media.j3d.PolygonAttributes; //导入方法依赖的package包/类
/**
 * Génère l'apparence à appliquer à la géométrie
 * 
 * @param isClrd
 * @param color
 * @param coefOpacity
 * @param isSolid
 * @return
 */
private Appearance generateAppearance(boolean isClrd, Color color,
    double coefOpacity, boolean isSolid) {

  // Création de l'apparence
  Appearance apparenceFinale = new Appearance();

  // Autorisations pour l'apparence
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_WRITE);

  // Autorisations pour le material
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_WRITE);

  // Création des attributs du polygone
  PolygonAttributes pa = new PolygonAttributes();

  pa.setCullFace(PolygonAttributes.CULL_NONE);
  pa.setCapability(PolygonAttributes.ALLOW_CULL_FACE_WRITE);

  if (isSolid) {
    // Indique que l'on est en mode surfacique
    pa.setPolygonMode(PolygonAttributes.POLYGON_FILL);

    // Indique que l'on n'affiche pas les faces cachées
    if (ConstantRepresentation.cullMode) {
      pa.setCullFace(PolygonAttributes.CULL_BACK);

    }

  } else {
    // Indique que l'on est en mode filaire
    pa.setPolygonMode(PolygonAttributes.POLYGON_LINE);

  }
  pa.setCullFace(PolygonAttributes.CULL_NONE);
  pa.setBackFaceNormalFlip(false);

  // Association à l'apparence des attributs de géométrie et de material
  apparenceFinale.setPolygonAttributes(pa);

  if (isClrd) {
    Color3f couleur3F = new Color3f(color);
    // Création du material (gestion des couleurs et de l'affichage)

    Material material = new Material();

    material.setAmbientColor(couleur3F);
    material.setDiffuseColor(couleur3F);
    material.setEmissiveColor(couleur3F);
    material.setLightingEnable(true);
    material.setSpecularColor(couleur3F);
    material.setShininess(1);

    apparenceFinale.setMaterial(material);

  }

  if (coefOpacity != 1) {

    TransparencyAttributes t_attr =

    new TransparencyAttributes(TransparencyAttributes.FASTEST,
        (float) (1 - coefOpacity));
    apparenceFinale.setTransparencyAttributes(t_attr);

  }
  return apparenceFinale;

}
 
开发者ID:IGNF,项目名称:geoxygene,代码行数:80,代码来源:ObjectCartoon.java

示例4: generateAppearance

import javax.media.j3d.PolygonAttributes; //导入方法依赖的package包/类
/**
 * Génère l'apparence à appliquer à la géométrie
 * 
 * @param isClrd
 * @param color
 * @param coefOpacity
 * @param isSolid
 * @return
 */
private Appearance generateAppearance(boolean isClrd, Color color,
    double coefOpacity, boolean isSolid) {

  // Création de l'apparence
  Appearance apparenceFinale = new Appearance();

  // Autorisations pour l'apparence
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_WRITE);

  // Autorisations pour le material
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_WRITE);

  // Création des attributs du polygone
  PolygonAttributes pa = new PolygonAttributes();

  pa.setCullFace(PolygonAttributes.CULL_NONE);
  pa.setCapability(PolygonAttributes.ALLOW_CULL_FACE_WRITE);

  if (isSolid) {
    // Indique que l'on est en mode surfacique
    pa.setPolygonMode(PolygonAttributes.POLYGON_FILL);

    // Indique que l'on n'affiche pas les faces cachées

  } else {
    // Indique que l'on est en mode filaire
    pa.setPolygonMode(PolygonAttributes.POLYGON_LINE);

  }

  pa.setBackFaceNormalFlip(false);

  // Association à l'apparence des attributs de géométrie et de material
  apparenceFinale.setPolygonAttributes(pa);

  if (isClrd) {
    Color3f couleur3F = new Color3f(color);
    // Création du material (gestion des couleurs et de l'affichage)
    Material material = new Material();
    material.setAmbientColor(couleur3F);
    material.setDiffuseColor(couleur3F);
    material.setSpecularColor(couleur3F);
    material.setEmissiveColor(couleur3F);
    material.setShininess(1);
    apparenceFinale.setMaterial(material);

  }

  if (coefOpacity != 1) {

    TransparencyAttributes t_attr = new TransparencyAttributes(
        TransparencyAttributes.BLENDED, (float) coefOpacity,
        TransparencyAttributes.BLEND_SRC_ALPHA,
        TransparencyAttributes.BLENDED);
    apparenceFinale.setTransparencyAttributes(t_attr);
  }

  return apparenceFinale;

}
 
开发者ID:IGNF,项目名称:geoxygene,代码行数:72,代码来源:NPA.java

示例5: generateAppearance

import javax.media.j3d.PolygonAttributes; //导入方法依赖的package包/类
/**
 * Génère l'apparence à appliquer à la géométrie
 * 
 * @param isClrd
 * @param color
 * @param coefTransp
 * @param isSolid
 * @return
 */
private Appearance generateAppearance(boolean isClrd, Color color,
    double coefTransp, boolean isSolid) {

  // Création de l'apparence
  Appearance apparenceFinale = new Appearance();

  // Autorisations pour l'apparence
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_WRITE);

  // Autorisations pour le material
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_WRITE);

  // Création des attributs du polygone
  PolygonAttributes pa = new PolygonAttributes();

  pa.setCullFace(PolygonAttributes.CULL_NONE);
  pa.setCapability(PolygonAttributes.ALLOW_CULL_FACE_WRITE);

  if (isSolid) {
    // Indique que l'on est en mode surfacique
    pa.setPolygonMode(PolygonAttributes.POLYGON_FILL);

    // Indique que l'on n'affiche pas les faces cachées
    if (ConstantRepresentation.cullMode) {
      pa.setCullFace(PolygonAttributes.CULL_BACK);

    }

  } else {
    // Indique que l'on est en mode filaire
    pa.setPolygonMode(PolygonAttributes.POLYGON_LINE);

  }

  pa.setBackFaceNormalFlip(false);

  // Association à l'apparence des attributs de géométrie et de material
  apparenceFinale.setPolygonAttributes(pa);

  if (isClrd) {
    Color3f couleur3F = new Color3f(color);
    // Création du material (gestion des couleurs et de l'affichage)
    Material material = new Material();

    material.setDiffuseColor(couleur3F);
    material.setSpecularColor(new Color3f(color.brighter()));
    material.setAmbientColor(new Color3f(color.darker()));
    material.setEmissiveColor(new Color3f(color.darker()));
    material.setShininess(128);
    
    apparenceFinale.setMaterial(material);

  }

  if (coefTransp != 1) {

    TransparencyAttributes t_attr = new TransparencyAttributes(
        TransparencyAttributes.BLENDED, (float) coefTransp,
        TransparencyAttributes.BLEND_SRC_ALPHA,
        TransparencyAttributes.BLENDED);
    apparenceFinale.setTransparencyAttributes(t_attr);
  }

  return apparenceFinale;

}
 
开发者ID:IGNF,项目名称:geoxygene,代码行数:78,代码来源:Object2d.java

示例6: generateAppearance

import javax.media.j3d.PolygonAttributes; //导入方法依赖的package包/类
/**
 * Génère l'apparence à appliquer à la géométrie
 * 
 * @param isClrd
 * @param color
 * @param coefTransp
 * @param isSolid
 * @return
 */
private Appearance generateAppearance(boolean isClrd, Color color,
    double coefTransp, boolean isSolid) {

  // Création de l'apparence
  Appearance apparenceFinale = new Appearance();

  // Autorisations pour l'apparence
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_WRITE);

  // Autorisations pour le material
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_WRITE);

  // Création des attributs du polygone
  PolygonAttributes pa = new PolygonAttributes();

  pa.setCullFace(PolygonAttributes.CULL_NONE);
  pa.setCapability(PolygonAttributes.ALLOW_CULL_FACE_WRITE);

  if (isSolid) {
    // Indique que l'on est en mode surfacique
    pa.setPolygonMode(PolygonAttributes.POLYGON_FILL);

    // Indique que l'on n'affiche pas les faces cachées
    if (ConstantRepresentation.cullMode) {
      pa.setCullFace(PolygonAttributes.CULL_BACK);

    }

  } else {
    // Indique que l'on est en mode filaire
    pa.setPolygonMode(PolygonAttributes.POLYGON_LINE);

  }

  pa.setBackFaceNormalFlip(false);

  // Association à l'apparence des attributs de géométrie et de material
  apparenceFinale.setPolygonAttributes(pa);

  if (isClrd) {
    Color3f couleur3F = new Color3f(color);
    // Création du material (gestion des couleurs et de l'affichage)
    Material material = new Material();

    material.setDiffuseColor(couleur3F);
    material.setSpecularColor(new Color3f(color.brighter()));
    material.setAmbientColor(new Color3f(color.darker()));
    material.setShininess(128);
    
    apparenceFinale.setMaterial(material);

  }

  if (coefTransp != 1) {

    TransparencyAttributes t_attr = new TransparencyAttributes(
        TransparencyAttributes.BLENDED, (float) coefTransp,
        TransparencyAttributes.BLEND_SRC_ALPHA,
        TransparencyAttributes.BLENDED);
    apparenceFinale.setTransparencyAttributes(t_attr);
  }

  return apparenceFinale;

}
 
开发者ID:IGNF,项目名称:geoxygene,代码行数:77,代码来源:Object3d.java

示例7: initBGSel

import javax.media.j3d.PolygonAttributes; //导入方法依赖的package包/类
/**
 * Permet de créer un BranchGroup contenant une sphère Elle servira à indiquer
 * si un objet est selectionné
 */
private void initBGSel() {
  // On initialise la selection
  // On récupère la sphère englobante de l'objet
  BoundingSphere bs = new BoundingSphere(this.bGRep.getBounds());
  Point3d pt = new Point3d();
  bs.getCenter(pt);
  // On place le sphère aux bonnes coordonnées
  Transform3D translate = new Transform3D();
  translate.set(new Vector3f((float) pt.getX(), (float) pt.getY(), (float) pt
      .getZ()));

  // Création de l'apparence
  Appearance apparenceFinale = new Appearance();

  // Autorisations pour l'apparence
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_WRITE);

  // Autorisations pour le material
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_WRITE);

  // Création des attributs du polygone
  PolygonAttributes pa = new PolygonAttributes();

  pa.setCullFace(PolygonAttributes.CULL_NONE);
  pa.setCapability(PolygonAttributes.ALLOW_CULL_FACE_WRITE);

  // Indique que l'on est en mode surfacique
  pa.setPolygonMode(PolygonAttributes.POLYGON_FILL);

  pa.setCullFace(PolygonAttributes.CULL_BACK);

  pa.setBackFaceNormalFlip(false);

  Color3f couleur3F = new Color3f(ConstantRepresentation.selectionColor);
  // Création du material (gestion des couleurs et de l'affichage)
  Material material = new Material();
  material.setAmbientColor(couleur3F.x / 2, couleur3F.y / 2, couleur3F.z / 2);
  material.setDiffuseColor(couleur3F);
  material.setSpecularColor(new Color3f(1.0f, 1.0f, 1.0f));
  material.setShininess(128);
  apparenceFinale.setMaterial(material);

  // On applique l'apparence à la sphère
  Sphere sphere = new Sphere((float) bs.getRadius(), apparenceFinale);

  TransparencyAttributes t_attr = new TransparencyAttributes(
      TransparencyAttributes.BLENDED, (float) 0.5,
      TransparencyAttributes.BLEND_SRC_ALPHA, TransparencyAttributes.BLENDED);
  apparenceFinale.setTransparencyAttributes(t_attr);

  TransformGroup TG1 = new TransformGroup(translate);
  TG1.addChild(sphere);

  this.bgSel = new BranchGroup();
  this.bgSel.setCapability(BranchGroup.ALLOW_DETACH);
  this.bgSel.addChild(TG1);

}
 
开发者ID:IGNF,项目名称:geoxygene,代码行数:65,代码来源:Default3DRep.java

示例8: generateAppearance

import javax.media.j3d.PolygonAttributes; //导入方法依赖的package包/类
/**
 * Génère l'apparence de l'objet
 * 
 * @return
 */
private Appearance generateAppearance() {

  // Création de l'apparence
  Appearance apparenceFinale = new Appearance();

  // Autorisations pour l'apparence
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_WRITE);

  // Autorisations pour le material

  apparenceFinale.setCapability(Appearance.ALLOW_COLORING_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_COLORING_ATTRIBUTES_WRITE);

  apparenceFinale.setCapability(Appearance.ALLOW_TEXTURE_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_TEXTURE_ATTRIBUTES_WRITE);

  apparenceFinale.setCapability(Appearance.ALLOW_TEXTURE_WRITE);

  apparenceFinale.setCapability(Appearance.ALLOW_COLORING_ATTRIBUTES_WRITE);

  apparenceFinale.setTexture(this.texture);
  apparenceFinale.setTextureAttributes(new TextureAttributes());

  // Création des attributs du polygone
  PolygonAttributes pa = new PolygonAttributes();

  pa.setCullFace(PolygonAttributes.CULL_NONE);
  pa.setCapability(PolygonAttributes.ALLOW_CULL_FACE_WRITE);

  pa.setBackFaceNormalFlip(false);

  // Association à l'apparence des attributs de géométrie et de material
  apparenceFinale.setPolygonAttributes(pa);

  return apparenceFinale;

}
 
开发者ID:IGNF,项目名称:geoxygene,代码行数:44,代码来源:TexturedSurface.java

示例9: generateAppearance

import javax.media.j3d.PolygonAttributes; //导入方法依赖的package包/类
/**
 * Permet de créer l'apparence en fonction de paramètres Dans le cadre d'un
 * ponctuel, certains paramètres n'ont aucun sens
 * 
 * @param isColored
 * @param color
 * @param coefficientTransparence
 * @param isRepresentationSolid
 * @return
 */
private static Appearance generateAppearance(Color color, double coefOpacity,
    boolean isSolid) {

  // Création de l'apparence
  Appearance apparenceFinale = new Appearance();

  // Autorisations pour l'apparence
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_WRITE);

  // Autorisations pour le material
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_WRITE);
  apparenceFinale.setCapability(Appearance.ALLOW_COLORING_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_COLORING_ATTRIBUTES_WRITE);

  // Création du material (gestion des couleurs et de l'affichage)
  Material material = new Material();

  material.setAmbientColor(0.2f, 0.2f, 0.2f);
  material.setDiffuseColor(new Color3f(color));
  material.setSpecularColor(new Color3f(color));
  material.setShininess(128);

  // et de material
  apparenceFinale.setMaterial(material);

  if (coefOpacity != 1) {

    TransparencyAttributes t_attr =

    new TransparencyAttributes(TransparencyAttributes.BLENDED,
        (float) coefOpacity,

        TransparencyAttributes.BLEND_SRC_ALPHA,

        TransparencyAttributes.BLENDED);

    apparenceFinale.setTransparencyAttributes(t_attr);
  }

  // Création des attributs du polygone
  PolygonAttributes pa = new PolygonAttributes();

  pa.setCullFace(PolygonAttributes.CULL_NONE);
  pa.setCapability(PolygonAttributes.ALLOW_CULL_FACE_WRITE);

  if (isSolid) {

    pa.setPolygonMode(PolygonAttributes.POLYGON_FILL);

    if (ConstantRepresentation.cullMode) {
      pa.setCullFace(PolygonAttributes.CULL_BACK);

    }

  } else {

    pa.setPolygonMode(PolygonAttributes.POLYGON_LINE);

  }

  pa.setBackFaceNormalFlip(false);

  // Association à l'apparence des attributs de géométrie et de material
  apparenceFinale.setPolygonAttributes(pa);

  return apparenceFinale;

}
 
开发者ID:IGNF,项目名称:geoxygene,代码行数:81,代码来源:Compass.java

示例10: generateApparence

import javax.media.j3d.PolygonAttributes; //导入方法依赖的package包/类
/**
 * Permet de créer l'apparence en fonction de paramètres Dans le cadre d'un
 * ponctuel, certains paramètres n'ont aucun sens
 * 
 * @param color couleur
 * @param coefOpacity coefficient d'opacité
 * @param isSolid mode solide
 * @return
 */
private static Appearance generateApparence(Color color, double coefOpacity,
    boolean isSolid) {

  // Création de l'apparence
  Appearance apparenceFinale = new Appearance();

  // Autorisations pour l'apparence
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_WRITE);

  // Autorisations pour le material
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_MATERIAL_WRITE);
  apparenceFinale.setCapability(Appearance.ALLOW_COLORING_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_COLORING_ATTRIBUTES_WRITE);

  // Création du material (gestion des couleurs et de l'affichage)
  Material material = new Material();

  Color3f col3f = new Color3f(color);

  material.setAmbientColor(col3f);
  material.setDiffuseColor(col3f);
  material.setEmissiveColor(col3f);
  material.setLightingEnable(true);
  material.setSpecularColor(col3f);
  material.setShininess(1);

  // et de material
  apparenceFinale.setMaterial(material);

  if (coefOpacity != 1) {

    TransparencyAttributes t_attr =

    new TransparencyAttributes(TransparencyAttributes.NICEST,
        (float) (1 - coefOpacity));

    apparenceFinale.setTransparencyAttributes(t_attr);
  }

  // Création des attributs du polygone
  PolygonAttributes pa = new PolygonAttributes();

  pa.setCullFace(PolygonAttributes.CULL_NONE);
  pa.setCapability(PolygonAttributes.ALLOW_CULL_FACE_WRITE);

  if (isSolid) {

    pa.setPolygonMode(PolygonAttributes.POLYGON_FILL);

    if (ConstantRepresentation.cullMode) {
      pa.setCullFace(PolygonAttributes.CULL_BACK);

    }

  } else {

    pa.setPolygonMode(PolygonAttributes.POLYGON_LINE);

  }

  pa.setBackFaceNormalFlip(false);

  // Association à l'apparence des attributs de géométrie et de material
  apparenceFinale.setPolygonAttributes(pa);

  return apparenceFinale;

}
 
开发者ID:IGNF,项目名称:geoxygene,代码行数:80,代码来源:Level.java

示例11: generateAppearance

import javax.media.j3d.PolygonAttributes; //导入方法依赖的package包/类
/**
 * Génère une apparence et gère le style en fonction du fait que c'est un mur
 * ou pas
 * 
 * @param isRoof indique si c'est un toit
 * @return
 */
private Appearance generateAppearance(boolean isRoof) {

  // Création de l'apparence
  Appearance apparenceFinale = new Appearance();

  // Autorisations pour l'apparence
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_POLYGON_ATTRIBUTES_WRITE);

  // Autorisations pour le material

  apparenceFinale.setCapability(Appearance.ALLOW_COLORING_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_COLORING_ATTRIBUTES_WRITE);

  apparenceFinale.setCapability(Appearance.ALLOW_TEXTURE_ATTRIBUTES_READ);
  apparenceFinale.setCapability(Appearance.ALLOW_TEXTURE_ATTRIBUTES_WRITE);

  apparenceFinale.setCapability(Appearance.ALLOW_TEXTURE_WRITE);

  apparenceFinale.setCapability(Appearance.ALLOW_COLORING_ATTRIBUTES_WRITE);
  // Le toit influe sur la texture
  if (isRoof) {

    apparenceFinale.setTexture(this.roofTexture);
  } else {

    apparenceFinale.setTexture(this.wallTexture);
  }

  apparenceFinale.setTextureAttributes(new TextureAttributes());

  // Création des attributs du polygone
  PolygonAttributes pa = new PolygonAttributes();

  pa.setCullFace(PolygonAttributes.CULL_NONE);
  pa.setCapability(PolygonAttributes.ALLOW_CULL_FACE_WRITE);

  pa.setBackFaceNormalFlip(false);

  // Association à l'apparence des attributs de géométrie et de material
  apparenceFinale.setPolygonAttributes(pa);

  return apparenceFinale;

}
 
开发者ID:IGNF,项目名称:geoxygene,代码行数:53,代码来源:BuildingTexture.java


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