Package chemaxon.struc
Class DPoint3
- java.lang.Object
-
- chemaxon.struc.DPoint3
-
- All Implemented Interfaces:
Externalizable
,Serializable
,Cloneable
@PublicAPI public class DPoint3 extends Object implements Cloneable, Externalizable
Point in three dimensional space.- Since:
- 4.1, 04/28/2006
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description double
x
The x coordinate.double
y
The y coordinate.double
z
The z coordinate.static DPoint3
ZERO_VECTOR
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(DPoint3 v1)
Add the given point to this one.static DPoint3
add(DPoint3 v1, DPoint3 v2)
Calculates the sum of the two vectorsdouble
angle2D(double x2, double y2)
Calculates the absolute angle in the XY plane of the vector pointing from this point to the other point.double
angle3D(DPoint3 p)
Calculate the angle of two vectors (this and p) in the range 0.0 through pi.DPoint3
clone()
Make an identical copy.static DPoint3
cross(DPoint3 v1, DPoint3 v2)
Calculates the cross product of the two vectorsdouble
distance(DPoint3 p)
Calculates the distance between two points.double
distance2D(DPoint3 p)
Calculates the distance between two points in the XY plane.boolean
equals(Object o)
Two points equal if their coordinates equal.int
hashCode()
static boolean
isCollinear(DPoint3 a, DPoint3 b, DPoint3 c)
Checks whether three 3D points can be connected with a line.double
lengthSquare()
Calculates the square of the length of the vector defining the point.void
readExternal(ObjectInput in)
Deserializes a 3D point.void
roundTo(int decimals)
Rounds the represented value to the given decimal precision.static double
scalar(DPoint3 v1, DPoint3 v2)
Calculates the scalar product of the two vectorsvoid
scale(double scaleFactor)
Scales the vector with the given factor.void
set(DPoint3 p)
Set coordinates.void
subtract(DPoint3 v2)
Subtract the given v2 vector from this one.static DPoint3
subtract(DPoint3 v1, DPoint3 v2)
Calculates the difference of the two vectorsPoint2D
toPoint2D()
String
toString()
Gets a string representation of the pointvoid
writeExternal(ObjectOutput out)
Serializes a 3D point.
-
-
-
Field Detail
-
ZERO_VECTOR
public static final DPoint3 ZERO_VECTOR
-
x
public transient double x
The x coordinate.
-
y
public transient double y
The y coordinate.
-
z
public transient double z
The z coordinate.
-
-
Constructor Detail
-
DPoint3
public DPoint3()
Construct a zero point.
-
DPoint3
public DPoint3(DPoint3 p)
Copy constructor.- Parameters:
p
- the point to copy
-
DPoint3
public DPoint3(double x, double y, double z)
Construct a point from the specified coordinates.- Parameters:
x
- the x coordinatey
- the y coordinatez
- the z coordinate
-
-
Method Detail
-
set
public void set(DPoint3 p)
Set coordinates.- Parameters:
p
- point object containing the new coordinates- Since:
- Marvin 3.5, 11/04/2004
-
equals
public boolean equals(Object o)
Two points equal if their coordinates equal.
-
distance
public final double distance(DPoint3 p)
Calculates the distance between two points.- Parameters:
p
- the other point- Returns:
- the distance
-
lengthSquare
public double lengthSquare()
Calculates the square of the length of the vector defining the point.- Returns:
- the square of the length
- Since:
- Marvin 6.2
-
distance2D
public final double distance2D(DPoint3 p)
Calculates the distance between two points in the XY plane.- Parameters:
p
- the other point- Returns:
- the distance
- Since:
- Marvin 4.1, 04/28/2006
-
angle2D
public final double angle2D(double x2, double y2)
Calculates the absolute angle in the XY plane of the vector pointing from this point to the other point. In other words, takes the difference between this vector and the vector pointing from the origin to the other point and returns the angle of the resultant vector's projection onto the XY plane.- Parameters:
x2
- the other point's x coordinatey2
- the other point's y coordinate- Returns:
- the angle (from -pi to pi)
- Since:
- Marvin 3.0
-
clone
public DPoint3 clone()
Make an identical copy.
-
toString
public String toString()
Gets a string representation of the point
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
Serializes a 3D point.- Specified by:
writeExternal
in interfaceExternalizable
- Parameters:
out
- the object output stream- Throws:
IOException
-
readExternal
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
Deserializes a 3D point.- Specified by:
readExternal
in interfaceExternalizable
- Parameters:
in
- the object input stream- Throws:
IOException
ClassNotFoundException
-
subtract
public void subtract(DPoint3 v2)
Subtract the given v2 vector from this one.- Parameters:
v2
-- Since:
- Marvin 6.2
-
angle3D
public double angle3D(DPoint3 p)
Calculate the angle of two vectors (this and p) in the range 0.0 through pi.- Parameters:
p
-- Returns:
- angle of two vectors (this and p) in the range 0.0 through pi
- Since:
- Marvin 6.2
-
scalar
public static double scalar(DPoint3 v1, DPoint3 v2)
Calculates the scalar product of the two vectors- Parameters:
v1
-v2
-- Returns:
- the scalar product
- Since:
- Marvin 6.2
-
cross
public static DPoint3 cross(DPoint3 v1, DPoint3 v2)
Calculates the cross product of the two vectors- Parameters:
v1
-v2
-- Returns:
- the cross product
- Since:
- Marvin 6.2
-
add
public static DPoint3 add(DPoint3 v1, DPoint3 v2)
Calculates the sum of the two vectors- Parameters:
v1
-v2
-- Returns:
- the sum
- Since:
- Marvin 6.2
-
subtract
public static DPoint3 subtract(DPoint3 v1, DPoint3 v2)
Calculates the difference of the two vectors- Parameters:
v1
-v2
-- Returns:
- v1 - v2
- Since:
- Marvin 6.2
-
isCollinear
public static boolean isCollinear(DPoint3 a, DPoint3 b, DPoint3 c)
Checks whether three 3D points can be connected with a line.- Parameters:
a
-b
-c
-- Returns:
- true if points are on the same line
- Since:
- Marvin 6.2
-
add
public void add(DPoint3 v1)
Add the given point to this one.- Parameters:
v1
-
-
scale
public void scale(double scaleFactor)
Scales the vector with the given factor.- Parameters:
scaleFactor
- the scale factor
-
toPoint2D
public Point2D toPoint2D()
-
roundTo
public void roundTo(int decimals)
Rounds the represented value to the given decimal precision.- Parameters:
decimals
- how many deciamls should be left
-
-