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


Java Point3i类代码示例

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


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

示例1: fillEllipsoid

import javax.vecmath.Point3i; //导入依赖的package包/类
public void fillEllipsoid(Point3f center, Point3f[] points, int x, int y,
                            int z, int diameter, Matrix3f mToEllipsoidal,
                            double[] coef, Matrix4f mDeriv,
                            int selectedOctant, Point3i[] octantPoints) {
  switch (diameter) {
  case 1:
    plotPixelClipped(argbCurrent, x, y, z);
    return;
  case 0:
    return;
  }
  if (diameter <= (antialiasThisFrame ? Sphere3D.maxSphereDiameter2
      : Sphere3D.maxSphereDiameter))
    sphere3d.render(shadesCurrent, !addAllPixels, diameter, x, y, z,
        mToEllipsoidal, coef, mDeriv, selectedOctant, octantPoints);
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:17,代码来源:Graphics3D.java

示例2: drawTriangle

import javax.vecmath.Point3i; //导入依赖的package包/类
public void drawTriangle(Point3i screenA, Point3i screenB, Point3i screenC,
                         int check) {
  // primary method for unmapped monochromatic Mesh
  if ((check & 1) == 1)
    line3d.plotLine(argbCurrent, !addAllPixels, argbCurrent, !addAllPixels,
        screenA.x, screenA.y, screenA.z, screenB.x, screenB.y, screenB.z,
        true);
  if ((check & 2) == 2)
    line3d.plotLine(argbCurrent, !addAllPixels, argbCurrent, !addAllPixels,
        screenB.x, screenB.y, screenB.z, screenC.x, screenC.y, screenC.z,
        true);
  if ((check & 4) == 4)
    line3d.plotLine(argbCurrent, !addAllPixels, argbCurrent, !addAllPixels,
        screenA.x, screenA.y, screenA.z, screenC.x, screenC.y, screenC.z,
        true);
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:17,代码来源:Graphics3D.java

示例3: fillTriangle

import javax.vecmath.Point3i; //导入依赖的package包/类
public void fillTriangle(Point3i screenA, short colixA,
                                 short normixA, Point3i screenB,
                                 short colixB, short normixB,
                                 Point3i screenC, short colixC,
                                 short normixC, float factor) {
  // isosurface test showing triangles
  boolean useGouraud;
  if (!isPass2 && normixA == normixB && normixA == normixC && colixA == colixB
      && colixA == colixC) {
    setTriangleColixAndShadeIndex(colixA, normix3d.getShadeIndex(normixA));
    useGouraud = false;
  } else {
    if (!setTriangleTranslucency(colixA, colixB, colixC))
      return;
    triangle3d.setGouraud(getShades(colixA)[normix3d.getShadeIndex(normixA)],
        getShades(colixB)[normix3d.getShadeIndex(normixB)],
        getShades(colixC)[normix3d.getShadeIndex(normixC)]);
    useGouraud = true;
  }
  triangle3d.fillTriangle(screenA, screenB, screenC, factor,
      useGouraud);
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:23,代码来源:Graphics3D.java

示例4: setNoisySurfaceShade

import javax.vecmath.Point3i; //导入依赖的package包/类
/**
 *  used by CartoonRenderer (DNA surface) and GeoSurfaceRenderer (face) to
 *  assign a noisy shade to the surface it will render
 * @param screenA 
 * @param screenB 
 * @param screenC 
 */
public void setNoisySurfaceShade(Point3i screenA, Point3i screenB, Point3i screenC) {
  vectorAB.set(screenB.x - screenA.x, screenB.y - screenA.y, screenB.z
      - screenA.z);
  int shadeIndex;
  if (screenC == null) {
    shadeIndex = Shade3D.getShadeIndex(-vectorAB.x, -vectorAB.y, vectorAB.z);
  } else {
    vectorAC.set(screenC.x - screenA.x, screenC.y - screenA.y, screenC.z
        - screenA.z);
    vectorAB.cross(vectorAB, vectorAC);
    shadeIndex = vectorAB.z >= 0 ? Shade3D.getShadeIndex(-vectorAB.x,
        -vectorAB.y, vectorAB.z) : Shade3D.getShadeIndex(vectorAB.x,
        vectorAB.y, -vectorAB.z);
  }
  if (shadeIndex > Shade3D.shadeIndexNoisyLimit)
    shadeIndex = Shade3D.shadeIndexNoisyLimit;
  setColorNoisy(shadeIndex);
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:26,代码来源:Graphics3D.java

示例5: fillTriangle

import javax.vecmath.Point3i; //导入依赖的package包/类
void fillTriangle(Point3i screenA, Point3i screenB, Point3i screenC,
                  float factor, boolean useGouraud) {
  ax[0] = screenA.x;
  ax[1] = screenB.x;
  ax[2] = screenC.x;
  ay[0] = screenA.y;
  ay[1] = screenB.y;
  ay[2] = screenC.y;
  az[0] = screenA.z;
  az[1] = screenB.z;
  az[2] = screenC.z;
  adjustVertex(ax, factor);
  adjustVertex(ay, factor);
  adjustVertex(az, factor);
  fillTriangle(useGouraud);
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:17,代码来源:Triangle3D.java

示例6: extractVectorInfo

import javax.vecmath.Point3i; //导入依赖的package包/类
private String extractVectorInfo(String name) {
  // (nx ny nz)  where n is 1/12 of the edge. 
  // also allows for (nz), though that is not standard
  vector12ths = new Point3i();
  vectorCode = "";
  int i = name.indexOf("(");
  int j = name.indexOf(")", i);
  if (i > 0 && j > i) {
    String term = name.substring(i + 1, j);
    vectorCode = " (" + term + ")";
    name = name.substring(0, i).trim();
    i = term.indexOf(" ");
    if (i >= 0) {
      vector12ths.x = Integer.parseInt(term.substring(0, i));
      term = term.substring(i + 1).trim();
      i = term.indexOf(" ");
      if (i >= 0) {
        vector12ths.y = Integer.parseInt(term.substring(0, i));
        term = term.substring(i + 1).trim();
      }
    }
    vector12ths.z = Integer.parseInt(term);
  }
  return name;
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:26,代码来源:HallInfo.java

示例7: setMinMaxLatticeParameters

import javax.vecmath.Point3i; //导入依赖的package包/类
void setMinMaxLatticeParameters(Point3i minXYZ, Point3i maxXYZ) {
  if (maxXYZ.x <= 555 && maxXYZ.y >= 555) {
    //alternative format for indicating a range of cells:
    //{111 666}
    //555 --> {0 0 0}
    minXYZ.x = (maxXYZ.x / 100) - 5;
    minXYZ.y = (maxXYZ.x % 100) / 10 - 5;
    minXYZ.z = (maxXYZ.x % 10) - 5;
    //555 --> {1 1 1}
    maxXYZ.x = (maxXYZ.y / 100) - 4;
    maxXYZ.z = (maxXYZ.y % 10) - 4;
    maxXYZ.y = (maxXYZ.y % 100) / 10 - 4;
  }
  switch (dimension) {
  case 1: // polymer
    minXYZ.y = 0;
    maxXYZ.y = 1;
    // fall through
  case 2: // slab
    minXYZ.z = 0;
    maxXYZ.z = 1;
  }
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:24,代码来源:UnitCell.java

示例8: renderLine

import javax.vecmath.Point3i; //导入依赖的package包/类
protected void renderLine(Point3f p0, Point3f p1, int diameter,
                          Point3i pt0, Point3i pt1, boolean drawTicks) {
  // used by Bbcage, Uccage, and axes
  pt0.set((int) p0.x, (int) p0.y, (int) p0.z);
  pt1.set((int) p1.x, (int) p1.y, (int) p1.z);
  if (diameter < 0)
    g3d.drawDottedLine(pt0, pt1);
  else
    g3d.fillCylinder(endcap, diameter, pt0, pt1);
  if (!drawTicks || tickInfo == null)
    return;
  // AtomA and AtomB molecular coordinates must be set previously
  atomA.screenX = pt0.x;
  atomA.screenY = pt0.y;
  atomA.screenZ = pt0.z;
  atomB.screenX = pt1.x;
  atomB.screenY = pt1.y;
  atomB.screenZ = pt1.z;
  drawTicks(atomA, atomB, diameter, true);
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:21,代码来源:FontLineShapeRenderer.java

示例9: transformScreenPoint

import javax.vecmath.Point3i; //导入依赖的package包/类
private Point3i transformScreenPoint(Point3f ptXyp) {
  // just does the processing for [x y] and [x y %]
  if (ptXyp.z == -Float.MAX_VALUE) {
    point3iScreenTemp.x = (int) (ptXyp.x / 100 * screenWidth);
    point3iScreenTemp.y = (int) ((1 - ptXyp.y / 100) * screenHeight);
  } else {
    point3iScreenTemp.x = (int) ptXyp.x;
    point3iScreenTemp.y = (screenHeight - (int) ptXyp.y);
  }
  if (antialias) {
    point3iScreenTemp.x <<= 1;
    point3iScreenTemp.y <<= 1;
  }
  matrixTransform.transform(fixedRotationCenter, pointTsp);
  point3iScreenTemp.z = (int) pointTsp.z;
  return point3iScreenTemp;
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:18,代码来源:TransformManager.java

示例10: tessellate

import javax.vecmath.Point3i; //导入依赖的package包/类
@SideOnly(Side.CLIENT)
public void tessellate(VertexBuffer vb){
    vb.begin(GL11.GL_TRIANGLES, DefaultVertexFormats.POSITION_TEX_NORMAL);
    for (Triple<Point3i, Point3i, Point3i> face : faces) {
        vb.pos(vertices.get(face.getLeft().x).x, vertices.get(face.getLeft().x).y, vertices.get(face.getLeft().x).z)
                .tex(uvs.get(face.getLeft().y).x, uvs.get(face.getLeft().y).y)
                .normal(normals.get(face.getLeft().z).x, normals.get(face.getLeft().z).y, normals.get(face.getLeft().z).z).endVertex();
        vb.pos(vertices.get(face.getMiddle().x).x, vertices.get(face.getMiddle().x).y, vertices.get(face.getMiddle().x).z)
                .tex(uvs.get(face.getMiddle().y).x, uvs.get(face.getMiddle().y).y)
                .normal(normals.get(face.getMiddle().z).x, normals.get(face.getMiddle().z).y, normals.get(face.getMiddle().z).z).endVertex();
        vb.pos(vertices.get(face.getRight().x).x, vertices.get(face.getRight().x).y, vertices.get(face.getRight().x).z)
                .tex(uvs.get(face.getRight().y).x, uvs.get(face.getRight().y).y)
                .normal(normals.get(face.getRight().z).x, normals.get(face.getRight().z).y, normals.get(face.getRight().z).z).endVertex();
    }
}
 
开发者ID:sedlak477,项目名称:MrglgaghCore,代码行数:16,代码来源:OBJModel.java

示例11: render

import javax.vecmath.Point3i; //导入依赖的package包/类
@Override
protected void render() {
  Polyhedra polyhedra = (Polyhedra) shape;
  Polyhedra.Polyhedron[] polyhedrons = polyhedra.polyhedrons;
  drawEdges = polyhedra.drawEdges;
  short[] colixes = polyhedra.colixes;
  Point3i[] screens = null;
  for (int i = polyhedra.polyhedronCount; --i >= 0;) {
    int iAtom = polyhedrons[i].centralAtom.getIndex();
    short colix = (colixes == null || iAtom >= colixes.length ? 
        Graphics3D.INHERIT_ALL : polyhedra.colixes[iAtom]);
    screens = render1(polyhedrons[i], colix, screens);
  }
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:15,代码来源:PolyhedraRenderer.java

示例12: render1

import javax.vecmath.Point3i; //导入依赖的package包/类
private Point3i[] render1(Polyhedra.Polyhedron p, short colix, Point3i[] screens) {
  if (p.visibilityFlags == 0)
    return screens;
  colix = Graphics3D.getColixInherited(colix, p.centralAtom.getColix());
  Point3f[] vertices = p.vertices;
  byte[] planes;
  if (screens == null || screens.length < vertices.length) {
    screens = new Point3i[vertices.length];
    for (int i = vertices.length; --i >= 0;)
      screens[i] = new Point3i();
  }
  planes = p.planes;
  for (int i = vertices.length; --i >= 0;) {
    Atom atom = (vertices[i] instanceof Atom ? (Atom) vertices[i] : null);
    if (atom == null)
      viewer.transformPoint(vertices[i], screens[i]);
    else
      screens[i].set(atom.screenX, atom.screenY, atom.screenZ);
  }

  isAll = (drawEdges == Polyhedra.EDGES_ALL);
  frontOnly = (drawEdges == Polyhedra.EDGES_FRONT);

  // no edges to new points when not collapsed
  if (g3d.setColix(colix))
    for (int i = 0, j = 0; j < planes.length;)
      fillFace(p.normixes[i++], screens[planes[j++]], screens[planes[j++]],
          screens[planes[j++]]);
  if (g3d.setColix(Graphics3D.getColixTranslucent(colix, false, 0)))
  for (int i = 0, j = 0; j < planes.length;)
    drawFace(p.normixes[i++], screens[planes[j++]],
        screens[planes[j++]], screens[planes[j++]]);
  return screens;
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:35,代码来源:PolyhedraRenderer.java

示例13: drawTriangle

import javax.vecmath.Point3i; //导入依赖的package包/类
public void drawTriangle(Point3i screenA, short colixA, Point3i screenB,
                         short colixB, Point3i screenC, short colixC,
                         int check) {
  // primary method for mapped Mesh
  if ((check & 1) == 1)
    drawLine(colixA, colixB, screenA.x, screenA.y, screenA.z, screenB.x,
        screenB.y, screenB.z);
  if ((check & 2) == 2)
    drawLine(colixB, colixC, screenB.x, screenB.y, screenB.z, screenC.x,
        screenC.y, screenC.z);
  if ((check & 4) == 4)
    drawLine(colixA, colixC, screenA.x, screenA.y, screenA.z, screenC.x,
        screenC.y, screenC.z);
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:15,代码来源:Export3D.java

示例14: fillTriangle

import javax.vecmath.Point3i; //导入依赖的package包/类
public void fillTriangle(Point3i pointA, short colixA, short normixA,
                         Point3i pointB, short colixB, short normixB,
                         Point3i pointC, short colixC, short normixC) {
  // mesh, isosurface
  if (colixA != colixB || colixB != colixC) {
    // shouldn't be here, because that uses renderIsosurface
    return;
  }
  ptA.set(pointA.x, pointA.y, pointA.z);
  ptB.set(pointB.x, pointB.y, pointB.z);
  ptC.set(pointC.x, pointC.y, pointC.z);
  exporter.fillTriangle(colixA, ptA, ptB, ptC, false);
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:14,代码来源:Export3D.java

示例15: fillCylinder

import javax.vecmath.Point3i; //导入依赖的package包/类
public void fillCylinder(byte endcaps, int diameter,
                         Point3i screenA, Point3i screenB) {
  //axes, bbcage, uccage, cartoon, dipoles, mesh
  cylinder3d.render(colixCurrent, colixCurrent, !addAllPixels, !addAllPixels, endcaps, diameter,
                    screenA.x, screenA.y, screenA.z,
                    screenB.x, screenB.y, screenB.z);
}
 
开发者ID:mleoking,项目名称:PhET,代码行数:8,代码来源:Graphics3D.java


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