|
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.algart.drawing3d.PlanePolygon3D
public class PlanePolygon3D extends java.lang.Object implements Shape3D
Plane polygon, placed in 3D space.
This figure is a polygon inside some plane
The polygon is usually supposed to be convex: it is not checked, but the drawing algorithm
of this figure, offered by ConvexPlanePolygon3DDrawingRule
class, works incorrectly
if it is not convex.
The vertices are supposed to lie at the plane
Note: the norm of (a,b,c) vector is always 1.0: a²+b²+c²=1.0. The coefficients are normalized automatically while instantiating by the constructor.
This class is immutable and thread-safe: there are no ways to modify settings of the created instance.
AlgART Laboratory 2010
Constructor and Description |
---|
PlanePolygon3D(double a,
double b,
double c,
double d,
double... verticesXYZ)
Creates new plane polygon: a polygonal area inside the plane |
Modifier and Type | Method and Description |
---|---|
double |
getA()
The coefficient a in the plane equation |
double |
getB()
The coefficient b in the plane equation |
double |
getC()
The coefficient c in the plane equation |
double |
getD()
The coefficient d in the plane equation |
int |
getVerticesCount()
The number of vertices of the polygon: verticesXYZ.length/3, where verticesXYZ is the last argument of the constructor. |
double[] |
getVerticesXYZ()
Returns all vertices of the polygon. |
java.lang.String |
toString()
Returns a brief string description of this object. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public PlanePolygon3D(double a, double b, double c, double d, double... verticesXYZ)
The coefficients a,b,c,d are passed via the arguments.
The vector (a,b,c) is automatically normalized: all 4 numbers are divided by
The verticesXYZ argument should specify the sequence of 3D vertices of some polygon
inside the plane
The passed verticesXYZ argument is cloned by this constructor: no references to it are maintained by the created object.
a
- the coefficient a.b
- the coefficient b.c
- the coefficient c.d
- the coefficient d.verticesXYZ
- the sequential vertices of some polygon inside the wall boundary, which will be drawn
by 3D-drawing algorithms.java.lang.IllegalArgumentException
- if (a,b,c) is zero (and, so, cannot be normalized),
or if the length of verticesXYZ array is not divisible by 3,
or if the length of verticesXYZ array is less than 9 (3 vertices).Method Detail |
---|
public double getA()
public double getB()
public double getC()
public double getD()
public int getVerticesCount()
public double[] getVerticesXYZ()
The returned array is a clone of the internal array stored in this object.
public java.lang.String toString()
The result of this method may depend on implementation.
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |