Click or drag to resize

Vector3f Structure

Represents the three components of a vector in three-dimensional space, using Single-precision floating point numbers.

Namespace:  Rhino.Geometry
Assembly:  RhinoCommon (in RhinoCommon.dll)
Syntax
[SerializableAttribute]
public struct Vector3f : IEquatable<Vector3f>, 
	IComparable<Vector3f>, IComparable, IEpsilonFComparable<Vector3f>, 
	IFormattable

The Vector3f type exposes the following members.

Constructors
  NameDescription
Public methodVector3f
Constructs a new vector from 3 single precision numbers.
Top
Properties
  NameDescription
Public propertyIsUnitVector
Gets a value indicating whether or not this is a unit vector. A unit vector has length 1.
Public propertyIsValid
Returns an indication regarding the validity of this vector.
Public propertyIsZero
Gets a value indicating whether the X, Y, and Z values are all equal to 0.0.
Public propertyLength
Computes the length (or magnitude, or size) of this vector. This is an application of Pythagoras' theorem. If this vector is invalid, its length is considered 0.
Public propertySquareLength
Returns the square length of the vector. This property does not check for the validity of the inputs.
Public propertyStatic memberUnset
Gets the value of the vector with each component set to RhinoMath.UnsetValue.
Public propertyX
Gets or sets the X (first) component of this vector.
Public propertyStatic memberXAxis
Gets the value of the vector with components 1,0,0.
Public propertyY
Gets or sets the Y (second) component of this vector.
Public propertyStatic memberYAxis
Gets the value of the vector with components 0,1,0.
Public propertyZ
Gets or sets the Z (third) component of this vector.
Public propertyStatic memberZAxis
Gets the value of the vector with components 0,0,1.
Public propertyStatic memberZero
Gets the value of the vector with components 0,0,0.
Top
Methods
  NameDescription
Public methodStatic memberAdd(Point3f, Vector3f)
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)

Public methodStatic memberAdd(Vector3f, Vector3f)
Sums up two vectors.

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

Public methodCompareTo
Compares this Vector3f with another Vector3f.

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

Public methodStatic memberCrossProduct
Computes the cross product (or vector product, or exterior product) of two vectors.

This operation is not commutative.

Public methodStatic memberDivide(Vector3f, Double)
Divides a Vector3f by a number, having the effect of shrinking it, t times.

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

Public methodStatic memberDivide(Vector3f, Single)
Divides a Vector3f by a number, having the effect of shrinking it, t times.

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

Public methodEpsilonEquals
Check that all values in other are within epsilon of the values in this
Public methodEquals(Object)
Determines whether the specified System.Object is a Vector3f and has the same values as the present vector.
(Overrides ValueTypeEquals(Object).)
Public methodEquals(Vector3f)
Determines whether the specified vector has the same values as the present vector.
Public methodGetHashCode
Computes a hash number that represents the current vector.
(Overrides ValueTypeGetHashCode.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodStatic memberMultiply(Single, Vector3f)
Multiplies a vector by a number, having the effect of scaling it.

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

Public methodStatic memberMultiply(Vector3f, Vector3f)
Multiplies two Vector3f together, returning the dot (internal) product of the two. This is not the cross product.

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

Public methodStatic memberMultiply(Vector3f, Single)
Multiplies a vector by a number, having the effect of scaling it.

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

Public methodStatic memberNegate
Computes the reversed vector.

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

Public methodPerpendicularTo
Sets this vector to be perpendicular to another vector. Result is not unitized.
Public methodReverse
Reverses this vector in place (reverses the direction).

If this vector contains RhinoMath.UnsetValue, the reverse will also be invalid and false will be returned.

Public methodRotate
Rotates this vector around a given axis.
Public methodStatic memberSubtract
Subtracts the second vector from the first one.

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

Public methodToString
Constructs the string representation of the current vector.
(Overrides ValueTypeToString.)
Public methodToString(String, IFormatProvider)
Formats the value of the current instance using the specified format.
Public methodTransform
Transforms the vector in place.

The transformation matrix acts on the left of the vector; i.e.,

result = transformation*vector

Public methodUnitize
Unitizes the vector in place. A unit vector has length 1 unit.

An invalid or zero length vector cannot be unitized.

Top
Operators
  NameDescription
Public operatorStatic memberAddition(Point3f, Vector3f)
Sums up a point and a vector, and returns a new point.
Public operatorStatic memberAddition(Vector3f, Vector3f)
Sums up two vectors.
Public operatorStatic memberDivision(Vector3f, Double)
Divides a Vector3f by a number, having the effect of shrinking it, t times.
Public operatorStatic memberDivision(Vector3f, Single)
Divides a Vector3f by a number, having the effect of shrinking it, t times.
Public operatorStatic memberEquality
Determines whether two vectors have equal values.
Public operatorStatic member(Vector3d to Vector3f)
Converts a double-precision vector in a single-precision vector. Needs explicit casting to help retain precision.
Public operatorStatic memberGreaterThan
Determines whether the first specified vector comes after (has superior sorting value than) the second vector.

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

Public operatorStatic memberGreaterThanOrEqual
Determines whether the first specified vector comes after (has superior sorting value than) the second vector, or it is equal to it.

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

Public operatorStatic memberInequality
Determines whether two vectors have different values.
Public operatorStatic memberLessThan
Determines whether the first specified vector comes before (has inferior sorting value than) the second vector.

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

Public operatorStatic memberLessThanOrEqual
Determines whether the first specified vector comes before (has inferior sorting value than) the second vector, or it is equal to it.

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

Public operatorStatic memberMultiply(Single, Vector3f)
Multiplies a vector by a number, having the effect of scaling it.
Public operatorStatic memberMultiply(Vector3f, Vector3f)
Multiplies two Vector3f together, returning the dot (internal) product of the two. This is not the cross product.
Public operatorStatic memberMultiply(Vector3f, Single)
Multiplies a vector by a number, having the effect of scaling it.
Public operatorStatic memberSubtraction
Subtracts the second vector from the first one.
Public operatorStatic memberUnaryNegation
Computes the opposite vector.
Top
See Also