docs.unity3d.com
    Show / Hide Table of Contents

    Struct BoundingVolumeHierarchy

    Namespace: Unity.Physics
    Syntax
    public struct BoundingVolumeHierarchy

    Constructors

    BoundingVolumeHierarchy(NativeArray<BoundingVolumeHierarchy.Node>)

    Declaration
    public BoundingVolumeHierarchy(NativeArray<BoundingVolumeHierarchy.Node> nodes)
    Parameters
    Type Name Description
    NativeArray<BoundingVolumeHierarchy.Node> nodes

    BoundingVolumeHierarchy(NativeArray<BoundingVolumeHierarchy.Node>, NativeArray<CollisionFilter>)

    Declaration
    public BoundingVolumeHierarchy(NativeArray<BoundingVolumeHierarchy.Node> nodes, NativeArray<CollisionFilter> nodeFilters)
    Parameters
    Type Name Description
    NativeArray<BoundingVolumeHierarchy.Node> nodes
    NativeArray<CollisionFilter> nodeFilters

    BoundingVolumeHierarchy(BoundingVolumeHierarchy.Node*, CollisionFilter*)

    Declaration
    public BoundingVolumeHierarchy(BoundingVolumeHierarchy.Node*nodes, CollisionFilter*nodeFilters)
    Parameters
    Type Name Description
    BoundingVolumeHierarchy.Node* nodes
    CollisionFilter* nodeFilters

    Properties

    Domain

    Declaration
    public readonly Aabb Domain { get; }
    Property Value
    Type Description
    Aabb

    Methods

    AabbOverlap<TProcessor, TCollector>(OverlapAabbInput, ref TProcessor, ref TCollector, Int32)

    Declaration
    public void AabbOverlap<TProcessor, TCollector>(OverlapAabbInput input, ref TProcessor processor, ref TCollector collector, int root = 1)
        where TProcessor : struct, BoundingVolumeHierarchy.IAabbOverlapLeafProcessor where TCollector : struct, IOverlapCollector
    Parameters
    Type Name Description
    OverlapAabbInput input
    TProcessor processor
    TCollector collector
    Int32 root
    Type Parameters
    Name Description
    TProcessor
    TCollector

    Build(NativeArray<BoundingVolumeHierarchy.PointAndIndex>, NativeArray<Aabb>, out Int32, Boolean)

    Declaration
    public void Build(NativeArray<BoundingVolumeHierarchy.PointAndIndex> points, NativeArray<Aabb> aabbs, out int nodeCount, bool useSah = false)
    Parameters
    Type Name Description
    NativeArray<BoundingVolumeHierarchy.PointAndIndex> points
    NativeArray<Aabb> aabbs
    Int32 nodeCount
    Boolean useSah

    BvhOverlap<T>(ref T, BoundingVolumeHierarchy, Int32, Int32)

    Declaration
    public void BvhOverlap<T>(ref T pairWriter, BoundingVolumeHierarchy other, int rootA = 1, int rootB = 1)
        where T : struct, BoundingVolumeHierarchy.ITreeOverlapCollector
    Parameters
    Type Name Description
    T pairWriter
    BoundingVolumeHierarchy other
    Int32 rootA
    Int32 rootB
    Type Parameters
    Name Description
    T

    ColliderCast<TProcessor, TCollector>(ColliderCastInput, ref TProcessor, ref TCollector)

    Declaration
    public bool ColliderCast<TProcessor, TCollector>(ColliderCastInput input, ref TProcessor leafProcessor, ref TCollector collector)
        where TProcessor : struct, BoundingVolumeHierarchy.IColliderCastLeafProcessor where TCollector : struct, ICollector<ColliderCastHit>
    Parameters
    Type Name Description
    ColliderCastInput input
    TProcessor leafProcessor
    TCollector collector
    Returns
    Type Description
    Boolean
    Type Parameters
    Name Description
    TProcessor
    TCollector

    Distance<TProcessor, TCollector>(ColliderDistanceInput, ref TProcessor, ref TCollector)

    Declaration
    public bool Distance<TProcessor, TCollector>(ColliderDistanceInput input, ref TProcessor leafProcessor, ref TCollector collector)
        where TProcessor : struct, BoundingVolumeHierarchy.IColliderDistanceLeafProcessor where TCollector : struct, ICollector<DistanceHit>
    Parameters
    Type Name Description
    ColliderDistanceInput input
    TProcessor leafProcessor
    TCollector collector
    Returns
    Type Description
    Boolean
    Type Parameters
    Name Description
    TProcessor
    TCollector

    Distance<TProcessor, TCollector>(PointDistanceInput, ref TProcessor, ref TCollector)

    Declaration
    public bool Distance<TProcessor, TCollector>(PointDistanceInput input, ref TProcessor leafProcessor, ref TCollector collector)
        where TProcessor : struct, BoundingVolumeHierarchy.IPointDistanceLeafProcessor where TCollector : struct, ICollector<DistanceHit>
    Parameters
    Type Name Description
    PointDistanceInput input
    TProcessor leafProcessor
    TCollector collector
    Returns
    Type Description
    Boolean
    Type Parameters
    Name Description
    TProcessor
    TCollector

    Raycast<TProcessor, TCollector>(RaycastInput, ref TProcessor, ref TCollector)

    Declaration
    public bool Raycast<TProcessor, TCollector>(RaycastInput input, ref TProcessor leafProcessor, ref TCollector collector)
        where TProcessor : struct, BoundingVolumeHierarchy.IRaycastLeafProcessor where TCollector : struct, ICollector<RaycastHit>
    Parameters
    Type Name Description
    RaycastInput input
    TProcessor leafProcessor
    TCollector collector
    Returns
    Type Description
    Boolean
    Type Parameters
    Name Description
    TProcessor
    TCollector

    Refit(NativeArray<Aabb>, Int32, Int32)

    Declaration
    public void Refit(NativeArray<Aabb> aabbs, int nodeStartIndex, int nodeEndIndex)
    Parameters
    Type Name Description
    NativeArray<Aabb> aabbs
    Int32 nodeStartIndex
    Int32 nodeEndIndex

    ScheduleBuildJobs(NativeArray<BoundingVolumeHierarchy.PointAndIndex>, NativeArray<Aabb>, NativeArray<CollisionFilter>, NativeArray<Int32>, Int32, JobHandle, Int32, NativeArray<BoundingVolumeHierarchy.Builder.Range>, NativeArray<Int32>)

    Declaration
    public JobHandle ScheduleBuildJobs(NativeArray<BoundingVolumeHierarchy.PointAndIndex> points, NativeArray<Aabb> aabbs, NativeArray<CollisionFilter> bodyFilters, NativeArray<int> shouldDoWork, int numThreadsHint, JobHandle inputDeps, int numNodes, NativeArray<BoundingVolumeHierarchy.Builder.Range> ranges, NativeArray<int> numBranches)
    Parameters
    Type Name Description
    NativeArray<BoundingVolumeHierarchy.PointAndIndex> points
    NativeArray<Aabb> aabbs
    NativeArray<CollisionFilter> bodyFilters
    NativeArray<Int32> shouldDoWork
    Int32 numThreadsHint
    JobHandle inputDeps
    Int32 numNodes
    NativeArray<BoundingVolumeHierarchy.Builder.Range> ranges
    NativeArray<Int32> numBranches
    Returns
    Type Description
    JobHandle

    SelfBvhOverlap<T>(ref T, Int32, Int32)

    Declaration
    public void SelfBvhOverlap<T>(ref T pairWriter, int rootA = 1, int rootB = 1)
        where T : struct, BoundingVolumeHierarchy.ITreeOverlapCollector
    Parameters
    Type Name Description
    T pairWriter
    Int32 rootA
    Int32 rootB
    Type Parameters
    Name Description
    T

    TreeOverlap<T>(ref T, BoundingVolumeHierarchy.Node*, BoundingVolumeHierarchy.Node*, CollisionFilter*, CollisionFilter*, Int32, Int32)

    Declaration
    public static void TreeOverlap<T>(ref T pairWriter, BoundingVolumeHierarchy.Node*treeA, BoundingVolumeHierarchy.Node*treeB, CollisionFilter*collisionFilterA = default(CollisionFilter*), CollisionFilter*collisionFilterB = default(CollisionFilter*), int rootA = 1, int rootB = 1)
        where T : struct, BoundingVolumeHierarchy.ITreeOverlapCollector
    Parameters
    Type Name Description
    T pairWriter
    BoundingVolumeHierarchy.Node* treeA
    BoundingVolumeHierarchy.Node* treeB
    CollisionFilter* collisionFilterA
    CollisionFilter* collisionFilterB
    Int32 rootA
    Int32 rootB
    Type Parameters
    Name Description
    T
    In This Article
    • Constructors
      • BoundingVolumeHierarchy(NativeArray<BoundingVolumeHierarchy.Node>)
      • BoundingVolumeHierarchy(NativeArray<BoundingVolumeHierarchy.Node>, NativeArray<CollisionFilter>)
      • BoundingVolumeHierarchy(BoundingVolumeHierarchy.Node*, CollisionFilter*)
    • Properties
      • Domain
    • Methods
      • AabbOverlap<TProcessor, TCollector>(OverlapAabbInput, ref TProcessor, ref TCollector, Int32)
      • Build(NativeArray<BoundingVolumeHierarchy.PointAndIndex>, NativeArray<Aabb>, out Int32, Boolean)
      • BvhOverlap<T>(ref T, BoundingVolumeHierarchy, Int32, Int32)
      • ColliderCast<TProcessor, TCollector>(ColliderCastInput, ref TProcessor, ref TCollector)
      • Distance<TProcessor, TCollector>(ColliderDistanceInput, ref TProcessor, ref TCollector)
      • Distance<TProcessor, TCollector>(PointDistanceInput, ref TProcessor, ref TCollector)
      • Raycast<TProcessor, TCollector>(RaycastInput, ref TProcessor, ref TCollector)
      • Refit(NativeArray<Aabb>, Int32, Int32)
      • ScheduleBuildJobs(NativeArray<BoundingVolumeHierarchy.PointAndIndex>, NativeArray<Aabb>, NativeArray<CollisionFilter>, NativeArray<Int32>, Int32, JobHandle, Int32, NativeArray<BoundingVolumeHierarchy.Builder.Range>, NativeArray<Int32>)
      • SelfBvhOverlap<T>(ref T, Int32, Int32)
      • TreeOverlap<T>(ref T, BoundingVolumeHierarchy.Node*, BoundingVolumeHierarchy.Node*, CollisionFilter*, CollisionFilter*, Int32, Int32)
    Back to top
    Terms of use
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023