# Point4d struct

Namespace: [Rhino.Geometry](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.geometry.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
[StructLayout(LayoutKind.Sequential, Pack = 8, Size = 32)]
[DebuggerDisplay("({m_x}, {m_y}, {m_z}, [{m_w}])")]
[Serializable]
public struct Point4d : ISerializable, IEquatable<Point4d>, IEpsilonComparable<Point4d>, IFormattable
```

Represents the four coordinates of a point in four-dimensional space.

The W (fourth) dimension is often considered the weight of the point as seen in 3D space.

## Constructors

- [Point4d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/ctor.md): (3 overloads) Initializes a new instance of the [Point4d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d.md) class based on coordinates.

## Properties

- [IsValid](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/isvalid.md): Returns an indication regarding the validity of this point.
- [Unset](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/unset.md): (static) Gets the value of a point with all coordinates set as RhinoMath.UnsetValue.
- [W](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/w.md): Gets or sets the W (fourth) coordinate -or weight- of this point.
- [X](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/x.md): Gets or sets the X (first) coordinate of this point.
- [Y](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/y.md): Gets or sets the Y (second) coordinate of this point.
- [Z](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/z.md): Gets or sets the Z (third) coordinate of this point.

## Methods

- [Add](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/add.md): (static) Sums two [Point4d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d.md) together. (Provided for languages that do not support operator overloading. You can use the + operator otherwise)
- [EpsilonEquals](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/epsilonequals.md): Check that all values in other are within epsilon of the values in this
- [Equals](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/equals.md): (2 overloads) Determines whether the specified System.Object is Point4d and has same coordinates as the present point.
- [GetHashCode](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/gethashcode.md): Computes the hash code for the present point.
- [Multiply](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/multiply.md): (static) Multiplies a point by a number. (Provided for languages that do not support operator overloading. You can use the * operator otherwise)
- [Subtract](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/subtract.md): (static) Subtracts the second point from the first point. (Provided for languages that do not support operator overloading. You can use the - operator otherwise)
- [ISerializable.GetObjectData](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/system-runtime-serialization-iserializable-getobjectdata.md)
- [ToString](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/tostring.md): (2 overloads) Returns the fully qualified type name of this instance.
- [Transform](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/transform.md): Transforms the present point in place. The transformation matrix acts on the left of the point. i.e., result = transformation*point

## Operators

- [operator +](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/op-addition.md): (static) Sums two [Point4d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d.md) together.
- [operator ==](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/op-equality.md): (static) Determines whether two Point4d have equal values.
- [operator !=](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/op-inequality.md): (static) Determines whether two Point4d have different values.
- [operator *](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/op-multiply.md): (2 overloads, static) Multiplies two [Point4d](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d.md) together, returning the dot (internal) product of the two. This is not the cross product.
- [operator -](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.point4d/op-subtraction.md): (static) Subtracts the second point from the first point.
