Click or drag to resize
Ab4d.SharpEngine logo

HitTestOptions Class

HitTestOptions class specifies hit testing parameters that are used with hit testing.
Inheritance Hierarchy
SystemObject
  Ab4d.SharpEngine.CommonHitTestOptions

Namespace: Ab4d.SharpEngine.Common
Assembly: Ab4d.SharpEngine (in Ab4d.SharpEngine.dll) Version: 1.0.8740+deb2991acfe86a95cca780cd4f82bcae2805c1a5
Syntax
C#
public class HitTestOptions

The HitTestOptions type exposes the following members.

Constructors
 NameDescription
Public methodHitTestOptions Constructor
Top
Properties
 NameDescription
Public propertyGenerateOctTreeOnMeshInitialization When true and when mesh has more positions than MeshPositionsCountForOctTreeGeneration, then the OctTree is generated at mesh initialization time. When false and when mesh has more positions than MeshPositionsCountForOctTreeGeneration, then the OctTree is generated when first HitTest method is called on the mesh. Default value is false.
Public propertyGetOnlyFrontFacingTriangles When true then only triangles that have normals (calculated from triangle positions) oriented in the opposite direction as the ray are returned (because ray is usually created from the camera's position this returns only triangles that are facing the camera). When false (by default), all hit triangles are returned regardless of their orientation.
Public propertyGetOnlyOneHitPerSceneNode When true then only one hit result is get from one SceneNode. When false (by default), then multiple hit results can be created by one SceneNode. This property is used only by the GetAllHitObjects(Ray, SceneNode) method and not by GetClosestHitObject(Ray, SceneNode) method.
Public propertyMeshPositionsCountForOctTreeGeneration Gets or sets an integer value that specifies number of positions in a mesh at which a OctTree is generated to speed up hit testing (e.g. if mesh has more positions then a value specified with this property, then OctTree will be generated for the mesh). Default value is 512.
Public propertyOctTreeExpandChildBoundingBoxes ExpandChildBoundingBoxes is a float that defined how much the bounding boxes of node overlap. By default the value is set to 0.2 - so each bounding box is extended for 20% (but it does not go out of the parent's bounding box). This way the triangles that lay on node borders will be put into the child nodes instead of having them in the parent node (there we need to do a hit test every time).
Public propertyOctTreeMaxNodeLevel Number of levels used for OctTree - bigger number reduces the number of triangles in each node but increased the OctTree initialization time and used memory. Default value is 4.
Public propertyUseMultiThreading When true then multi-threaded hit testing algorithms are used when possible.
Top
Methods
 NameDescription
Public methodClone Returns a cloned version of this HitTestOptions.
Public methodEquals
(Overrides ObjectEquals(Object))
Public methodGetHashCode
(Overrides ObjectGetHashCode)
Top
Fields
 NameDescription
Public fieldHitTestFilterCallback When HitTestFilterCallback is specified, the specified predicate is used as a filter that specifies if hit testing is executed on the specified SceneNode and its child SceneNodes (returns true) or not (returns false). When HitTestFilterCallback is null, hit testing is executed on all SceneNodes (as the predicate would always return true).
Top
See Also