Detailed Description

Represents an interpolatable matrix for 3D transforms (https://www.w3.org/TR/css-transforms-1/#matrix-interpolation).

Inheritance diagram for Css.InterpolationMatrix3D:
Css.Functions.Transformation Css.CssFunction Css.ValueSet Css.CssUnit Css.Value

Public Member Functions

 InterpolationMatrix3D ()
 
 InterpolationMatrix3D (Matrix4x4 matrix)
 
override Matrix4x4 CalculateMatrix (RenderableData context)
 Builds the transformation matrix. More...
 
bool Decompose ()
 Decompose the matrix now. More...
 
void Recompose ()
 Recompose the matrix now. More...
 
override string[] GetNames ()
 The set of all function names that this one will handle. Usually just one. Lowercase. e.g. "rgb", "rgba". More...
 
- Public Member Functions inherited from Css.Functions.Transformation
 Transformation ()
 
- Public Member Functions inherited from Css.CssFunction
override string ToString ()
 
- Public Member Functions inherited from Css.ValueSet
 ValueSet ()
 
void Add (Value val)
 Adds the given value to the set. More...
 
 ValueSet (int count)
 
 ValueSet (Value[] s)
 
override void SetRawDecimal (float value)
 Sets a raw decimal value to this object. Used by the animation system. More...
 
override float GetRawDecimal ()
 Obtains the underlying decimal value, if there is one. More...
 
override float GetDecimal (RenderableData context, CssProperty property)
 If this is a decimal, the raw decimal value. This is generally the main output. More...
 
override string GetText (RenderableData context, CssProperty property)
 If this is a text value, e.g. "auto", the raw text value. More...
 
override bool GetBoolean (RenderableData context, CssProperty property)
 If this is a boolean, the raw bool value. More...
 
override string ToString ()
 
override IEnumerator< ValueGetEnumerator ()
 
override bool Equals (Value value)
 Checks if two values are equal. More...
 
Value[] CopyInnerValues ()
 

Static Public Member Functions

static float Determinant (Matrix4x4 m)
 The determinant of the given matrix. Built in to newer versions of Unity. More...
 
static Vector3 Combine (Vector3 a, Vector3 b, float ascl, float bscl)
 The combine function (20.1). More...
 

Protected Member Functions

override Css.Value Clone ()
 Duplicates this value. More...
 

Properties

Quaternion Rotation [get, set]
 A 4 component rotation. Note that this is not stored in the params so it can be correctly slerped. More...
 
Vector4 Perspective [get, set]
 A 4 component perspective vector. More...
 
Vector3 Translation [get, set]
 A 3 component translation. More...
 
Vector3 Scale [get, set]
 A 3 component scale. More...
 
Vector3 Skew [get, set]
 A 3 component skew. More...
 
override bool Is3D [get]
 True if this is a 3D transform. More...
 
- Properties inherited from Css.Functions.Transformation
virtual bool Is3D [get]
 True if this is a 3D transform. More...
 
- Properties inherited from Css.CssFunction
override bool IsFunction [get]
 
override string Identifier [get]
 
- Properties inherited from Css.ValueSet
override bool IsAbsolute [get]
 
override string Identifier [get]
 
Value First [get]
 
override int Count [get, set]
 
override bool IsColour [get]
 
override Value this[int index] [get, set]
 
- Properties inherited from Css.CssUnit
virtual string[] PreText [get]
 The set of text strings that indicate this unit is about to appear in the CSS stream. #, " etc. More...
 
virtual string[] PostText [get]
 The set of text strings that indicate this unit has just appeared in the CSS stream. px,%,cm etc. More...
 
- Properties inherited from Css.Value
ValueType Type [get, set]
 
bool IsCommaArray [get]
 Checks if this value is a,comma,array. More...
 
virtual bool IsFunction [get]
 Checks if this is a function. More...
 
virtual bool IsAuto [get]
 Checks if this is the 'auto' keyword More...
 
virtual bool IsColour [get]
 Checks if this is a suitable colour. More...
 
virtual bool IsCached [get]
 True if this is a 'cached' value. See CachedIntegerUnit. More...
 
virtual Css.Value CachedOrigin [get]
 The original value of a cached object. More...
 
virtual bool IsAbsolute [get]
 Checks if this is an absolute value and is not a percentage/em/ rectangle containing percents. More...
 
virtual string Identifier [get]
 Used for locating e.g. a function contained within a set. More...
 
string Hash [get]
 Text is e.g. "afile.svg#something". This is either 'something' or null. More...
 
string Text [get]
 Gets context-free text such as font family names. More...
 
virtual int Count [get, set]
 The number of internal values. More...
 
virtual Value this[int index] [get, set]
 
virtual Value this[string index] [get, set]
 
virtual bool IsInherit [get]
 Is this an inheriting value? More...
 
virtual Css.Value Computed [get]
 Resolves through e.g. inherit and initial. More...
 
virtual string HexString [get]
 Converts this value into a hex string that is 2 characters long. More...
 

Private Member Functions

float Get (int index)
 Gets the float value from the given param index. More...
 
void Set (int index, float value)
 Sets the float value at the given param index. More...
 

Private Attributes

bool Changed =false
 True if the params have changed and needs to be reconstructed. More...
 
Matrix4x4 Matrix_ =Matrix4x4.identity
 The constructed raw matrix. More...
 
Quaternion Rotation_
 A 4 component rotation. Note that this is not stored in the params so it can be correctly slerped. More...
 

Additional Inherited Members

- Public Attributes inherited from Css.CssFunction
bool LiteralValue
 True if this functions value should be read literally. More...
 
string Name
 The main name of this function. Originates from the first result returned by GetNames. More...
 
- Protected Attributes inherited from Css.Value
ValueType Type_ =ValueType.Null
 The type of value this is. More...
 
- Package Attributes inherited from Css.ValueSet
Value[] Values
 The set of internal values, such as each individual value of padding. More...
 
- Static Package Attributes inherited from Css.Value
static readonly Value Empty =new Units.DecimalUnit(0)
 Represents an empty value. More...
 

Constructor & Destructor Documentation

Css.InterpolationMatrix3D.InterpolationMatrix3D ( )
inline
Css.InterpolationMatrix3D.InterpolationMatrix3D ( Matrix4x4  matrix)
inline

Member Function Documentation

override Matrix4x4 Css.InterpolationMatrix3D.CalculateMatrix ( RenderableData  context)
inlinevirtual

Builds the transformation matrix.

Reimplemented from Css.Functions.Transformation.

override Css.Value Css.InterpolationMatrix3D.Clone ( )
inlineprotectedvirtual

Duplicates this value.

Returns
A duplicated copy of this value. Note that if this value has inner values, they are copied too.

Reimplemented from Css.Value.

static Vector3 Css.InterpolationMatrix3D.Combine ( Vector3  a,
Vector3  b,
float  ascl,
float  bscl 
)
inlinestatic

The combine function (20.1).

bool Css.InterpolationMatrix3D.Decompose ( )
inline

Decompose the matrix now.

static float Css.InterpolationMatrix3D.Determinant ( Matrix4x4  m)
inlinestatic

The determinant of the given matrix. Built in to newer versions of Unity.

float Css.InterpolationMatrix3D.Get ( int  index)
inlineprivate

Gets the float value from the given param index.

override string [] Css.InterpolationMatrix3D.GetNames ( )
inlinevirtual

The set of all function names that this one will handle. Usually just one. Lowercase. e.g. "rgb", "rgba".

Reimplemented from Css.CssFunction.

void Css.InterpolationMatrix3D.Recompose ( )
inline

Recompose the matrix now.

void Css.InterpolationMatrix3D.Set ( int  index,
float  value 
)
inlineprivate

Sets the float value at the given param index.

Member Data Documentation

bool Css.InterpolationMatrix3D.Changed =false
private

True if the params have changed and needs to be reconstructed.

Matrix4x4 Css.InterpolationMatrix3D.Matrix_ =Matrix4x4.identity
private

The constructed raw matrix.

Quaternion Css.InterpolationMatrix3D.Rotation_
private

A 4 component rotation. Note that this is not stored in the params so it can be correctly slerped.

Property Documentation

override bool Css.InterpolationMatrix3D.Is3D
get

True if this is a 3D transform.

Vector4 Css.InterpolationMatrix3D.Perspective
getset

A 4 component perspective vector.

Quaternion Css.InterpolationMatrix3D.Rotation
getset

A 4 component rotation. Note that this is not stored in the params so it can be correctly slerped.

Vector3 Css.InterpolationMatrix3D.Scale
getset

A 3 component scale.

Vector3 Css.InterpolationMatrix3D.Skew
getset

A 3 component skew.

Vector3 Css.InterpolationMatrix3D.Translation
getset

A 3 component translation.