Class TShapeOctreeNode

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TShapeOctreeNode = class(TBaseTrianglesOctreeNode)

Description

no description available, TBaseTrianglesOctreeNode description follows
no description available, TOctreeNode description follows

Octree node.

  • Leaf nodes store a list of indexes in ItemsIndices array. These are usuallly indexes to some array of items on TOctree. For the sake of this unit they are just some integers that uniquely describe items that you want to keep in octree leafs. The base abstract TOctreeNode class doesn't clarify what kind of items are actually kept.

  • Not leaf (internal) nodes have 8 children nodes in TreeSubNodes.

Each TOctreeNode also has some essential properties like Box, MiddlePoint and ParentTree.

Hierarchy

Overview

Fields

Public LastVisitedFrameId: Cardinal;
Public Visible: boolean;

Methods

Public function ParentTree: TShapeOctree;
Public function ParentNode: TShapeOctreeNode;
Public function SphereCollision(const pos: TVector3Single; const Radius: Single; const TriangleToIgnore: PTriangle; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): PTriangle; override;
Public function IsSphereCollision(const pos: TVector3Single; const Radius: Single; const TriangleToIgnore: PTriangle; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): boolean; override;
Public function BoxCollision(const ABox: TBox3D; const TriangleToIgnore: PTriangle; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): PTriangle; override;
Public function IsBoxCollision(const ABox: TBox3D; const TriangleToIgnore: PTriangle; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): boolean; override;
Public function SegmentCollision( out Intersection: TVector3Single; out IntersectionDistance: Single; const Pos1, Pos2: TVector3Single; const Tag: TMailboxTag; const ReturnClosestIntersection: boolean; const TriangleToIgnore: PTriangle; const IgnoreMarginAtStart: boolean; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): PTriangle; override;
Public function IsSegmentCollision( const Pos1, Pos2: TVector3Single; const Tag: TMailboxTag; const TriangleToIgnore: PTriangle; const IgnoreMarginAtStart: boolean; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): boolean; override;
Public function RayCollision( out Intersection: TVector3Single; out IntersectionDistance: Single; const RayOrigin, RayDirection: TVector3Single; const Tag: TMailboxTag; const ReturnClosestIntersection: boolean; const TriangleToIgnore: PTriangle; const IgnoreMarginAtStart: boolean; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): PTriangle; override;
Public function IsRayCollision( const RayOrigin, RayDirection: TVector3Single; const Tag: TMailboxTag; const TriangleToIgnore: PTriangle; const IgnoreMarginAtStart: boolean; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): boolean; override;

Description

Fields

Public LastVisitedFrameId: Cardinal;

For Hierarchical Occlusion Culling

Public Visible: boolean;
 

Methods

Public function ParentTree: TShapeOctree;
 
Public function ParentNode: TShapeOctreeNode;
 
Public function SphereCollision(const pos: TVector3Single; const Radius: Single; const TriangleToIgnore: PTriangle; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): PTriangle; override;
 
Public function IsSphereCollision(const pos: TVector3Single; const Radius: Single; const TriangleToIgnore: PTriangle; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): boolean; override;
 
Public function BoxCollision(const ABox: TBox3D; const TriangleToIgnore: PTriangle; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): PTriangle; override;
 
Public function IsBoxCollision(const ABox: TBox3D; const TriangleToIgnore: PTriangle; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): boolean; override;
 
Public function SegmentCollision( out Intersection: TVector3Single; out IntersectionDistance: Single; const Pos1, Pos2: TVector3Single; const Tag: TMailboxTag; const ReturnClosestIntersection: boolean; const TriangleToIgnore: PTriangle; const IgnoreMarginAtStart: boolean; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): PTriangle; override;
 
Public function IsSegmentCollision( const Pos1, Pos2: TVector3Single; const Tag: TMailboxTag; const TriangleToIgnore: PTriangle; const IgnoreMarginAtStart: boolean; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): boolean; override;
 
Public function RayCollision( out Intersection: TVector3Single; out IntersectionDistance: Single; const RayOrigin, RayDirection: TVector3Single; const Tag: TMailboxTag; const ReturnClosestIntersection: boolean; const TriangleToIgnore: PTriangle; const IgnoreMarginAtStart: boolean; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): PTriangle; override;
 
Public function IsRayCollision( const RayOrigin, RayDirection: TVector3Single; const Tag: TMailboxTag; const TriangleToIgnore: PTriangle; const IgnoreMarginAtStart: boolean; const TrianglesToIgnoreFunc: T3DTriangleIgnoreFunc): boolean; override;
 

Generated by PasDoc 0.13.0 on 2013-08-17 21:27:14