A class containing utility functions for [page:BufferGeometry BufferGeometry] instances.
		geometries -- Array of [page:BufferGeometry BufferGeometry] instances.
		useGroups -- Whether groups should be generated for the merged geometry or not.
		Merges a set of geometries into a single instance. All geometries must have compatible attributes.
		If merge does not succeed, the method returns null.
		
		attributes -- Array of [page:BufferAttribute BufferAttribute] instances.
		Merges a set of attributes into a single instance. All attributes must have compatible properties
		and types, and [page:InterleavedBufferAttribute InterleavedBufferAttributes] are not supported. If merge does not succeed, the method
		returns null.
		
		attributes -- Array of [page:BufferAttribute BufferAttribute] instances.
		Interleaves a set of attributes and returns a new array of corresponding attributes that share
		a single InterleavedBuffer instance. All attributes must have compatible types. If merge does not
		succeed, the method returns null.
		
		geometry -- Instance of [page:BufferGeometry BufferGeometry] to estimate the memory use of.
		Returns the amount of bytes used by all attributes to represent the geometry.
		
		geometry -- Instance of [page:BufferGeometry BufferGeometry] to merge the vertices of.
		tolerance -- The maximum allowable difference between vertex attributes to merge. Defaults to 1e-4.
		Returns a new [page:BufferGeometry BufferGeometry] with vertices for which all similar vertex attributes
		(within tolerance) are merged.
		
		geometry -- Instance of [page:BufferGeometry BufferGeometry].
		drawMode -- The draw mode of the given geometry.
		Returns a new indexed [page:BufferGeometry BufferGeometry] based on the [page:DrawModes THREE.TrianglesDrawMode] draw mode. This mode
		corresponds to the *gl.TRIANGLES* WebGL primitive.
		
		object -- Instance of [page:Mesh Mesh] | [page:Line Line] | [page:Points Points].
		Returns the current attributes (Position and Normal) of a morphed/skinned [page:Object3D Object3D] whose geometry is a 
		[page:BufferGeometry BufferGeometry], together with the original ones: An Object with 4 properties: 
		`positionAttribute`, `normalAttribute`, `morphedPositionAttribute` and `morphedNormalAttribute`.
		Helpful for Raytracing or Decals (i.e. a [page:DecalGeometry DecalGeometry] applied to a morphed Object 
		with a [page:BufferGeometry BufferGeometry] will use the original BufferGeometry, not the morphed/skinned one, 
		generating an incorrect result. 
		Using this function to create a shadow Object3D the DecalGeometry can be correctly generated).
		
[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/utils/BufferGeometryUtils.js examples/jsm/utils/BufferGeometryUtils.js]