IPCB_SplitPlane interface
A split plane on an internal plane layer, an area of the plane bounded by an outline and poured as regions.
public interface IPCB_SplitPlane : IPCB_Group
Namespace: PCB · Assembly: Altium.SDK.Interfaces
Inherits: IPCB_Primitive → IPCB_Group
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 and GroupIterator_Destroy to iterate them.
Polygon pours are represented by IPCB_Polygon, not by this interface.
Properties
| Property | Type | Access | Description |
|---|---|---|---|
| AreaSize | double | get; set | The area enclosed by the split plane's outline, in square internal units. |
| HitPrimitive | bool | get | Whether the given primitive touches the split plane's outline or lies inside it. |
| PointCount | int | get; set | The number of segments in the split plane's outline. |
| Segments | PolySegment | get; set | The segments of the split plane's outline, by index. |
| 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.
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 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.
bool GetState_HitPrimitive(IPCB_Primitive argPrimitive);
Type: bool · Access: read-only · Index: argPrimitive (IPCB_Primitive)
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.
int GetState_PointCount();
void SetState_PointCount(int argValue);
Type: int · Access: read/write
Segments
The segments of the split plane's outline, by index.
PolySegment GetState_Segments(int argI);
void SetState_Segments(int argI, PolySegment argValue);
Type: PolySegment · 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 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 to recalculate the bounding rectangle and AreaSize.
See also: PolySegment
StrictHitTest
Whether the given point lies inside the split plane's bounding rectangle and inside its outline.
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 | bool | Returns whether the split plane can be placed on the given layer. |
| GetNegativeRegion | IPCB_Region | Returns a region that covers the part of the split plane's outline that is not covered by its child regions. |
| GrowPolyshape | void | Moves the edges of the split plane's outline outwards or inwards by the given distance. |
| Internal_xBoundingRectangle | ICoordRect | |
| PointInPolygon | bool | Returns whether the given point lies inside the split plane's outline. |
| Pour | void | Pours the split plane, regenerating its child regions. |
| PrimitiveInsidePoly | bool | Returns whether the given primitive lies completely inside the split plane's outline. |
| RemovePour | void | Undoes the last pour of the split plane, removing the child regions it created and restoring the previous ones. |
| RotateAroundXY | void | Rotates the split plane about the given point. |
| SetState_XSizeYSize_1 | bool | Recalculates the split plane's bounding rectangle and AreaSize from its outline. |
| XBoundingRectangle | CoordRect | Returns the bounding rectangle of the split plane's outline. |
AcceptsLayer
Returns whether the split plane can be placed on the given layer.
bool AcceptsLayer(TV6_Layer argLayer);
bool AcceptsLayer(int argLayer);
| Parameter | Type | Passing |
|---|---|---|
argLayer | TV6_Layer | 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.
IPCB_Region GetNegativeRegion();
Returns: IPCB_Region
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.
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.
ICoordRect Internal_xBoundingRectangle();
Returns: ICoordRect
PointInPolygon
Returns whether the given point lies inside the split plane's outline.
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.
void Pour();
Returns: nothing (void)
PrimitiveInsidePoly
Returns whether the given primitive lies completely inside the split plane's outline.
bool PrimitiveInsidePoly(IPCB_Primitive argPrimitive);
bool PrimitiveInsidePoly(object argPrimitive);
| Parameter | Type | Passing |
|---|---|---|
argPrimitive | IPCB_Primitive | 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.
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.
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 from its outline.
bool SetState_XSizeYSize_1();
Returns: bool
Returns true.
XBoundingRectangle
Returns the bounding rectangle of the split plane's outline.
CoordRect XBoundingRectangle();
Returns: CoordRect
Extension method of IPCB_SplitPlaneHelper (using PCB;).
Inherited members
- From IPCB_Group: AddPCBObject, FastSetState_XSizeYSize, FreePrimitives, GetPrimitiveAt, GetPrimitiveCount, GroupIterator_Create, GroupIterator_Destroy, LayerUsed, PrimitiveLock, RemovePCBObject, ReplicateWithChildren, SetState_LayersUsedArray, SetState_XSizeYSize, XLocation, YLocation
- From IPCB_Primitive: AllowGlobalEdit, BeginModify, Board, BoundingRectangle, BoundingRectangleChildren, BoundingRectangleForPainting, BoundingRectangleForSelection, CancelModify, Component, Coordinate, DescriptorString, DetailString, Dimension, DrawAsPreview, DRCError, Enabled, Enabled_Direct, Enabled_vComponent, Enabled_vCoordinate, Enabled_vDimension, Enabled_vNet, Enabled_vPolygon, EnableDraw, EndModify, Export_ToParameters, FlipXY, GraphicallyInvalidate, Handle, Identifier, InBoard, InComponent, InCoordinate, Index, InDimension, InNet, InPolygon, InSelectionMemory, IsAssyTestPoint_Bottom, IsAssyTestPoint_Top, IsElectricalPrim, IsFreePrimitive, IsHidden, IsKeepout, IsPreRoute, IsSaveable, IsTenting, IsTenting_Bottom, IsTenting_Top, IsTestPoint_Bottom, IsTestPoint_Top, Layer, MiscFlag1, MiscFlag2, MiscFlag3, Moveable, MoveByXY, MoveToXY, Net, ObjectID, ObjectIDString, PadCacheRobotFlag, PasteMaskExpansion, Polygon, PolygonOutline, PowerPlaneClearance, PowerPlaneConnectStyle, PowerPlaneReliefExpansion, Preview, ReliefAirGap, ReliefConductorWidth, ReliefEntries, Replicate, RequiredParamterSpace, RotateBy, Selected, SolderMaskExpansion, SwapLayerPairs, TearDrop, UnionIndex, UniqueId, UniqueID, Used, UserRouted, V7Layer, ViewableObjectID
Returned by
IPCB_SplitPlaneRegion.SplitPlane
Accepted by
IPCB_ContourMaker.MakeContour_9, IPCB_ContourMaker2.MakeContour_19