﻿Point3d Structure

# Point3d Structure

Represents the three coordinates of a point in three-dimensional space, using Double-precision floating point values.

Namespace:  Rhino.Geometry
Assembly:  RhinoCommon (in RhinoCommon.dll)
Syntax
[SerializableAttribute]
public struct Point3d : ISerializable, IEquatable<Point3d>,
IComparable<Point3d>, IComparable, IEpsilonComparable<Point3d>,
ICloneable, IFormattable

The Point3d type exposes the following members.

Constructors
NameDescription
Point3d(Point3d)
Initializes a new point by copying coordinates from another point.
Point3d(Point3f)
Initializes a new point by copying coordinates from a single-precision point.
Point3d(Point4d)
Initializes a new point by copying coordinates from a four-dimensional point. The first three coordinates are divided by the last one. If the W (fourth) dimension of the input point is zero, then it will be just discarded.
Point3d(Vector3d)
Initializes a new point by copying coordinates from the components of a vector.
Point3d(Double, Double, Double)
Initializes a new point by defining the X, Y and Z coordinates.
Top
Properties
NameDescription
IsValid
Each coordinate of the point must pass the IsValidDouble(Double) test.
Item
Gets or sets an indexed coordinate of this point.
MaximumCoordinate
Gets the largest (both positive and negative) valid coordinate in this point, or RhinoMath.UnsetValue if no coordinate is valid.
MinimumCoordinate
Gets the smallest (both positive and negative) coordinate value in this point.
Origin
Gets the value of a point at location 0,0,0.
Unset
Gets the value of a point at location RhinoMath.UnsetValue,RhinoMath.UnsetValue,RhinoMath.UnsetValue.
X
Gets or sets the X (first) coordinate of this point.
Y
Gets or sets the Y (second) coordinate of this point.
Z
Gets or sets the Z (third) coordinate of this point.
Top
Methods
NameDescription
Sums two Point3d instances.

(Provided for languages that do not support operator overloading. You can use the + operator otherwise)

Sums up a point and a vector, and returns a new point.

(Provided for languages that do not support operator overloading. You can use the + operator otherwise)

Sums up a point and a vector, and returns a new point.

(Provided for languages that do not support operator overloading. You can use the + operator otherwise)

Sums up a point and a vector, and returns a new point.

(Provided for languages that do not support operator overloading. You can use the + operator otherwise)

ArePointsCoplanar
Determines whether a set of points is coplanar within a given tolerance.
CompareTo
Compares this Point3d with another Point3d.

Component evaluation priority is first X, then Y, then Z.

CullDuplicates
Removes duplicates in the supplied set of points.
DistanceTo
Computes the distance between two points.
DistanceToSquared
Computes the square of the distance between two points.

This method is usually largely faster than DistanceTo().

Divide
Divides a Point3d by a number.

(Provided for languages that do not support operator overloading. You can use the / operator otherwise)

EpsilonEquals
Check that all values in other are within epsilon of the values in this
Equals(Object)
Determines whether the specified Object is a Point3d and has the same values as the present point.
(Overrides ValueTypeEquals(Object).)
Equals(Point3d)
Determines whether the specified Point3d has the same values as the present point.
FromPoint3f
Converts a single-precision point in a double-precision point.
GetHashCode
Computes a hash code for the present point.
(Overrides ValueTypeGetHashCode.)
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Interpolate
Interpolate between two points.
Multiply(Double, Point3d)
Multiplies a Point3d by a number.

(Provided for languages that do not support operator overloading. You can use the * operator otherwise)

Multiply(Point3d, Double)
Multiplies a Point3d by a number.

(Provided for languages that do not support operator overloading. You can use the * operator otherwise)

SortAndCullPointList
Orders a set of points so they will be connected in a "reasonable polyline" order.

Also, removes points from the list if their common distance exceeds a specified threshold.

Subtract(Point3d, Point3d)
Subtracts a point from another point.

(Provided for languages that do not support operator overloading. You can use the - operator otherwise)

Subtract(Point3d, Vector3d)
Subtracts a vector from a point.

(Provided for languages that do not support operator overloading. You can use the - operator otherwise)

ToString
Constructs the string representation for the current point.
(Overrides ValueTypeToString.)
ToString(String, IFormatProvider)
Formats the value of the current instance using the specified format.
Transform
Transforms the present point in place. The transformation matrix acts on the left of the point. i.e.,

result = transformation*point

TryParse
Converts the string representation of a point to the equivalent Point3d structure.
Top
Operators
NameDescription
Sums two Point3d instances.
Sums up a point and a vector, and returns a new point.
Sums up a point and a vector, and returns a new point.
Sums up a point and a vector, and returns a new point.
Division
Divides a Point3d by a number.
Equality
Determines whether two Point3d have equal values.
(Point3d to Vector3d)
Converts a point in a vector, needing casting.
(Vector3d to Point3d)
Converts a vector in a point, needing casting.
GreaterThan
Determines whether the first specified point comes after (has superior sorting value than) the second point.

Coordinates evaluation priority is first X, then Y, then Z.

GreaterThanOrEqual
Determines whether the first specified point comes after (has superior sorting value than) the second point, or it is equal to it.

Coordinates evaluation priority is first X, then Y, then Z.

(Point3d to ControlPoint)
Converts a point in a control point, without needing casting.
(Point3f to Point3d)
Converts a single-precision point in a double-precision point, without needing casting.
Inequality
Determines whether two Point3d have different values.
LessThan
Determines whether the first specified point comes before (has inferior sorting value than) the second point.

Coordinates evaluation priority is first X, then Y, then Z.

LessThanOrEqual
Determines whether the first specified point comes before (has inferior sorting value than) the second point, or it is equal to it.

Coordinates evaluation priority is first X, then Y, then Z.

Multiply(Double, Point3d)
Multiplies a Point3d by a number.
Multiply(Point3d, Double)
Multiplies a Point3d by a number.
Subtraction(Point3d, Point3d)
Subtracts a point from another point.
Subtraction(Point3d, Vector3d)
Subtracts a vector from a point.
UnaryNegation
Computes the additive inverse of all coordinates in the point, and returns the new point.
Top