Home
  • Manual
  • Node Index
  • API
  • Changelog
Show / Hide Table of Contents
  • InsaneScatterbrain
    • Calc
    • Color32EqualityComparer
    • EqualityComparer
    • TrigMath
  • InsaneScatterbrain.DataStructures
    • Pair<T>
  • InsaneScatterbrain.DelaunatorSharp
    • DelaunatorNoAlloc
  • InsaneScatterbrain.Dependencies
    • DependencyContainer
    • DependencyNotFoundException
    • IDependencyContainer
  • InsaneScatterbrain.Editor.Services
    • Assets
  • InsaneScatterbrain.Editor.Updates
    • UpdateAction
    • Updater
  • InsaneScatterbrain.Extensions
    • ColorExtensions
    • ExceptionExtensions
    • FieldInfoExtensions
    • HashSetExtensions
    • IntExtensions
    • ListExtensions
    • RandomExtensions
    • SortedListExtensions
    • StackExtensions
    • Texture2DDrawingExtensions
    • Texture2DExtensions
    • TypeExtensions
    • Vector2Extensions
    • Vector2IntExtensions
  • InsaneScatterbrain.MapGraph
    • AddFloatsNode
    • AddFloatToVector2Node
    • AddFloatToVector3Node
    • AddIntsNode
    • AddIntToVector2IntNode
    • AddIntToVector3IntNode
    • AddRandomEdgesNode
    • AddVector2IntsNode
    • AddVector2sNode
    • AddVector3IntsNode
    • AddVector3sNode
    • ApplyMaskNode
    • Area
    • AreaExtractor
    • AreaGraph
    • AreaGraphBuilder
    • AreaGraphEdge
    • AreaGraphEdgePool
    • AreaGraphPool
    • AreaPool
    • AreasCentroidPointsNode
    • AreasSpecialBorderPointsNode
    • AreasToPointsNode
    • BasicMathOperationNode<T>
    • BasicMathOperationNode<T1, T2, TOut>
    • BspLeafCenterPointsNode
    • BspNode
    • BspNodePool
    • BspTree
    • BspTreePool
    • CellularAutomataSmoothingNode
    • ChangeTextureSizeNode
    • ClampFloatsNode
    • ClampIntsNode
    • CollectionPool<TCollection, TValue>
    • ConnectAreaGraphCentroidsNode
    • ConnectAreaGraphClosestBorderPointsNode
    • ConnectAreaGraphRandomPointsNode
    • ConnectedPointsToPointsNode
    • ConvertTextureToTilemapNode
    • CopyTilemapDataNode
    • CornerPointsNode
    • CurrentOrEmptyTextureNode
    • DataToTextureNode
    • DictionaryPool<TDictionary, TKey, TValue>
    • DivideFloatsNode
    • DivideIntsNode
    • DivideVector2ByFloatNode
    • DivideVector2IntByIntNode
    • DivideVector2IntsNode
    • DivideVector2sNode
    • DivideVector3ByFloatNode
    • DivideVector3IntByIntNode
    • DivideVector3IntsNode
    • DivideVector3sNode
    • DomainWarpFractalType
    • DomainWarpType
    • DrawAreasNode
    • DrawBorderNode
    • DrawCirclesNode
    • DrawConnectionsBiasedRandomWalkNode
    • DrawGridNode
    • DrawManhattanConnectionsNode
    • DrawNoiseThresholdNode
    • DrawOutlineNode
    • DrawPointsNode
    • DrawRectsNode
    • DrawShortestPathNode
    • EmptyTextureNode
    • ExtractAreasNode
    • ExtractColorNode
    • ExtractPointsNode
    • ExtractPointsWithNeighboursNode
    • FastNoiseEnum
    • FlipTextureNode
    • FractalType
    • GenerateAreaGraphNode
    • GenerateMstAreaGraphNode
    • GenerateRstAreaGraphNode
    • HexagonalGridOffsetType
    • InvertMaskNode
    • IObjectType<TEntry, TObject>
    • IObjectTypeEntry<T>
    • IObjectTypeSet<TType, TObject>
    • ListPool<TValue>
    • LoadTextureData
    • MapGraphGraph
    • MapGraphTilemapPrefab
    • Mask
    • MaskPool
    • MaxFloatsNode
    • MaxIntsNode
    • MergeAreasNode
    • MergeMasksNode
    • MergePointsNode
    • MergeTilemapsNode
    • MinFloatsNode
    • MinIntsNode
    • MultiplyFloatsNode
    • MultiplyIntsNode
    • MultiplyVector2ByFloatNode
    • MultiplyVector2IntByIntNode
    • MultiplyVector2IntsNode
    • MultiplyVector2sNode
    • MultiplyVector3ByFloatNode
    • MultiplyVector3IntByIntNode
    • MultiplyVector3IntsNode
    • MultiplyVector3sNode
    • NamedColor
    • NamedColorNode
    • NamedColorSet
    • NoiseNode
    • ObjectType<TEntry, TObject>
    • ObjectTypeEntry<T>
    • ObjectTypeSet<TType, TEntry, TObject>
    • ObjectTypeSetScriptableObject<TType, TEntry, TObject>
    • OpenObjectTypeSet<TType, TEntry, TObject>
    • Outliner
    • PerlinNoiseFillTextureNode
    • PointsToAreasNode
    • PoolInitializer
    • PowerNode
    • PrefabSet
    • PrefabType
    • PrefabTypeEntry
    • RandomBoolNode
    • RandomBspRoomsNode
    • RandomBspTreeNode
    • RandomColorNode
    • RandomExtensions
    • RandomFloatNode
    • RandomIntNode
    • RandomlyFillTextureNode
    • RandomlyStampTilemapsNode
    • RandomNode<T>
    • RandomPointsNode
    • RandomRectsNode
    • RandomRngStateNode
    • RandomVector2IntNode
    • RandomVector2Node
    • RandomVector3IntNode
    • RandomVector3Node
    • RandomWalkerNode
    • RangeRandomNode<T>
    • RectCenterPointsNode
    • RectsToAreasNode
    • ReplaceColorNode
    • ReplaceGameObjectChildrenNode
    • ResizeTextureNode
    • RotateTextureNode
    • RotationalSymmetry
    • SaveData
    • SaveTextureData
    • ScaleTextureNode
    • ScaleTextureToNode
    • ScaleTextureVector2Node
    • ShiftTextureNode
    • SplitConnectionsManhattanNode
    • SquareRootNode
    • StackPool<T>
    • StampNode
    • SubtractFloatFromVector2Node
    • SubtractFloatFromVector3Node
    • SubtractFloatsNode
    • SubtractIntFromVector2IntNode
    • SubtractIntFromVector3IntNode
    • SubtractIntsNode
    • SubtractMaskNode
    • SubtractVector2IntsNode
    • SubtractVector2sNode
    • SubtractVector3IntsNode
    • SubtractVector3sNode
    • TextureData
    • TextureData.Color32ArrayFacade
    • TextureDataDrawingExtensions
    • TextureDataExtensions
    • TextureDataPool
    • TextureSizeNode
    • TextureToChildGameObjectsNode
    • TextureToDataNode
    • TextureToGameObjectsNode
    • TextureToMaskNode
    • TextureToTilemapNode
    • TilemapData
    • TilemapDataPool
    • TilemapSet
    • TilemapToDataNode
    • TilemapToTextureNode
    • TilemapType
    • TilemapTypeEntry
    • Tileset
    • TileType
    • TileTypeEntry
    • TransparentColorNode
    • Vector2IntComparer
    • Vector2IntFromFloats
    • Vector2IntFromInts
    • Vector2IntToInts
    • Vector2IntToVector2
    • Vector3IntComparer
    • WaveformFunctionCollapseNode
  • InsaneScatterbrain.MapGraph.Editor
    • AboutWindow
    • AddRandomEdgesNodeView
    • ApplyMaskNodeView
    • AreaSpecialPointsNodeView
    • CellularAutomataSmoothingNodeView
    • CellularDistanceFunctionConstantNodeView
    • CellularReturnTypeConstantNodeView
    • ChangeTextureSizeNodeView
    • CornerPointsNodeView
    • DataSetList<T>
    • DataSetListBase<T>
    • DomainWarpFractalTypeNodeView
    • DomainWarpTypeConstantNodeView
    • DrawAreasNodeView
    • DrawBorderNodeView
    • DrawCirclesNodeView
    • DrawConnectionsBiasedRandomWalkNodeView
    • DrawGridNodeView
    • DrawManhattanConnectionsNodeView
    • DrawNoiseThresholdNodeView
    • DrawOutlineNodeView
    • DrawPointsNodeView
    • DrawRectsNodeView
    • DrawShortestPathConnectionsNodeView
    • EmptyTextureNodeView
    • EnumConstantNodeView<T>
    • ExtractAreasNodeView
    • ExtractColorNodeView
    • ExtractPointsNodeView
    • ExtractPointsWithNeighboursNodeView
    • FlipTextureNodeView
    • FractalTypeNodeView
    • GenerateAreaGraphNodeView
    • GenerateMstAreaGraphNodeView
    • GenerateRstAreaGraphNodeView
    • Initializer
    • InputParametersList
    • InvertMaskNodeView
    • ListBase
    • MapGraphAsset
    • MapGraphAssetUpdater
    • MapGraphCreateMenu
    • MapGraphEditor
    • MapGraphEditorInfo
    • MapGraphEditorSettingsWindow
    • MapGraphEditorSettingsWindowInitializer
    • MapGraphInitializer
    • MapGraphUpdater
    • MergeAreasNodeView
    • NamedColorNodeView
    • NamedColorSetEditor
    • NamedColorSetList
    • NewUpdatesWindow
    • NoiseNodeView
    • NoiseTypeNodeView
    • ObjectTypeEntryList<TType, TEntry, TObject>
    • ObjectTypeSetList<TType, TEntry, TObject>
    • OutputParametersList
    • ParametersList
    • PerlinNoiseFillTextureNodeView
    • PrefabSetEditor
    • PrefabTypeEntryList
    • PrefabTypeList
    • ProcessGraphNodeView
    • RandomBspRoomsNodeView
    • RandomBspTreeNodeView
    • RandomlyFillTextureNodeView
    • RandomlyStampTilemapsNodeView
    • RandomPointsNodeView
    • RandomRectsNodeView
    • RandomWalkerNodeView
    • ReplaceColorNodeView
    • ResizeTextureNodeView
    • RotateTextureNodeView
    • RotationalSymmetryNodeView
    • RotationType3dConstantNodeView
    • ScaleTextureNodeView
    • ScaleTextureToNodeView
    • ScaleTextureVector2NodeView
    • ScriptGraphAssetUpdater
    • ScriptNodeViewExtensions
    • ShiftTextureNodeView
    • StampNodeView
    • TextureConstantNodeView
    • TextureToMaskNodeView
    • TilemapConstantNodeView
    • TilemapPrefabEditor
    • TilemapSetConstantNodeView
    • TilemapSetEditor
    • TilemapToTextureNodeView
    • TilemapTypeEntryList
    • TilemapTypeList
    • TilesetConstantNodeView
    • TilesetEditor
    • TileTypeEntryList
    • TileTypeList
    • TransparentColorNodeView
    • UpdateAction_1_10
    • UpdateAction_1_14
    • UpdateAction_1_15
    • UpdateAction_1_2
    • UpdateChecker
    • WaveformFunctionCollapseNodeView
  • InsaneScatterbrain.Pooling
    • IPool
    • Pool<T>
    • PoolManager
  • InsaneScatterbrain.RandomNumberGeneration
    • Rng
    • RngState
  • InsaneScatterbrain.ScriptGraph
    • BoolParameterField
    • BoundsIntParameterField
    • BoundsParameterField
    • Color32ParameterField
    • ConstantNode
    • ConsumerNode
    • CopyData
    • CopyPaste
    • DataSet<T>
    • DataSetItem
    • DataSetScriptableObject<TItem, TOpenSet>
    • DataSetScriptableObject<TItem>
    • ExecutionGraph
    • ExecutionGraphBuilder
    • ExplicitInPortTypesAttribute
    • ExplicitOutPortTypesAttribute
    • ExplicitPortTypesAttribute
    • FloatParameterField
    • IConsumerNode
    • IDataSet
    • IDataSet<T>
    • IDataSetItem
    • IInstanceProvider
    • IncompatiblePortTypeException
    • INode
    • InPort
    • InPortAttribute
    • InputNode
    • IntParameterField
    • IOpenDataSet<T>
    • IParameterField
    • IPool
    • IPoolInitializer
    • IPreparable
    • IProcessorNode
    • IProviderNode
    • IScriptGraphInstanceProvider
    • IScriptNode
    • NewInstanceProvider
    • NewScriptGraphInstanceProvider
    • NodeEdge
    • ObjectParameterField
    • OpenDataSet<T>
    • OutPort
    • OutPortAttribute
    • OutputNode
    • PairVector2IntParameterField
    • Pool<T>
    • PoolManager
    • PoolManagerInitializer
    • PoolManagerSingleton
    • Pools
    • PortAttribute
    • PortNotFoundException
    • ProcessGraphNode
    • ProcessorNode
    • ProviderNode
    • RectIntParameterField
    • RectParameterField
    • RequiredPortNotConnectedException
    • RngExtensions
    • ScriptGraphComponents
    • ScriptGraphEditorInfo
    • ScriptGraphGraph
    • ScriptGraphInput
    • ScriptGraphInput<T>
    • ScriptGraphInputBool
    • ScriptGraphInputBounds
    • ScriptGraphInputBoundsInt
    • ScriptGraphInputColor32
    • ScriptGraphInputFloat
    • ScriptGraphInputFloatAsInt
    • ScriptGraphInputInt
    • ScriptGraphInputObject
    • ScriptGraphInputRect
    • ScriptGraphInputRectInt
    • ScriptGraphInputString
    • ScriptGraphInputTexture2D
    • ScriptGraphInputTilemap
    • ScriptGraphInputTilemapSet
    • ScriptGraphInputTileset
    • ScriptGraphInputVector2
    • ScriptGraphInputVector2Int
    • ScriptGraphInputVector3
    • ScriptGraphInputVector3Int
    • ScriptGraphMonoBehaviour
    • ScriptGraphParameter
    • ScriptGraphParameters
    • ScriptGraphPool
    • ScriptGraphPoolManager
    • ScriptGraphPoolManagerSingleton
    • ScriptGraphPort
    • ScriptGraphProcessor
    • ScriptGraphRunner
    • ScriptNode
    • ScriptNodeAttribute
    • SeedType
    • StringParameterField
    • Vector2IntParameterField
    • Vector2ParameterField
    • Vector3IntParameterField
    • Vector3ParameterField
  • InsaneScatterbrain.ScriptGraph.Editor
    • BoolConstantNodeView
    • BoundsConstantNodeView
    • BoundsIntConstantNodeView
    • ColorConstantNodeView
    • ConstantNodeView
    • ConstantNodeViewAttribute
    • FloatConstantNodeView
    • GroupNodeView
    • InputNodeView
    • IntConstantNodeView
    • NodeDuplicator
    • NodeFactory
    • ObjectConstantNodeView
    • OutPortEdgeConnectListener
    • OutputNodeView
    • RandomBspRoomsPreviewBehaviour
    • RectConstantNodeView
    • RectIntConstantNodeView
    • ScriptGraphContextMenu
    • ScriptGraphDebugger
    • ScriptGraphDependencyInstaller
    • ScriptGraphEditor
    • ScriptGraphInitializer
    • ScriptGraphInputEditor
    • ScriptGraphRunnerEditor
    • ScriptGraphValidator
    • ScriptGraphView
    • ScriptGraphViewSelection
    • ScriptGraphViewWindow
    • ScriptNodeView
    • ScriptNodeViewAttribute
    • ScriptNodeViewFactory
    • ScriptNodeViewTypesRegistry
    • StringConstantNodeView
    • Urls
    • Vector2ConstantNodeView
    • Vector2IntConstantNodeView
    • Vector3ConstantNodeView
    • Vector3IntConstantNodeView
  • InsaneScatterbrain.ScriptGraph.Editor.NodeSearch
    • ConstantEntryRegistry
    • DefaultEntryRegistry
    • EntryData
    • EntryFactory
    • GraphEntryRegistry
    • IEntryRegistry
    • InputParametersEntryRegistry
    • ISearchFilter
    • NodeSearchWindow
    • NodeType
    • OutputParametersEntryRegistry
    • ParametersEntryRegistry
    • PortFilter
  • InsaneScatterbrain.Serialization
    • ArraySerializer<T>
    • BoundsIntSerializer
    • BoundsSerializer
    • DataBag
    • DefaultArraySerializer
    • IDeserializer
    • ISerializer
    • RectIntSerializer
    • RectSerializer
    • Serializer
    • Vector2IntSerializer
    • Vector3IntSerializer
  • InsaneScatterbrain.Services
    • Disposer
    • Rng
    • Texture2DFactory
    • Types
  • InsaneScatterbrain.Threading
    • IMainThreadCommand
    • IMainThreadCommandHandler
    • IMainThreadCoroutineCommand
    • IMainThreadCoroutineCommandHandler
    • MainThread
    • MainThreadCommand
    • MainThreadCommandHandler
    • MainThreadCoroutine
    • MainThreadCoroutineCommand
    • MainThreadCoroutineCommandHandler
    • MainThreadUpdater
  • InsaneScatterbrain.Versioning
    • IVersioned
    • SerializedVersion
    • VersionedMonoBehaviour
    • VersionedScriptableObject

