## SIVector3

Object Hierarchy | Related C++ Class: CVector3

### Description

A 3 element vector that is represented by double precision floating point x,y,z coordinates. In this API vectors are considered as row vectors as described in [Foley, J., and A. van Dam, Fundamentals of Interactive Computer Graphics, Addison-Wesley, Reading, MA, 1982]. This is important when you multiply a SIVector3 by a SIMatrix3 or a SIMatrix4.

### Methods

Absolute | AbsoluteInPlace | Add | AddInPlace
Angle | Clamp | ClampInPlace | Copy
Cross | Dot | EpsilonEquals | Equals
Get | Get2 | Length | LengthSquared
LinearlyInterpolate | MaxComponent | MaxComponentIndex | MinComponent
MinComponentIndex | MulByMatrix3 | MulByMatrix3InPlace | MulByMatrix4
MulByMatrix4InPlace | MulByRotation | MulByRotationInPlace | MulByTransformation
MulByTransformationInPlace | Negate | NegateInPlace | Normalize
NormalizeInPlace | Scale | ScaleAdd | ScaleAddInPlace
ScaleInPlace | Set | SetNull | Sub
SubInPlace |  |  |

### Properties

Value | X | Y | Z

### Examples

#### 1. VBScript Example

    dim v1
    ' Create 3D vector.
    set v1 = XSIMath.CreateVector3
    v1.x = 1.5
    v1.y = v1.x + 2.0
    v1(2) = v1.y - 1.0

#### 2. VBScript Example

    set cone = ActiveProject.ActiveScene.Root.AddGeometry("Cone", "NurbsSurface")
    ' set the transform with rotation values
    set transfo = XSIMath.CreateTransform
    transfo.SetRotationFromXYZAnglesValues 45.0, 0.0, -60.0
    ' get back the rotation euler values
    transfo.GetRotationXYZAnglesValues rotX, rotY, rotZ
    Application.LogMessage "rot X: " & rotX & " rot Y: " & rotY & " rot Z: " & rotZ

### See Also

XSIMath.CreateVector3 SIVector3.Set SIVector3 SIMatrix3 SIMatrix4 SIRotation SITransformation SIQuaternion