Top Description Fields Constructors Methods
org.apache.commons.math3.geometry.partitioning

pack-priv Class InsideFinder<S extends Space>

extends Object
Class Inheritance
Type Parameters
<S>
Type of the space.
Imports
org.apache.commons.math3.geometry.Space

Utility class checking if inside nodes can be found on the plus and minus sides of an hyperplane.
Since
3.4

Field Summary

Modifier and TypeField and Description
private boolean
minusFound

Indicator of inside leaf nodes found on the plus side.

private boolean
plusFound

Indicator of inside leaf nodes found on the plus side.

private final Region<S>
region

Region on which to operate.

Constructor Summary

AccessConstructor and Description
pack-priv
InsideFinder(final Region<S>
region on which to operate
region
)

Simple constructor.

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

true if inside leaf nodes have been found on the minus side
minusFound
()

Check if inside leaf nodes have been found on the minus side.

public boolean

Returns:

true if inside leaf nodes have been found on the plus side
plusFound
()

Check if inside leaf nodes have been found on the plus side.

public void
recurseSides(final BSPTree<S>
current BSP tree node
node
,
final SubHyperplane<S>
sub-hyperplane
sub
)

Search recursively for inside leaf nodes on each side of the given hyperplane.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

minusFoundback to summary
private boolean minusFound

Indicator of inside leaf nodes found on the plus side.

plusFoundback to summary
private boolean plusFound

Indicator of inside leaf nodes found on the plus side.

regionback to summary
private final Region<S> region

Region on which to operate.

Constructor Detail

InsideFinderback to summary
pack-priv InsideFinder(final Region<S> region)

Simple constructor.

Parameters
region:Region<S>

region on which to operate

Method Detail

minusFoundback to summary
public boolean minusFound()

Check if inside leaf nodes have been found on the minus side.

Returns:boolean

true if inside leaf nodes have been found on the minus side

plusFoundback to summary
public boolean plusFound()

Check if inside leaf nodes have been found on the plus side.

Returns:boolean

true if inside leaf nodes have been found on the plus side

recurseSidesback to summary
public void recurseSides(final BSPTree<S> node, final SubHyperplane<S> sub)

Search recursively for inside leaf nodes on each side of the given hyperplane.

The algorithm used here is directly derived from the one described in section III (Binary Partitioning of a BSP Tree) of the Bruce Naylor, John Amanatides and William Thibault paper Merging BSP Trees Yields Polyhedral Set Operations Proc. Siggraph '90, Computer Graphics 24(4), August 1990, pp 115-124, published by the Association for Computing Machinery (ACM)..

Parameters
node:BSPTree<S>

current BSP tree node

sub:SubHyperplane<S>

sub-hyperplane