Class BspNode

Represents a node in a BSP tree.

Inheritance
System.Object
BspNode
Namespace: InsaneScatterbrain.MapGraph
Syntax
public class BspNode : object

Constructors

BspNode()

Declaration
public BspNode()

BspNode(BspTree, BspNode, RectInt)

Creates a new BSP node.

Declaration
public BspNode(BspTree bspTree, BspNode parent, RectInt bounds)
Parameters
Type Name Description
BspTree bspTree

The BSP tree.

BspNode parent

The node's parent.

RectInt bounds

The node's bounds.

Properties

Bounds

Gets the bounds of this node.

Declaration
public RectInt Bounds { get; }
Property Value
Type Description
RectInt

LeftChild

Gets the left child.

Declaration
public BspNode LeftChild { get; }
Property Value
Type Description
BspNode

Parent

Gets the parent node.

Declaration
public BspNode Parent { get; }
Property Value
Type Description
BspNode

RightChild

Gets the right child.

Declaration
public BspNode RightChild { get; }
Property Value
Type Description
BspNode

Sibling

Gets this node's sibling.

Declaration
public BspNode Sibling { get; }
Property Value
Type Description
BspNode

Methods

GetLeafClosestToPoint(Vector2)

Gets the leaf closest to this node, based on the given point.

