# Locus struct

Namespace: [Grasshopper2.Geometry.SpatialTree](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.geometry.spatialtree.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public struct Locus
```

Represents an immutable 3D vector or point.

## Constructors

- [Locus](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/ctor.md): (2 overloads) Create a new vector.

## Properties

- [Infinite](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/infinite.md): (static) Gets the infinite vector.
- [IsInfinite](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/isinfinite.md): Gets whether this vector is infinite.
- [IsUnset](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/isunset.md): Gets whether this vector is unset.
- [IsZero](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/iszero.md): Gets whether this vector contains only zeroes.
- [Length](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/length.md): Gets the length of this vector.
- [Norm](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/norm.md): Gets the norm of this vector. The norm equals the length squared.
- [UnitX](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/unitx.md): (static) Get the unit vector in the X direction.
- [UnitY](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/unity.md): (static) Get the unit vector in the Y direction.
- [UnitZ](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/unitz.md): (static) Get the unit vector in the Z direction.
- [Unset](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/unset.md): (static) Gets the unset vector.
- [X](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/x.md): Gets the x-component.
- [Y](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/y.md): Gets the y-component.
- [Z](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/z.md): Gets the z-component.
- [Zero](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/zero.md): (static) Get the zero vector.

## Methods

- [AngleTo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/angleto.md): Compute the angle between two vectors.
- [DistanceTo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/distanceto.md): Compute the distance between two vectors.
- [Normalise](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/normalise.md): Normalise this vector.
- [QuadranceTo](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/quadranceto.md): Compute the quadrance between two vectors.
- [To2D](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/to2d.md): Flatten this vector by removing all z data.
- [ToPointF](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/topointf.md): Convert the x and y coordinates into a PointF structure.
- [ToString](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/tostring.md): Returns the fully qualified type name of this instance.

## Operators

- [operator +](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/op-addition.md): (static) Add two vectors.
- [operator /](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/op-division.md): (static) Divide a vector by a scalar.
- [operator ^](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/op-exclusiveor.md): (static) Compute the cross product between two vectors.
- [operator *](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/op-multiply.md): (3 overloads, static) Compute the dot product of two vectors.
- [operator -](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/op-subtraction.md): (static) Subtract two vectors.
- [operator -](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/op-unarynegation.md): (static) Negate a vector.

## Convertors

- [operator implicit](https://developer.rhino3d.com/api/gh2/type/grasshopper2.geometry.spatialtree.locus/op-implicit.md): (4 overloads, static) Conversion from Point3d.
