DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

<PackageReference Include="DynamoVisualProgramming.ZeroTouchLibrary" Version="0.9.0-beta1" />

 CoordinateSystem

public double Determinant { get; }

Obtain the Determinant of this CoordinateSystem

public bool IsScaledOrtho { get; }

Tests if the scaling orthogonal, i.e. does it have a shear component.

public bool IsSingular { get; }

Determine whether it is possible to get the Inverse of this CoordinateSystem

public bool IsUniscaledOrtho { get; }

Tests if the scaling orthogonal and are all the vectors normalized.

public Point Origin { get; }

Creates a Point representing the CoordinateSystem origin.

public Vector XAxis { get; }

Returns X Axis of CoordinateSystem.

public double XScaleFactor { get; }

Returns the X Axis scaling of the CoordinateSystem: the length of the X Axis vector.

public Plane XYPlane { get; }

Returns the Plane the X and Y axes lie in, with root at the origin.

public Vector YAxis { get; }

Returns Y Axis of CoordinateSystem.

public double YScaleFactor { get; }

Returns the Y Axis scaling of the CoordinateSystem: the length of the Y Axis vector.

public Plane YZPlane { get; }

Returns the Plane the Y and Z axes lie in, with root at the origin.

public Vector ZAxis { get; }

Returns Z Axis of CoordinateSystem.

public double ZScaleFactor { get; }

Returns the Z Axis scaling of the CoordinateSystem: the length of the Z Axis vector.

public Plane ZXPlane { get; }

Returns the Plane the Z and X axes lie in, with root at the origin.

public static CoordinateSystem ByCylindricalCoordinates(CoordinateSystem cs, double radius = 0, double theta = 0, double height = 0)

Creates a CoordinateSystem at the specified cylindrical coordinate parameters with respect to the specified coordinate system

public static CoordinateSystem ByMatrix(double[] matrix)

Deprecated -- DO NOT USE

public static CoordinateSystem ByOrigin(double x = 0, double y = 0)

Create a CoordinateSystem with origin at X and Y locations, with X and Y Axes set as WCS X and Y Axes. Z defaults to 0.

public static CoordinateSystem ByOrigin(double x = 0, double y = 0, double z = 0)

Create a CoordinateSystem with origin at X, Y, and Z locations, with X and Y Axes set as WCS X and Y Axes.

public static CoordinateSystem ByOrigin(Point origin)

Create a CoordinateSystem with origin at input Point, with X and Y Axes set as WCS X and Y Axes.

public static CoordinateSystem ByOriginVectors(Point origin, Vector xAxis, Vector yAxis)

Create a CoordinateSystem at the origin with X and Y axis. Input Vectors are normalized before creating the CoordinateSystem.

public static CoordinateSystem ByOriginVectors(Point origin, Vector xAxis, Vector yAxis, Vector zAxis)

Create a CoordinateSystem at the origin with X and Y axis, with Z axis ignored completely. Input Vectors are normalized before creating the CoordinateSystem.

public static CoordinateSystem ByPlane(Plane plane)

Create a CoordinateSystem with origin equal to input Plane origin, and X and Y axes lying in the Plane, aligned with Plane X and Y axes.

public static CoordinateSystem BySphericalCoordinates(CoordinateSystem cs, double radius = 0, double theta = 0, double phi = 0)

Creates a CoordinateSystem at the specified spherical coordinate parameters with respect to the specified coordinate system

public static CoordinateSystem Identity()

Creates a CoordinateSystem as the World Coordinate System: origin at 0, 0, 0; x axis at 1, 0, 0; y axis at 0, 1, 0; z axis at 0, 0, 1

Get the inverse of this CoordinateSystem - applying this CoordinateSystem to a piece of Geometry reverses the original.

public bool IsEqualTo(CoordinateSystem other)

Determine if two CoordinateSystems are equal

public CoordinateSystem Mirror(Plane mirrorPlane)

Mirror the object across the input Plane

Apply the argument CoordinateSystem after this one - Result = this * other

Apply the argument CoordinateSystem before this one - Result = other * this

public CoordinateSystem Rotate(Point origin, Vector axis, double degrees = 0)

Rotates an object around an origin and an axis by a specified degree

public CoordinateSystem Rotate(Plane origin, double degrees = 0)

Rotates an object around the Plane origin and normal by a specified degree

public CoordinateSystem Scale(double amount = 1)

Scale uniformly around the origin

public CoordinateSystem Scale(double xamount = 1, double yamount = 1, double zamount = 1)

Scale non-uniformly around the origin

public CoordinateSystem Scale(Plane plane, double xamount = 1, double yamount = 1, double zamount = 1)

Scale non-uniformly around a given Plane

public CoordinateSystem Scale(Point basePoint, Point from, Point to)

Scale uniformly around a given point, using

public CoordinateSystem Scale1D(Point basePoint, Point from, Point to)

Scale in one dimension by base and 2 pick points. The scaling axis is defined by the line between base and pick0.

public CoordinateSystem Scale2D(Plane basePlane, Point from, Point to)

Scale in two dimension by base and 2 pick points The two pick points are projected onto the base plane in order to determine the 2d scale factors

Returns a Vector containing the X, Y, and Z scale factors

Transform the object by the input CoordinateSystem matrix.

public CoordinateSystem Transform(CoordinateSystem fromCoordinateSystem, CoordinateSystem contextCoordinateSystem)

Transforms this CoordinateSystem from source CoordinateSystem to a new context CoordinateSystem.

public CoordinateSystem Translate(double xTranslation = 0, double yTranslation = 0, double zTranslation = 0)

Translates any given CoordinateSystem by the given displacements in the x, y, and z directions defined in WCS respectively.

public CoordinateSystem Translate(Vector direction)

Translate the object in the direction and magnitude of input Vector.

public CoordinateSystem Translate(Vector direction, double distance = 0)

Translates any CoordinateSystem type by the given distance in the given direction.