Package icyllis.arc3d.compiler.tree
Class Type.MatrixType
java.lang.Object
icyllis.arc3d.compiler.tree.Node
icyllis.arc3d.compiler.tree.Symbol
icyllis.arc3d.compiler.tree.Type
icyllis.arc3d.compiler.tree.Type.MatrixType
- Enclosing class:
Type
-
Nested Class Summary
Nested classes/interfaces inherited from class icyllis.arc3d.compiler.tree.Type
Type.AliasType, Type.ArrayType, Type.CoercionCost, Type.Field, Type.GenericType, Type.ImageType, Type.MatrixType, Type.SamplerType, Type.ScalarType, Type.StructType, Type.VectorTypeNested classes/interfaces inherited from class icyllis.arc3d.compiler.tree.Node
Node.ElementKind, Node.ExpressionKind, Node.StatementKind, Node.SymbolKind -
Field Summary
Fields inherited from class icyllis.arc3d.compiler.tree.Type
kArray_TypeKind, kBoolean_ScalarKind, kFloat_ScalarKind, kGeneric_TypeKind, kMatrix_TypeKind, kMaxNestingDepth, kNonScalar_ScalarKind, kOther_TypeKind, kSampler_TypeKind, kScalar_TypeKind, kSigned_ScalarKind, kStruct_TypeKind, kUnsigned_ScalarKind, kUnsizedArray, kVector_TypeKind, kVoid_TypeKind -
Method Summary
Modifier and TypeMethodDescriptionintgetCols()For matrices, returns the number of columns (e.g.@NonNull Type.ScalarTypeFor matrices and vectors, returns the scalar type of individual cells (e.g.@NonNull TypeFor arrays, returns the base type.intgetRows()For matrices and vectors, returns the number of rows (e.g.booleanisMatrix()Methods inherited from class icyllis.arc3d.compiler.tree.Type
canCoerceTo, checkLiteralOutOfRange, coerceExpression, convertArraySize, convertArraySize, getArrayName, getArrayName, getArraySize, getCoercibleTypes, getCoercionCost, getComponents, getDesc, getDimensions, getFields, getKind, getMaxValue, getMinValue, getMinWidth, getNestingDepth, getRank, getScalarKind, getType, getTypeKind, getWidth, isArray, isArrayed, isBoolean, isBooleanOrCompound, isCombinedSampler, isFloat, isFloatOrCompound, isGeneric, isInBuiltinTypes, isInteger, isInterfaceBlock, isMultiSampled, isNumeric, isOpaque, isRelaxedPrecision, isSampled, isScalar, isSeparateSampler, isShadow, isSigned, isSignedOrCompound, isStorageImage, isStruct, isUnsigned, isUnsignedOrCompound, isUnsizedArray, isUsableInArray, isVector, isVoid, makeAliasType, makeAliasType, makeArrayType, makeCombinedType, makeGenericType, makeImageType, makeMatrixType, makeSamplerType, makeScalarType, makeScalarType, makeSeparateType, makeSpecialType, makeStructType, makeTextureType, makeVectorType, matches, resolve, toCompound, toString, toVectorMethods inherited from class icyllis.arc3d.compiler.tree.Node
getEndOffset, getStartOffset
-
Method Details
-
isMatrix
public boolean isMatrix() -
getElementType
Description copied from class:TypeFor arrays, returns the base type. For matrices, returns the column vector type. For vectors, returns the scalar type. For all other types, returns the type itself.- Overrides:
getElementTypein classType
-
getComponentType
Description copied from class:TypeFor matrices and vectors, returns the scalar type of individual cells (e.g. mat2 has a component type of Float). For textures, returns the sampled type (e.g. texture2D has a component type of Float). For arrays, returns the component type of their base type. For all other types, returns the type itself.- Overrides:
getComponentTypein classType
-
getCols
public int getCols()Description copied from class:TypeFor matrices, returns the number of columns (e.g. mat3x4 returns 3). For scalars and vectors, returns 1. For all other types, causes an assertion failure. -
getRows
public int getRows()Description copied from class:TypeFor matrices and vectors, returns the number of rows (e.g. mat3x4 return 4). For scalars, returns 1. For all other types, causes an assertion failure.
-