org.apache.commons.math3.geometry.partitioning

## Class BoundarySizeVisitor<S extends Space>

- java.lang.Object
- - org.apache.commons.math3.geometry.partitioning.BoundarySizeVisitor<S>

Type Parameters:
  `S` - Type of the space.

All Implemented Interfaces:
  BSPTreeVisitor<S>

     class BoundarySizeVisitor<S extends Space>
    extends java.lang.Object
    implements BSPTreeVisitor<S>

Visitor computing the boundary size.

Since:
  3.0
Version:
  $Id: BoundarySizeVisitor.java 1416643 2012-12-03 19:37:14Z tn $

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.apache.commons.math3.geometry.partitioning.BSPTreeVisitor

`BSPTreeVisitor.Order`

### Field Summary

Fields
`private double` `boundarySize` Size of the boundary.

### Constructor Summary

Constructors
Constructor and Description
`BoundarySizeVisitor()` Simple constructor.

### Method Summary

Methods
`double` `getSize()` Get the size of the boundary.
`void` `visitInternalNode(BSPTree<S> node)` Visit a BSP tree node node having a non-null sub-hyperplane.
`void` `visitLeafNode(BSPTree<S> node)` Visit a leaf BSP tree node node having a null sub-hyperplane.
`BSPTreeVisitor.Order` `visitOrder(BSPTree<S> node)` Determine the visit order for this node.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### boundarySize

    private double boundarySize

Size of the boundary.

### Constructor Detail

#### BoundarySizeVisitor

    public BoundarySizeVisitor()

Simple constructor.

### Method Detail

#### visitOrder

    public BSPTreeVisitor.Order visitOrder(BSPTree<S> node)

Determine the visit order for this node.

Before attempting to visit an internal node, this method is called to determine the desired ordering of the visit. It is guaranteed that this method will be called before `visitInternalNode` for a given node, it will be called exactly once for each internal node.

Specified by:
  `visitOrder` in interface `BSPTreeVisitor<S extends Space>`
Parameters:
  `node` - BSP node guaranteed to have a non null cut sub-hyperplane
Returns:
  desired visit order, must be one of `BSPTreeVisitor.Order.PLUS_MINUS_SUB`, `BSPTreeVisitor.Order.PLUS_SUB_MINUS`, `BSPTreeVisitor.Order.MINUS_PLUS_SUB`, `BSPTreeVisitor.Order.MINUS_SUB_PLUS`, `BSPTreeVisitor.Order.SUB_PLUS_MINUS`, `BSPTreeVisitor.Order.SUB_MINUS_PLUS`

#### visitInternalNode

    public void visitInternalNode(BSPTree<S> node)

Visit a BSP tree node node having a non-null sub-hyperplane.

It is guaranteed that this method will be called after `visitOrder` has been called for a given node, it wil be called exactly once for each internal node.

Specified by:
  `visitInternalNode` in interface `BSPTreeVisitor<S extends Space>`
Parameters:
  `node` - BSP node guaranteed to have a non null cut sub-hyperplane
See Also:
  `BSPTreeVisitor.visitLeafNode(org.apache.commons.math3.geometry.partitioning.BSPTree)`

#### visitLeafNode

    public void visitLeafNode(BSPTree<S> node)

Visit a leaf BSP tree node node having a null sub-hyperplane.

Specified by:
  `visitLeafNode` in interface `BSPTreeVisitor<S extends Space>`
Parameters:
  `node` - leaf BSP node having a null sub-hyperplane
See Also:
  `BSPTreeVisitor.visitInternalNode(org.apache.commons.math3.geometry.partitioning.BSPTree)`

#### getSize

    public double getSize()

Get the size of the boundary.

Returns:
  size of the boundary