Package icyllis.arc3d.compiler.tree

# Class Type.VectorType

java.lang.Object
icyllis.arc3d.compiler.tree.Node
icyllis.arc3d.compiler.tree.Symbol
icyllis.arc3d.compiler.tree.Type
icyllis.arc3d.compiler.tree.Type.VectorType

Enclosing class:
  `Type`

public static final class Type.VectorType extends 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.VectorType`

  ## Nested 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`

  ### Fields inherited from class icyllis.arc3d.compiler.tree.Node

  `mPosition`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getCols()`
  For matrices, returns the number of columns (e.g.
  `Type.ScalarType`
  `getComponentType()`
  For matrices and vectors, returns the scalar type of individual cells (e.g.
  `Type`
  `getElementType()`
  For arrays, returns the base type.
  `int`
  `getRows()`
  For matrices and vectors, returns the number of rows (e.g.
  `boolean`
  `isVector()`

  ### Methods inherited from class icyllis.arc3d.compiler.tree.Type

  `canCoerceTo, checkLiteralOutOfRange, coerceExpression, convertArraySize, convertArraySize, 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, isMatrix, isMultiSampled, isNumeric, isOpaque, isRelaxedPrecision, isSampled, isScalar, isSeparateSampler, isShadow, isSigned, isSignedOrCompound, isStorageImage, isStruct, isUnsigned, isUnsignedOrCompound, isUnsizedArray, isUsableInArray, isVoid, makeAliasType, makeAliasType, makeArrayType, makeCombinedType, makeGenericType, makeImageType, makeMatrixType, makeSamplerType, makeScalarType, makeScalarType, makeSeparateType, makeSpecialType, makeStructType, makeTextureType, makeVectorType, matches, resolve, toCompound, toString, toVector`

  ### Methods inherited from class icyllis.arc3d.compiler.tree.Symbol

  `accept, getName, setName`

  ### Methods inherited from class icyllis.arc3d.compiler.tree.Node

  `getEndOffset, getStartOffset`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Method Details

  - ### isVector

    public boolean isVector()
    Overrides:
      `isVector` in class `Type`

  - ### getElementType

    @Nonnull public Type getElementType()
    Description copied from class: `Type`
    For 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:
      `getElementType` in class `Type`

  - ### getComponentType

    @Nonnull public Type.ScalarType getComponentType()
    Description copied from class: `Type`
    For 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:
      `getComponentType` in class `Type`

  - ### getCols

    public int getCols()
    Description copied from class: `Type`
    For 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.
    Overrides:
      `getCols` in class `Type`

  - ### getRows

    public int getRows()
    Description copied from class: `Type`
    For 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.
    Overrides:
      `getRows` in class `Type`