Declaration
public BspNode GetLeafClosestToPoint(Vector2 point)
Parameters
Type Name Description
Vector2 point

The point.

Returns
Type Description
BspNode

The closest leaf node.

Reset()

Declaration
public void Reset()

Set(BspTree, BspNode, RectInt)

Declaration
public void Set(BspTree tree, BspNode parentNode, RectInt leafBounds)
Parameters
Type Name Description
BspTree tree
BspNode parentNode
RectInt leafBounds

Split(BspNode, BspNode, Single, Boolean)

Split the BSP node in two. Creating two new nodes.

Declaration
public void Split(BspNode leftChildNode, BspNode rightChildNode, float splitPoint = 0.5F, bool splitVertical = false)
Parameters
Type Name Description
BspNode leftChildNode

The node to assign left child data to.

BspNode rightChildNode

The node to assign right child data to.

System.Single splitPoint

The split point between 0 and 1, where .5 is the center.

System.Boolean splitVertical

If true, the node is split vertically, else horizontally.

Split(Single, Boolean)

Split the BSP node in two. Creating two new nodes.

Declaration
public void Split(float splitPoint = 0.5F, bool splitVertical = false)
Parameters
Type Name Description
System.Single splitPoint

The split point between 0 and 1, where .5 is the center.

System.Boolean splitVertical

If true, the node is split vertically, else horizontally.

In This Article
Back to top Generated by DocFX