|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectgov.nist.microanalysis.NISTMonte.MultiPlaneShape
public class MultiPlaneShape
MCSS_MultiPlane implements simple or more complex shapes as the region bounded by a series of planes. The planes are defined by a normal pointing to the outside of the body (imagine a porcupine) and a point on the plane. A point is determined to be inside the MCSS_MultiPlane object if the point is on the inside (the side away from the direction of the surface normal) of each plane.
Copyright: Pursuant to title 17 Section 105 of the United States Code this software is not subject to copyright protection and is in the public domain
Company: National Institute of Standards and Technology
| Constructor Summary | |
|---|---|
MultiPlaneShape()
MCSS_MultiPlane - Creates a MCSS_MultiPlane object. |
|
| Method Summary | |
|---|---|
void |
addPlane(double[] normal,
double[] point)
addPlane - Add a new bounding plane to the Shape defined by this MCSS_MultiPlane. |
boolean |
contains(double[] pos)
contains - See MonteCarloSS.Shape.contains |
static MultiPlaneShape |
createBlock(double[] dims,
double[] point,
double phi,
double theta,
double psi)
createBlock - Create a block of dimensions specified in dims, centered at point then rotated by the euler angles phi, theta, psi. |
static MultiPlaneShape |
createFilm(double[] normal,
double[] pt1,
double thickness)
createFilm - Construct a MCSS_MultiPlane object corresponding to a film. |
static MultiPlaneShape |
createNamid(double[] center,
int n,
double height,
double base)
Create a Tetrahedron (n=3), Pyramid (n=4), ..., etc with the specified center, number of sides, height and base dimension. |
static MultiPlaneShape |
createSubstrate(double[] normal,
double[] pt)
createSubstrate - Construct a MCSS_MultiPlane object corresponding to an infinitely thick layer. |
double |
getFirstIntersection(double[] pos0,
double[] pos1)
getFirstIntersection - See MonteCarloSS.Shape.getFirstIntersection |
void |
render(TrajectoryVRML.RenderContext rc,
java.io.Writer wr)
render - Renders this MultiPlaneShape as a series of triangular facets in a VRML world. |
void |
rotate(double[] pivot,
double phi,
double theta,
double psi)
rotate - Rotate the object around the specified point by phi about the z-axis followed by theta round the y-axis followed by psi around the z-axis. |
void |
translate(double[] distance)
translate - Translate this object by the distance specified. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public MultiPlaneShape()
| Method Detail |
|---|
public static MultiPlaneShape createFilm(double[] normal,
double[] pt1,
double thickness)
normal - double[]pt1 - double[]thickness - double
public static MultiPlaneShape createSubstrate(double[] normal,
double[] pt)
normal - double[]pt - double[]
public static MultiPlaneShape createBlock(double[] dims,
double[] point,
double phi,
double theta,
double psi)
dims - double[] - The unrotated dimensions (x,y,z axis)point - double[] - The location of the center of the blockphi - double - rotation about the z-axis (radians)theta - double - rotation about the y-axis (radians)psi - double - rotation about the x-axis (radians)
public static MultiPlaneShape createNamid(double[] center,
int n,
double height,
double base)
center - Location of center double[3]n - Number of sides (excluding the base)height - Height of the object (>0)base - Length of a side of the base
public void addPlane(double[] normal,
double[] point)
normal - double[]point - double[]public boolean contains(double[] pos)
contains in interface MonteCarloSS.Shapepos - double[]
public double getFirstIntersection(double[] pos0,
double[] pos1)
getFirstIntersection in interface MonteCarloSS.Shapepos0 - double[]pos1 - double[]
public void rotate(double[] pivot,
double phi,
double theta,
double psi)
ITransform| [ | cos(phi)*cos(th)*cos(psi)-sin(phi)*sin(psi) | -sin(phi)*cos(th)*cos(psi)-cos(phi)*sin(psi) | sin(th)*cos(psi) | ] |
| [ | sin(phi)*cos(psi)+cos(phi)*cos(th)*sin(psi) | -sin(phi)*cos(th)*sin(psi)+cos(phi)*cos(psi) | sin(th)*sin(psi) | ] |
| [ | -cos(phi)*sin(th) | sin(th)*sin(phi) | cos(th) | ] |
rotate in interface ITransformpivot - double[] - a three-vector specifying the point around which
the rotation is performedphi - doubletheta - doublepsi - doublepublic void translate(double[] distance)
ITransform
translate in interface ITransformdistance - double[] - A three-vector specifying how much to translate
public void render(TrajectoryVRML.RenderContext rc,
java.io.Writer wr)
throws java.io.IOException
render in interface TrajectoryVRML.IRenderrc - The context into which to render this object ` *wr - The Writer into which to write the results (non-Javadoc)
java.io.IOExceptionTrajectoryVRML.IRender.render(gov.nist.microanalysis.NISTMonte.TrajectoryVRML.RenderContext,
java.io.Writer)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||