Documentation - v19.2.0-dev
    Preparing search index...

    Hierarchy (View Summary)

    Index

    Constructors

    • Parameters

      • options: BatchedGeometryOptions = {}

      Returns BatchedGeometry

    Properties

    _matricesTexture: DataTexture
    attributes: Attributes

    This hashmap has as id the name of the attribute to be set and as value the THREE.BufferAttribute | buffer to set it to. Rather than accessing this property directly, use .setAttribute and .getAttribute to access attributes of this geometry.

    {}

    boundingBox: Box3 = ...

    Bounding box for the THREE.BufferGeometry | BufferGeometry, which can be calculated with .computeBoundingBox().

    Bounding boxes aren't computed by default. They need to be explicitly computed, otherwise they are null.

    null

    boundingSphere: Sphere = ...

    Bounding sphere for the THREE.BufferGeometry | BufferGeometry, which can be calculated with .computeBoundingSphere().

    bounding spheres aren't computed by default. They need to be explicitly computed, otherwise they are null.

    null

    boundsTree?: GeometryBVH
    computeBoundsTree: (options?: ComputeBVHOptions) => GeometryBVH
    disposeBoundsTree: () => void
    drawRange: { count: number; start: number }

    Determines the part of the geometry to render. This should not be set directly, instead use .setDrawRange(...).

    For non-indexed THREE.BufferGeometry | BufferGeometry, count is the number of vertices to render.

    { start: 0, count: Infinity }

    groups: GeometryGroup[]

    Split the geometry into groups, each of which will be rendered in a separate WebGL draw call. This allows an array of materials to be used with the geometry.

    Every vertex and index must belong to exactly one group — groups must not share vertices or indices, and must not leave vertices or indices unused.

    []

    id: number

    Unique number for this THREE.BufferGeometry | BufferGeometry instance.

    Expects a Integer

    index: BufferAttribute | null

    Allows for vertices to be re-used across multiple triangles; this is called using "indexed triangles". Each triangle is associated with the indices of three vertices. This attribute therefore stores the index of each vertex for each triangular face. If this attribute is not set, the THREE.WebGLRenderer | renderer assumes that each three contiguous positions represent a single triangle.

    null

    indirect: IndirectStorageBufferAttribute | null
    isBatchedGeometry: true
    isBufferGeometry: true

    Read-only flag to check if a given object is of type BufferGeometry.

    This is a constant value

    true

    morphAttributes: Record<
        "position"
        | "normal"
        | "color",
        (BufferAttribute | InterleavedBufferAttribute)[],
    >

    Hashmap of THREE.BufferAttribute | BufferAttributes holding details of the geometry's morph targets.

    Once the geometry has been rendered, the morph attribute data cannot be changed. You will have to call .dispose(), and create a new instance of THREE.BufferGeometry | BufferGeometry.

    {}

    morphTargetsRelative: boolean

    Used to control the morph target behavior; when set to true, the morph target data is treated as relative offsets, rather than as absolute positions/normals.

    false

    name: string

    Optional name for this THREE.BufferGeometry | BufferGeometry instance.

    ''

    needBoundingBoxUpdate: boolean = false
    type: string

    A Read-only string to check if this object type.

    Sub-classes will update this value.

    BufferGeometry

    userData: Record<string, any>

    An object that can be used to store custom data about the BufferGeometry. It should not hold references to functions as these will not be cloned.

    {}

    uuid: string

    UUID of this object instance.

    This gets automatically assigned and shouldn't be edited.

    Accessors

    • get geometryCount(): number

      Returns number

    • get maxGeometryCount(): number

      Returns number

    • get stats(): { indexFilRate: number; vertexFillRate: number }

      Returns { indexFilRate: number; vertexFillRate: number }

    Methods

    • Adds a listener to an event type.

      Type Parameters

      • T extends "dispose"

      Parameters

      • type: T

        The type of event to listen to.

      • listener: EventListener<{ dispose: {} }[T], T, BatchedGeometry>

        The function that gets called when the event is fired.

      Returns void

    • Parameters

      • geometry: BufferGeometry

      Returns number

    • Adds a group to this geometry

      Parameters

      • start: number
      • count: number
      • OptionalmaterialIndex: number

      Returns void

      the groups property for details.

    • Applies the matrix transform to the geometry.

      Parameters

      • matrix: Matrix4

      Returns this

    • Applies the rotation represented by the quaternion to the geometry.

      Parameters

      • quaternion: Quaternion

      Returns this

    • Parameters

      • geometry: BufferGeometry

      Returns boolean

    • Center the geometry based on the bounding box.

      Returns this

    • Clears all groups.

      Returns void

    • Creates a clone of this BufferGeometry

      Returns this

    • Computes the bounding box of the geometry, and updates the .boundingBox attribute. The bounding box is not computed by the engine; it must be computed by your app. You may need to recompute the bounding box if the geometry vertices are modified.

      Returns void

    • Computes the bounding sphere of the geometry, and updates the .boundingSphere attribute. The engine automatically computes the bounding sphere when it is needed, e.g., for ray casting or view frustum culling. You may need to recompute the bounding sphere if the geometry vertices are modified.

      Returns void

    • Calculates and adds a tangent attribute to this geometry. The computation is only supported for indexed geometries and if position, normal, and uv attributes are defined

      Returns void

      When using a tangent space normal map, prefer the MikkTSpace algorithm provided by BufferGeometryUtils.computeMikkTSpaceTangents instead.

    • Computes vertex normals for the given vertex data. For indexed geometries, the method sets each vertex normal to be the average of the face normals of the faces that share that vertex. For non-indexed geometries, vertices are not shared, and the method sets each vertex normal to be the same as the face normal.

      Returns void

    • Copies another BufferGeometry to this BufferGeometry.

      Parameters

      • source: BufferGeometry

      Returns this

    • Deletes the attribute with the specified name.

      Parameters

      • name: string

      Returns this

    • Fire an event type.

      Type Parameters

      • T extends "dispose"

      Parameters

      • event: BaseEvent<T> & { dispose: {} }[T]

        The event that gets fired.

      Returns void

    • Frees the GPU-related resources allocated by this instance.

      Returns void

      Call this method whenever this instance is no longer used in your app.

    • Returns the attribute with the specified name.

      Type Parameters

      • K extends string

      Parameters

      • name: K

      Returns BufferAttribute | InterleavedBufferAttribute

    • Return the geometry with reference to the main position and normal buffer attributes but with a short copy of the index buffer attribute

      Parameters

      • geometryId: number
      • target: BufferGeometry

      Returns BufferGeometry<NormalBufferAttributes>

    • Return the .index buffer.

      Returns BufferAttribute | null

    • Returns number

    • Returns IndirectStorageBufferAttribute | null

    • Parameters

      • geometryId: number
      • target: Box3

      Returns Box3

    • Parameters

      • geometryId: number
      • target: Sphere

      Returns Sphere

    • Parameters

      • geometryId: number
      • matrix: Matrix4

      Returns Matrix4

    • Parameters

      • geometryId: number
      • target: Vector3

      Returns Vector3

    • Return the geometry with reference to the main buffer attributes, share the same attributes as the batched Geometry

      Parameters

      • geometryId: number
      • target: BufferGeometry

      Returns BufferGeometry<NormalBufferAttributes>

    • Returns number

    • Parameters

      • geometryId: number
      • target: Box3

      Returns Box3

    • Parameters

      • geometryId: number
      • target: Sphere

      Returns Sphere

    • Returns true if the attribute with the specified name exists.

      Parameters

      • name: string

      Returns boolean

    • Checks if listener is added to an event type.

      Type Parameters

      • T extends "dispose"

      Parameters

      • type: T

        The type of event to listen to.

      • listener: EventListener<{ dispose: {} }[T], T, BatchedGeometry>

        The function that gets called when the event is fired.

      Returns boolean

    • Returns void

    • Rotates the geometry to face a point in space.

      Parameters

      • vector: Vector3

        A world vector to look at.

      Returns this

      This is typically done as a one time operation, and not during a loop.

    • Every normal vector in a geometry will have a magnitude of 1

      Returns void

      This will correct lighting on the geometry surfaces.

    • Removes a listener from an event type.

      Type Parameters

      • T extends "dispose"

      Parameters

      • type: T

        The type of the listener that gets removed.

      • listener: EventListener<{ dispose: {} }[T], T, BatchedGeometry>

        The listener function that gets removed.

      Returns void

    • Remove unused values in attributes and index buffer Update vertexRanges and indexRanges with the new ranges Set the geometry id as available

      Parameters

      • geometryId: number

      Returns void

    • Rotate the geometry about the X axis. This is typically done as a one time operation, and not during a loop.

      Parameters

      • angle: number

        radians. Expects a Float

      Returns this

      Use THREE.Object3D.rotation | Object3D.rotation for typical real-time mesh rotation.

    • Rotate the geometry about the Y axis.

      Parameters

      • angle: number

        radians. Expects a Float

      Returns this

      This is typically done as a one time operation, and not during a loop.

    • Rotate the geometry about the Z axis.

      Parameters

      • angle: number

        radians. Expects a Float

      Returns this

      This is typically done as a one time operation, and not during a loop.

    • Scale the geometry data.

      Parameters

      • x: number

        Expects a Float

      • y: number

        Expects a Float

      • z: number

        Expects a Float

      Returns this

      This is typically done as a one time operation, and not during a loop.

    • Sets an attribute to this geometry with the specified name.

      Type Parameters

      • K extends string

      Parameters

      • name: K
      • attribute: BufferAttribute | InterleavedBufferAttribute

      Returns this

      Use this rather than the attributes property, because an internal hashmap of .attributes is maintained to speed up iterating over attributes.

    • Set the .drawRange property

      Parameters

      • start: number
      • count: number

        is the number of vertices or indices to render. Expects a Integer

      Returns void

      For non-indexed BufferGeometry, count is the number of vertices to render

    • Defines a geometry by creating a position attribute based on the given array of points. The array can hold instances of Vector2 or Vector3. When using two-dimensional data, the z coordinate for all vertices is set to 0.

      If the method is used with an existing position attribute, the vertex data are overwritten with the data from the array. The length of the array must match the vertex count.

      Parameters

      • points: Vector3[] | Vector2[]

      Returns this

    • Set the THREE.BufferGeometry.index | .index buffer.

      Parameters

      • index: number[] | BufferAttribute | null

      Returns this

    • Parameters

      • indirect: IndirectStorageBufferAttribute | null

      Returns this

    • Parameters

      • geometryId: number
      • matrix: Matrix4

      Returns Matrix4

    • Parameters

      • geometryId: number
      • position: Vector3

      Returns Vector3

    • Convert the buffer geometry to three.js JSON Object/Scene format.

      Returns BufferGeometryJSON

    • Return a non-index version of an indexed BufferGeometry.

      Returns BufferGeometry

    • Translate the geometry.

      Parameters

      • x: number

        Expects a Float

      • y: number

        Expects a Float

      • z: number

        Expects a Float

      Returns this

      This is typically done as a one time operation, and not during a loop.