Methods
intersect
intersect(
scene: Scene,
camera: Camera,
point: Vector2,
castLayers: ObjectLayers.STREAM_CONTENT_MESH,
nearest?: boolean,
bounds?: Box3,
firstOnly?: boolean,
tasOnly?: boolean
): Array<ExtendedMeshIntersection> | null
intersect(
scene: Scene,
camera: Camera,
point: Vector2,
castLayers?: Array<ObjectLayers>,
nearest?: boolean,
bounds?: Box3,
firstOnly?: boolean,
tasOnly?: boolean
): Array<ExtendedIntersection> | null
Scene intersect function.
All intersect calls from this class will use the available acceleration structures. This makes the intersection significantly faster than using your own three.js raycasters.
Parameters
- scene: Scene
- camera: Camera
- point: The NDC point to cast the ray from
- castLayers: The ObjectLayers enabled on the raycaster
- nearest: If the results should be sorted by dinstance. i.e nearest first
- bounds: An optional bounds where the intersecting takes place. Everything outside this bounds is disregarded from the result list
for this cast. Any object outside of these layers is disregarded from intersection
- firstOnly: When this flag is enabled the acceleration structure will stop traversing after encountering the first intersection. Only applies to meshes
- tasOnly: When this flag is enabled, onyl the TAS will be intersected. Can be combined with
firstOnly if wanted
Returns: Array< Intersection > Three.js defined intersection
intersectRay
intersectRay(
scene: Scene,
camera: Camera,
ray: Ray,
castLayers: ObjectLayers.STREAM_CONTENT_MESH,
nearest?: boolean,
bounds?: Box3,
firstOnly?: boolean,
tasOnly?: boolean
): Array<ExtendedMeshIntersection> | null
intersectRay(
scene: Scene,
camera: Camera,
ray: Ray,
castLayers?: Array<ObjectLayers>,
nearest?: boolean,
bounds?: Box3,
firstOnly?: boolean,
tasOnly?: boolean
): Array<ExtendedIntersection> | null
Scene intersect function using a provided Ray.
All intersect calls from this class will use the available acceleration structures. This makes the intersection significantly faster than using your own three.js raycasters.
Parameters
- scene: Scene
- camera: Camera
- ray: The ray to use for casting
- castLayers: The ObjectLayers enabled on the raycaster
- nearest: If the results should be sorted by dinstance. i.e nearest first
- bounds: An optional bounds where the intersecting takes place. Everything outside this bounds is disregarded from the result list
for this cast. Any object outside of these layers is disregarded from intersection
- firstOnly: When this flag is enabled the acceleration structure will stop traversing after encountering the first intersection. Only applies to meshes
- tasOnly: When this flag is enabled, onyl the TAS will be intersected. Can be combined with
firstOnly if wanted
Returns: Array< Intersection > Three.js defined intersection
Typedefs
ExtendedIntersection
interface ExtendedIntersection extends Intersection {
batchObject?: BatchObject;
pointOnLine?: Material;
}
Extension of three.jsâs default Intersection.
ExtendedMeshIntersection
interface ExtendedMeshIntersection extends MeshIntersection {
batchObject: BatchObject
object: SpeckleMesh | SpeckleInstancedMesh
}
MeshIntersection
interface MeshIntersection extends Intersection {
face: Face
faceIndex: number
}