
# IPCB_SplitPlane interface

A split plane on an internal plane layer, an area of the plane bounded by an outline and poured as regions.

```csharp
public interface IPCB_SplitPlane : IPCB_Group
```

**Namespace:** PCB · **Assembly:** Altium.SDK.Interfaces

**Inherits:** [IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md) → [IPCB_Group](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md)

## Remarks

Split planes can be placed only on internal plane layers. They are group objects: the regions created when a split plane is poured (`Pour`) are its child objects. Use [`GroupIterator_Create`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#groupiterator_create) and [`GroupIterator_Destroy`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#groupiterator_destroy) to iterate them.

Polygon pours are represented by [`IPCB_Polygon`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Polygon.md), not by this interface.

## Properties

| Property | Type | Access | Description |
| --- | --- | --- | --- |
| [AreaSize](#areasize) | `double` | get; set | The area enclosed by the split plane's outline, in square internal units. |
| [HitPrimitive](#hitprimitive) | `bool` | get | Whether the given primitive touches the split plane's outline or lies inside it. |
| [PointCount](#pointcount) | `int` | get; set | The number of segments in the split plane's outline. |
| [Segments](#segments) | [PolySegment](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/PolySegment.md) | get; set | The segments of the split plane's outline, by index. |
| [StrictHitTest](#stricthittest) | `bool` | get | Whether the given point lies inside the split plane's bounding rectangle and inside its outline. |

### AreaSize

The area enclosed by the split plane's outline, in square internal units.

```csharp
double GetState_AreaSize();
void SetState_AreaSize(double argValue);
```

**Type:** `double` · **Access:** read/write

The value is approximate: it does not take the width of the outline into account. [`SetState_XSizeYSize_1`](#setstate_xsizeysize_1) recalculates it from the outline; an assigned value is stored as given.

### HitPrimitive

Whether the given primitive touches the split plane's outline or lies inside it.

```csharp
bool GetState_HitPrimitive(IPCB_Primitive argPrimitive);
```

**Type:** `bool` · **Access:** read-only · **Index:** `argPrimitive` ([IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md))

The accessors are extension methods of `IPCB_SplitPlaneHelper` (`using PCB;`).

Returns true when the primitive's reference point is inside the outline or the primitive overlaps one of the outline's segments. Returns false for null.

### PointCount

The number of segments in the split plane's outline.

```csharp
int GetState_PointCount();
void SetState_PointCount(int argValue);
```

**Type:** `int` · **Access:** read/write

### Segments

The segments of the split plane's outline, by index.

```csharp
PolySegment GetState_Segments(int argI);
void SetState_Segments(int argI, PolySegment argValue);
```

**Type:** [PolySegment](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/PolySegment.md) · **Access:** read/write · **Index:** `argI` (`int`)

The accessors are extension methods of `IPCB_SplitPlaneHelper` (`using PCB;`).

Each segment is a line (`Kind` is `TPolySegmentType.ePolySegmentLine`) given by its vertex `Vx`, `Vy`, or an arc (`TPolySegmentType.ePolySegmentArc`) given by its center `Cx`, `Cy`, its `Radius` and the angles `Angle1` and `Angle2`. Coordinates are in internal units (10,000 per mil). Valid indexes are from 0 to [`PointCount`](#pointcount) inclusive; any other index returns a segment with all fields zero, and assigning a segment at such an index does nothing. After changing the outline, call [`SetState_XSizeYSize_1`](#setstate_xsizeysize_1) to recalculate the bounding rectangle and [`AreaSize`](#areasize).

**See also:** [PolySegment](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/PolySegment.md)

### StrictHitTest

Whether the given point lies inside the split plane's bounding rectangle and inside its outline.

```csharp
bool GetState_StrictHitTest(int argHitX, int argHitY);
```

**Type:** `bool` · **Access:** read-only · **Index:** `argHitX` (`int`): The X coordinate of the point, in internal units (10,000 per mil)., `argHitY` (`int`): The Y coordinate of the point, in internal units (10,000 per mil).

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [AcceptsLayer](#acceptslayer) | `bool` | Returns whether the split plane can be placed on the given layer. |
| [GetNegativeRegion](#getnegativeregion) | [IPCB_Region](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Region.md) | Returns a region that covers the part of the split plane's outline that is not covered by its child regions. |
| [GrowPolyshape](#growpolyshape) | `void` | Moves the edges of the split plane's outline outwards or inwards by the given distance. |
| [Internal_xBoundingRectangle](#internal_xboundingrectangle) | [ICoordRect](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/ICoordRect.md) |  |
| [PointInPolygon](#pointinpolygon) | `bool` | Returns whether the given point lies inside the split plane's outline. |
| [Pour](#pour) | `void` | Pours the split plane, regenerating its child regions. |
| [PrimitiveInsidePoly](#primitiveinsidepoly) | `bool` | Returns whether the given primitive lies completely inside the split plane's outline. |
| [RemovePour](#removepour) | `void` | Undoes the last pour of the split plane, removing the child regions it created and restoring the previous ones. |
| [RotateAroundXY](#rotatearoundxy) | `void` | Rotates the split plane about the given point. |
| [SetState_XSizeYSize_1](#setstate_xsizeysize_1) | `bool` | Recalculates the split plane's bounding rectangle and [`AreaSize`](#areasize) from its outline. |
| [XBoundingRectangle](#xboundingrectangle) | [CoordRect](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/CoordRect.md) | Returns the bounding rectangle of the split plane's outline. |

### AcceptsLayer

Returns whether the split plane can be placed on the given layer.

```csharp
bool AcceptsLayer(TV6_Layer argLayer);
bool AcceptsLayer(int argLayer);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argLayer` | [TV6_Layer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TV6_Layer.md) | value |

**Returns:** `bool`

The first overload is an extension method of `IPCB_SplitPlaneHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

Returns true for the internal plane layers (`TV6_Layer.eV6_InternalPlane1` to `TV6_Layer.eV6_InternalPlane16`) and false for any other layer.

### GetNegativeRegion

Returns a region that covers the part of the split plane's outline that is not covered by its child regions.

```csharp
IPCB_Region GetNegativeRegion();
```

**Returns:** [IPCB_Region](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Region.md)

Extension method of `IPCB_SplitPlaneHelper` (`using PCB;`).

The region is on the split plane's layer. Returns null when the child regions cover the whole outline.

### GrowPolyshape

Moves the edges of the split plane's outline outwards or inwards by the given distance.

```csharp
void GrowPolyshape(int argDist);
```

| Parameter | Type | Passing | Description |
| --- | --- | --- | --- |
| `argDist` | `int` | value | The distance, in internal units (10,000 per mil). A positive value moves the edges outwards, so the area grows; a negative value moves them inwards. |

**Returns:** nothing (`void`)

Does nothing when the distance is 0 or the outline has fewer than two points.

### Internal_xBoundingRectangle

*No description yet.*

```csharp
ICoordRect Internal_xBoundingRectangle();
```

**Returns:** [ICoordRect](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/ICoordRect.md)

### PointInPolygon

Returns whether the given point lies inside the split plane's outline.

```csharp
bool PointInPolygon(int argHitX, int argHitY);
```

| Parameter | Type | Passing | Description |
| --- | --- | --- | --- |
| `argHitX` | `int` | value | The X coordinate of the point, in internal units (10,000 per mil). |
| `argHitY` | `int` | value | The Y coordinate of the point, in internal units (10,000 per mil). |

**Returns:** `bool`

### Pour

Pours the split plane, regenerating its child regions.

```csharp
void Pour();
```

**Returns:** nothing (`void`)

### PrimitiveInsidePoly

Returns whether the given primitive lies completely inside the split plane's outline.

```csharp
bool PrimitiveInsidePoly(IPCB_Primitive argPrimitive);
bool PrimitiveInsidePoly(object argPrimitive);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argPrimitive` | [IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md) | value |

**Returns:** `bool`

The first overload is an extension method of `IPCB_SplitPlaneHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

Returns true when the primitive's reference point is inside the outline and the primitive does not touch any of the outline's segments. Returns false for null.

### RemovePour

Undoes the last pour of the split plane, removing the child regions it created and restoring the previous ones.

```csharp
void RemovePour();
```

**Returns:** nothing (`void`)

Does nothing when the split plane is not on a board.

### RotateAroundXY

Rotates the split plane about the given point.

```csharp
void RotateAroundXY(int argX, int argY, double argngle);
```

| Parameter | Type | Passing | Description |
| --- | --- | --- | --- |
| `argX` | `int` | value | The X coordinate of the point to rotate about, in internal units (10,000 per mil). |
| `argY` | `int` | value | The Y coordinate of the point to rotate about, in internal units (10,000 per mil). |
| `argngle` | `double` | value |  |

**Returns:** nothing (`void`)

### SetState_XSizeYSize_1

Recalculates the split plane's bounding rectangle and [`AreaSize`](#areasize) from its outline.

```csharp
bool SetState_XSizeYSize_1();
```

**Returns:** `bool`

Returns true.

### XBoundingRectangle

Returns the bounding rectangle of the split plane's outline.

```csharp
CoordRect XBoundingRectangle();
```

**Returns:** [CoordRect](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/CoordRect.md)

Extension method of `IPCB_SplitPlaneHelper` (`using PCB;`).

## Inherited members

- From [IPCB_Group](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md): [AddPCBObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#addpcbobject), [FastSetState_XSizeYSize](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#fastsetstate_xsizeysize), [FreePrimitives](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#freeprimitives), [GetPrimitiveAt](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#getprimitiveat), [GetPrimitiveCount](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#getprimitivecount), [GroupIterator_Create](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#groupiterator_create), [GroupIterator_Destroy](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#groupiterator_destroy), [LayerUsed](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#layerused), [PrimitiveLock](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#primitivelock), [RemovePCBObject](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#removepcbobject), [ReplicateWithChildren](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#replicatewithchildren), [SetState_LayersUsedArray](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#setstate_layersusedarray), [SetState_XSizeYSize](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#setstate_xsizeysize), [XLocation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#xlocation), [YLocation](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Group.md#ylocation)
- From [IPCB_Primitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md): [AllowGlobalEdit](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#allowglobaledit), [BeginModify](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#beginmodify), [Board](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#board), [BoundingRectangle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#boundingrectangle), [BoundingRectangleChildren](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#boundingrectanglechildren), [BoundingRectangleForPainting](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#boundingrectangleforpainting), [BoundingRectangleForSelection](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#boundingrectangleforselection), [CancelModify](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#cancelmodify), [Component](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#component), [Coordinate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#coordinate), [DescriptorString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#descriptorstring), [DetailString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#detailstring), [Dimension](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#dimension), [DrawAsPreview](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#drawaspreview), [DRCError](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#drcerror), [Enabled](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled), [Enabled_Direct](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_direct), [Enabled_vComponent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vcomponent), [Enabled_vCoordinate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vcoordinate), [Enabled_vDimension](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vdimension), [Enabled_vNet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vnet), [Enabled_vPolygon](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabled_vpolygon), [EnableDraw](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#enabledraw), [EndModify](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#endmodify), [Export_ToParameters](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#export_toparameters), [FlipXY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#flipxy), [GraphicallyInvalidate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#graphicallyinvalidate), [Handle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#handle), [Identifier](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#identifier), [InBoard](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#inboard), [InComponent](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#incomponent), [InCoordinate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#incoordinate), [Index](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#index), [InDimension](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#indimension), [InNet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#innet), [InPolygon](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#inpolygon), [InSelectionMemory](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#inselectionmemory), [IsAssyTestPoint_Bottom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#isassytestpoint_bottom), [IsAssyTestPoint_Top](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#isassytestpoint_top), [IsElectricalPrim](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#iselectricalprim), [IsFreePrimitive](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#isfreeprimitive), [IsHidden](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#ishidden), [IsKeepout](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#iskeepout), [IsPreRoute](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#ispreroute), [IsSaveable](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#issaveable), [IsTenting](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istenting), [IsTenting_Bottom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istenting_bottom), [IsTenting_Top](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istenting_top), [IsTestPoint_Bottom](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istestpoint_bottom), [IsTestPoint_Top](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#istestpoint_top), [Layer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#layer), [MiscFlag1](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#miscflag1), [MiscFlag2](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#miscflag2), [MiscFlag3](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#miscflag3), [Moveable](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#moveable), [MoveByXY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#movebyxy), [MoveToXY](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#movetoxy), [Net](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#net), [ObjectID](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#objectid), [ObjectIDString](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#objectidstring), [PadCacheRobotFlag](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#padcacherobotflag), [PasteMaskExpansion](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#pastemaskexpansion), [Polygon](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#polygon), [PolygonOutline](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#polygonoutline), [PowerPlaneClearance](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#powerplaneclearance), [PowerPlaneConnectStyle](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#powerplaneconnectstyle), [PowerPlaneReliefExpansion](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#powerplanereliefexpansion), [Preview](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#preview), [ReliefAirGap](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#reliefairgap), [ReliefConductorWidth](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#reliefconductorwidth), [ReliefEntries](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#reliefentries), [Replicate](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#replicate), [RequiredParamterSpace](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#requiredparamterspace), [RotateBy](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#rotateby), [Selected](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#selected), [SolderMaskExpansion](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#soldermaskexpansion), [SwapLayerPairs](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#swaplayerpairs), [TearDrop](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#teardrop), [UnionIndex](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#unionindex), [UniqueId](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#uniqueid), [UniqueID](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#uniqueid-1), [Used](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#used), [UserRouted](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#userrouted), [V7Layer](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#v7layer), [ViewableObjectID](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Primitive.md#viewableobjectid)

## Returned by

[IPCB_SplitPlaneRegion.SplitPlane](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_SplitPlaneRegion.md#splitplane)

## Accepted by

[IPCB_ContourMaker.MakeContour_9](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ContourMaker.md#makecontour_9), [IPCB_ContourMaker2.MakeContour_19](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_ContourMaker2.md#makecontour_19)
