Files
oapy/base/oaPointArray.html
2026-06-02 14:14:41 +08:00

791 lines
49 KiB
HTML

<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>oaPointArray</title>
<style>
body {
margin: 0;
background: #0d0b0b;
color: #f5f1ec;
font-family: Arial, Helvetica, sans-serif;
line-height: 1.5;
}
a {
color: #f2d6c2;
text-decoration: none;
}
a:hover {
text-decoration: underline;
color: #fff4ea;
}
.topbar {
border-bottom: 1px solid #6f3d2d;
background: #120f0f;
}
.topbar-inner {
max-width: 1440px;
margin: 0 auto;
padding: 14px 20px 10px;
}
.brand {
font-size: 28px;
font-weight: 700;
color: #fff8f2;
margin: 0 0 10px;
}
.tabs {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.tab {
display: inline-block;
padding: 6px 12px;
border: 1px solid #6f3d2d;
background: #151111;
color: #f2d6c2;
font-size: 13px;
}
.tab.active {
background: #4b2317;
font-weight: 700;
color: #fff8f2;
}
.layout {
max-width: 1440px;
margin: 0 auto;
display: grid;
grid-template-columns: 280px minmax(0, 1fr);
gap: 28px;
padding: 24px 24px 40px;
}
.sidebar {
font-size: 13px;
}
.sidebar-panel {
border: 1px solid #6f3d2d;
margin-bottom: 16px;
background: #151111;
}
.sidebar-title {
background: #2a1713;
border-bottom: 1px solid #6f3d2d;
padding: 8px 10px;
font-weight: 700;
color: #fff1e8;
}
.sidebar-body {
padding: 8px 10px;
}
.sidebar-search {
width: 100%;
box-sizing: border-box;
padding: 6px 8px;
border: 1px solid #6f3d2d;
background: #0d0b0b;
color: #f5f1ec;
font-size: 13px;
margin-bottom: 8px;
}
.sidebar-search::placeholder {
color: #c8a995;
}
.sidebar-body ul {
list-style: none;
padding: 0;
margin: 0;
}
.sidebar-body li.hidden {
display: none;
}
.active-link {
font-weight: 700;
color: #fff8f2;
}
.sidebar-body li + li {
margin-top: 6px;
}
.content {
min-width: 0;
}
.content-grid {
display: grid;
grid-template-columns: minmax(0, 1fr);
gap: 0;
align-items: start;
}
.doc {
border: 1px solid #6f3d2d;
background: #120f0f;
padding: 24px 28px 32px;
min-width: 0;
}
.toc-panel {
border: 1px solid #6f3d2d;
background: #151111;
padding: 0;
position: sticky;
top: 16px;
margin-bottom: 16px;
}
.toc-toggle {
width: 100%;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 12px 14px;
border: 0;
background: #2a1713;
color: #fff1e8;
cursor: pointer;
font-size: 14px;
font-weight: 700;
}
.toc-toggle:hover {
background: #3a1d16;
}
.toc-toggle-indicator {
font-size: 12px;
color: #d6ac96;
}
.toc-body {
display: none;
padding: 14px 16px;
}
.toc-panel.open .toc-body {
display: block;
}
.toc-panel h2 {
margin: 0 0 10px;
padding: 0;
border: 0;
font-size: 18px;
color: #fff1e8;
}
.toc-panel ul {
list-style: none;
padding: 0;
margin: 0;
}
.toc-panel li + li {
margin-top: 8px;
}
.toc-panel a {
font-size: 13px;
line-height: 1.35;
color: #f2d6c2;
}
.crumbs {
color: #c8a995;
font-size: 13px;
margin-bottom: 14px;
}
.meta {
border: 1px solid #6f3d2d;
background: #151111;
padding: 10px 12px;
margin: 16px 0 20px;
font-size: 13px;
}
.meta div + div {
margin-top: 4px;
}
.doc h1 {
margin: 0 0 8px;
font-size: 34px;
color: #fff8f2;
}
.doc h2 {
margin: 28px 0 12px;
padding-bottom: 4px;
border-bottom: 1px solid #6f3d2d;
font-size: 22px;
color: #fff1e8;
}
.doc h3 {
margin: 22px 0 10px;
font-size: 18px;
color: #f7e1d5;
}
.doc p, .doc li {
font-size: 14px;
}
.doc pre {
overflow-x: auto;
background: #0d0b0b;
border: 1px solid #6f3d2d;
padding: 12px 14px;
}
.doc code {
font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
font-size: 12px;
overflow-wrap: anywhere;
word-break: break-word;
color: #f7e1d5;
}
.doc table {
width: 100%;
border-collapse: collapse;
margin: 12px 0 18px;
font-size: 13px;
table-layout: fixed;
}
.doc th, .doc td {
border: 1px solid #6f3d2d;
padding: 7px 9px;
vertical-align: top;
text-align: left;
overflow-wrap: anywhere;
word-break: break-word;
}
.doc th {
background: #2a1713;
color: #fff1e8;
}
.doc blockquote {
margin: 14px 0;
padding: 8px 12px;
border-left: 4px solid #8a4a36;
background: #151111;
color: #f2d6c2;
}
.search-panel {
border: 1px solid #6f3d2d;
background: #151111;
padding: 16px 18px;
margin-bottom: 20px;
}
.search-panel input {
width: 100%;
box-sizing: border-box;
padding: 8px 10px;
border: 1px solid #6f3d2d;
background: #0d0b0b;
color: #f5f1ec;
font-size: 14px;
}
.search-panel input::placeholder {
color: #c8a995;
}
.search-results {
list-style: none;
padding: 0;
margin: 16px 0 0;
}
.search-results li {
border-top: 1px solid #4b2317;
padding: 10px 0;
}
.search-results li.hidden {
display: none;
}
.search-results a {
font-weight: 700;
}
.search-results .module-tag {
display: inline-block;
margin-left: 8px;
padding: 2px 6px;
border: 1px solid #8a4a36;
background: #2a1713;
color: #f2d6c2;
font-size: 12px;
}
.search-results .result-path {
margin-top: 4px;
color: #c8a995;
font-size: 12px;
}
.footer {
max-width: 1440px;
margin: 0 auto;
padding: 0 20px 28px;
color: #b89481;
font-size: 12px;
}
.doc > * {
min-width: 0;
}
@media (max-width: 960px) {
.layout {
grid-template-columns: 1fr;
}
.content-grid {
grid-template-columns: 1fr;
}
.toc-panel {
position: static;
}
}
</style>
</head>
<body>
<div class="topbar">
<div class="topbar-inner">
<div class="brand"><a href="../index.html">AIVI / oapy API 中文文档</a></div>
<div class="tabs"><a class="tab active" href="../base/index.html">base</a><a class="tab" href="../common/index.html">common</a><a class="tab" href="../cms/index.html">cms</a><a class="tab" href="../dm/index.html">dm</a><a class="tab" href="../design/index.html">design</a><a class="tab" href="../tech/index.html">tech</a><a class="tab" href="../wafer/index.html">wafer</a></div>
</div>
</div>
<div class="layout">
<aside class="sidebar"><div class="sidebar-panel"><div class="sidebar-title">模块</div><div class="sidebar-body"><ul><li><a href="../classes.html">全部类</a></li><li><a class="active-link" href="../base/index.html">base</a></li><li><a href="../common/index.html">common</a></li><li><a href="../cms/index.html">cms</a></li><li><a href="../dm/index.html">dm</a></li><li><a href="../design/index.html">design</a></li><li><a href="../tech/index.html">tech</a></li><li><a href="../wafer/index.html">wafer</a></li></ul></div></div><div class="sidebar-panel"><div class="sidebar-title">base 类</div><div class="sidebar-body"><input class="sidebar-search" type="search" placeholder="筛选类" data-class-filter><ul><li data-class-item data-class-name="oaabstracttype"><a href="oaAbstractType.html">oaAbstractType</a></li><li data-class-item data-class-name="oaalignmenttype"><a href="oaAlignmentType.html">oaAlignmentType</a></li><li data-class-item data-class-name="oaappdef"><a href="oaAppDef.html">oaAppDef</a></li><li data-class-item data-class-name="oaappobject"><a href="oaAppObject.html">oaAppObject</a></li><li data-class-item data-class-name="oaappobjectdef"><a href="oaAppObjectDef.html">oaAppObjectDef</a></li><li data-class-item data-class-name="oaappobjectdefcollection"><a href="oaAppObjectDefCollection.html">oaAppObjectDefCollection</a></li><li data-class-item data-class-name="oaappprop"><a href="oaAppProp.html">oaAppProp</a></li><li data-class-item data-class-name="oabasecollection"><a href="oaBaseCollection.html">oaBaseCollection</a></li><li data-class-item data-class-name="oabaseiter"><a href="oaBaseIter.html">oaBaseIter</a></li><li data-class-item data-class-name="oabaseobserver"><a href="oaBaseObserver.html">oaBaseObserver</a></li><li data-class-item data-class-name="oabasepackeddata"><a href="oaBasePackedData.html">oaBasePackedData</a></li><li data-class-item data-class-name="oabooleanappdef"><a href="oaBooleanAppDef.html">oaBooleanAppDef</a></li><li data-class-item data-class-name="oabooleanprop"><a href="oaBooleanProp.html">oaBooleanProp</a></li><li data-class-item data-class-name="oabooleanvalue"><a href="oaBooleanValue.html">oaBooleanValue</a></li><li data-class-item data-class-name="oabox"><a href="oaBox.html">oaBox</a></li><li data-class-item data-class-name="oaboxarray"><a href="oaBoxArray.html">oaBoxArray</a></li><li data-class-item data-class-name="oaboxarrayvalue"><a href="oaBoxArrayValue.html">oaBoxArrayValue</a></li><li data-class-item data-class-name="oabuildinfo"><a href="oaBuildInfo.html">oaBuildInfo</a></li><li data-class-item data-class-name="oabuildinfoarray"><a href="oaBuildInfoArray.html">oaBuildInfoArray</a></li><li data-class-item data-class-name="oabundlename"><a href="oaBundleName.html">oaBundleName</a></li><li data-class-item data-class-name="oabytearray"><a href="oaByteArray.html">oaByteArray</a></li><li data-class-item data-class-name="oacategory"><a href="oaCategory.html">oaCategory</a></li><li data-class-item data-class-name="oacdbans"><a href="oaCdbaNS.html">oaCdbaNS</a></li><li data-class-item data-class-name="oaclientsocket"><a href="oaClientSocket.html">oaClientSocket</a></li><li data-class-item data-class-name="oacompatibilityerror"><a href="oaCompatibilityError.html">oaCompatibilityError</a></li><li data-class-item data-class-name="oacomplexarray"><a href="oaComplexArray.html">oaComplexArray</a></li><li data-class-item data-class-name="oaconnectlayertype"><a href="oaConnectLayerType.html">oaConnectLayerType</a></li><li data-class-item data-class-name="oaconnectivitytype"><a href="oaConnectivityType.html">oaConnectivityType</a></li><li data-class-item data-class-name="oaconstraint"><a href="oaConstraint.html">oaConstraint</a></li><li data-class-item data-class-name="oaconstraintdef"><a href="oaConstraintDef.html">oaConstraintDef</a></li><li data-class-item data-class-name="oaconstraintgroup"><a href="oaConstraintGroup.html">oaConstraintGroup</a></li><li data-class-item data-class-name="oaconstraintgroupdef"><a href="oaConstraintGroupDef.html">oaConstraintGroupDef</a></li><li data-class-item data-class-name="oaconstraintgroupheader"><a href="oaConstraintGroupHeader.html">oaConstraintGroupHeader</a></li><li data-class-item data-class-name="oaconstraintgroupmem"><a href="oaConstraintGroupMem.html">oaConstraintGroupMem</a></li><li data-class-item data-class-name="oaconstraintgroupoperator"><a href="oaConstraintGroupOperator.html">oaConstraintGroupOperator</a></li><li data-class-item data-class-name="oaconstraintgrouptype"><a href="oaConstraintGroupType.html">oaConstraintGroupType</a></li><li data-class-item data-class-name="oaconstraintparam"><a href="oaConstraintParam.html">oaConstraintParam</a></li><li data-class-item data-class-name="oaconstraintparamarray"><a href="oaConstraintParamArray.html">oaConstraintParamArray</a></li><li data-class-item data-class-name="oaconstraintparamdef"><a href="oaConstraintParamDef.html">oaConstraintParamDef</a></li><li data-class-item data-class-name="oaconstraintparamtype"><a href="oaConstraintParamType.html">oaConstraintParamType</a></li><li data-class-item data-class-name="oadbtype"><a href="oaDBType.html">oaDBType</a></li><li data-class-item data-class-name="oadataappdef"><a href="oaDataAppDef.html">oaDataAppDef</a></li><li data-class-item data-class-name="oadatamodelmodtype"><a href="oaDataModelModType.html">oaDataModelModType</a></li><li data-class-item data-class-name="oadefns"><a href="oaDefNS.html">oaDefNS</a></li><li data-class-item data-class-name="oadir"><a href="oaDir.html">oaDir</a></li><li data-class-item data-class-name="oadiriter"><a href="oaDirIter.html">oaDirIter</a></li><li data-class-item data-class-name="oadistancemeasuretype"><a href="oaDistanceMeasureType.html">oaDistanceMeasureType</a></li><li data-class-item data-class-name="oadomain"><a href="oaDomain.html">oaDomain</a></li><li data-class-item data-class-name="oadoubleappdef"><a href="oaDoubleAppDef.html">oaDoubleAppDef</a></li><li data-class-item data-class-name="oadoubleprop"><a href="oaDoubleProp.html">oaDoubleProp</a></li><li data-class-item data-class-name="oadoublerangeprop"><a href="oaDoubleRangeProp.html">oaDoubleRangeProp</a></li><li data-class-item data-class-name="oadualint"><a href="oaDualInt.html">oaDualInt</a></li><li data-class-item data-class-name="oadualint1dtblvalue"><a href="oaDualInt1DTblValue.html">oaDualInt1DTblValue</a></li><li data-class-item data-class-name="oadualintarray"><a href="oaDualIntArray.html">oaDualIntArray</a></li><li data-class-item data-class-name="oadualintvalue"><a href="oaDualIntValue.html">oaDualIntValue</a></li><li data-class-item data-class-name="oaenclosedcuttype"><a href="oaEnclosedCutType.html">oaEnclosedCutType</a></li><li data-class-item data-class-name="oaenumcollection"><a href="oaEnumCollection.html">oaEnumCollection</a></li><li data-class-item data-class-name="oaenumprop"><a href="oaEnumProp.html">oaEnumProp</a></li><li data-class-item data-class-name="oaenumpropiter"><a href="oaEnumPropIter.html">oaEnumPropIter</a></li><li data-class-item data-class-name="oaerror"><a href="oaError.html">oaError</a></li><li data-class-item data-class-name="oaexception"><a href="oaException.html">oaException</a></li><li data-class-item data-class-name="oaextrapolatetype"><a href="oaExtrapolateType.html">oaExtrapolateType</a></li><li data-class-item data-class-name="oafdset"><a href="oaFDSet.html">oaFDSet</a></li><li data-class-item data-class-name="oafscomponent"><a href="oaFSComponent.html">oaFSComponent</a></li><li data-class-item data-class-name="oafeature"><a href="oaFeature.html">oaFeature</a></li><li data-class-item data-class-name="oafeaturearray"><a href="oaFeatureArray.html">oaFeatureArray</a></li><li data-class-item data-class-name="oafile"><a href="oaFile.html">oaFile</a></li><li data-class-item data-class-name="oaflatgroupdef"><a href="oaFlatGroupDef.html">oaFlatGroupDef</a></li><li data-class-item data-class-name="oafloatappdef"><a href="oaFloatAppDef.html">oaFloatAppDef</a></li><li data-class-item data-class-name="oafloatprop"><a href="oaFloatProp.html">oaFloatProp</a></li><li data-class-item data-class-name="oafloatrangeprop"><a href="oaFloatRangeProp.html">oaFloatRangeProp</a></li><li data-class-item data-class-name="oaflt1dtblvalue"><a href="oaFlt1DTblValue.html">oaFlt1DTblValue</a></li><li data-class-item data-class-name="oaflt2dtblvalue"><a href="oaFlt2DTblValue.html">oaFlt2DTblValue</a></li><li data-class-item data-class-name="oafltintflttblvalue"><a href="oaFltIntFltTblValue.html">oaFltIntFltTblValue</a></li><li data-class-item data-class-name="oafltvalue"><a href="oaFltValue.html">oaFltValue</a></li><li data-class-item data-class-name="oagateorientationtype"><a href="oaGateOrientationType.html">oaGateOrientationType</a></li><li data-class-item data-class-name="oagroup"><a href="oaGroup.html">oaGroup</a></li><li data-class-item data-class-name="oagroupdef"><a href="oaGroupDef.html">oaGroupDef</a></li><li data-class-item data-class-name="oagroupdefarray"><a href="oaGroupDefArray.html">oaGroupDefArray</a></li><li data-class-item data-class-name="oagroupdeletewhen"><a href="oaGroupDeleteWhen.html">oaGroupDeleteWhen</a></li><li data-class-item data-class-name="oagroupmember"><a href="oaGroupMember.html">oaGroupMember</a></li><li data-class-item data-class-name="oagrouppurposetype"><a href="oaGroupPurposeType.html">oaGroupPurposeType</a></li><li data-class-item data-class-name="oagrouptype"><a href="oaGroupType.html">oaGroupType</a></li><li data-class-item data-class-name="oahiergroupdef"><a href="oaHierGroupDef.html">oaHierGroupDef</a></li><li data-class-item data-class-name="oahierprop"><a href="oaHierProp.html">oaHierProp</a></li><li data-class-item data-class-name="oaint1dtblvalue"><a href="oaInt1DTblValue.html">oaInt1DTblValue</a></li><li data-class-item data-class-name="oaint2dtblvalue"><a href="oaInt2DTblValue.html">oaInt2DTblValue</a></li><li data-class-item data-class-name="oaintappdef"><a href="oaIntAppDef.html">oaIntAppDef</a></li><li data-class-item data-class-name="oaintdualintarraytblvalue"><a href="oaIntDualIntArrayTblValue.html">oaIntDualIntArrayTblValue</a></li><li data-class-item data-class-name="oaintflttblvalue"><a href="oaIntFltTblValue.html">oaIntFltTblValue</a></li><li data-class-item data-class-name="oaintprop"><a href="oaIntProp.html">oaIntProp</a></li><li data-class-item data-class-name="oaintrange"><a href="oaIntRange.html">oaIntRange</a></li><li data-class-item data-class-name="oaintrangearray"><a href="oaIntRangeArray.html">oaIntRangeArray</a></li><li data-class-item data-class-name="oaintrangearray1dtblvalue"><a href="oaIntRangeArray1DTblValue.html">oaIntRangeArray1DTblValue</a></li><li data-class-item data-class-name="oaintrangearray2dtblvalue"><a href="oaIntRangeArray2DTblValue.html">oaIntRangeArray2DTblValue</a></li><li data-class-item data-class-name="oaintrangearrayvalue"><a href="oaIntRangeArrayValue.html">oaIntRangeArrayValue</a></li><li data-class-item data-class-name="oaintrangeprop"><a href="oaIntRangeProp.html">oaIntRangeProp</a></li><li data-class-item data-class-name="oaintrangevalue"><a href="oaIntRangeValue.html">oaIntRangeValue</a></li><li data-class-item data-class-name="oaintvalue"><a href="oaIntValue.html">oaIntValue</a></li><li data-class-item data-class-name="oainterpointerappdef"><a href="oaInterPointerAppDef.html">oaInterPointerAppDef</a></li><li data-class-item data-class-name="oainterpolatetype"><a href="oaInterpolateType.html">oaInterpolateType</a></li><li data-class-item data-class-name="oaintrapointerappdef"><a href="oaIntraPointerAppDef.html">oaIntraPointerAppDef</a></li><li data-class-item data-class-name="oalayerarrayconstraintdef"><a href="oaLayerArrayConstraintDef.html">oaLayerArrayConstraintDef</a></li><li data-class-item data-class-name="oalayerarrayconstrainttype"><a href="oaLayerArrayConstraintType.html">oaLayerArrayConstraintType</a></li><li data-class-item data-class-name="oalayerconstraintdef"><a href="oaLayerConstraintDef.html">oaLayerConstraintDef</a></li><li data-class-item data-class-name="oalayerconstrainttype"><a href="oaLayerConstraintType.html">oaLayerConstraintType</a></li><li data-class-item data-class-name="oalayerpairconstraintdef"><a href="oaLayerPairConstraintDef.html">oaLayerPairConstraintDef</a></li><li data-class-item data-class-name="oalayerpairconstrainttype"><a href="oaLayerPairConstraintType.html">oaLayerPairConstraintType</a></li><li data-class-item data-class-name="oalefns"><a href="oaLefNS.html">oaLefNS</a></li><li data-class-item data-class-name="oamanagedtype"><a href="oaManagedType.html">oaManagedType</a></li><li data-class-item data-class-name="oamanagedtypearray"><a href="oaManagedTypeArray.html">oaManagedTypeArray</a></li><li data-class-item data-class-name="oamapfile"><a href="oaMapFile.html">oaMapFile</a></li><li data-class-item data-class-name="oamapfilewindow"><a href="oaMapFileWindow.html">oaMapFileWindow</a></li><li data-class-item data-class-name="oamapwindow"><a href="oaMapWindow.html">oaMapWindow</a></li><li data-class-item data-class-name="oamemory"><a href="oaMemory.html">oaMemory</a></li><li data-class-item data-class-name="oamemoryerror"><a href="oaMemoryError.html">oaMemoryError</a></li><li data-class-item data-class-name="oaname"><a href="oaName.html">oaName</a></li><li data-class-item data-class-name="oanamebase"><a href="oaNameBase.html">oaNameBase</a></li><li data-class-item data-class-name="oanamemem"><a href="oaNameMem.html">oaNameMem</a></li><li data-class-item data-class-name="oanamespace"><a href="oaNameSpace.html">oaNameSpace</a></li><li data-class-item data-class-name="oanametype"><a href="oaNameType.html">oaNameType</a></li><li data-class-item data-class-name="oanativens"><a href="oaNativeNS.html">oaNativeNS</a></li><li data-class-item data-class-name="oaneighborlayermetaltype"><a href="oaNeighborLayerMetalType.html">oaNeighborLayerMetalType</a></li><li data-class-item data-class-name="oaoserror"><a href="oaOSError.html">oaOSError</a></li><li data-class-item data-class-name="oaobject"><a href="oaObject.html">oaObject</a></li><li data-class-item data-class-name="oaobjectarray"><a href="oaObjectArray.html">oaObjectArray</a></li><li data-class-item data-class-name="oaorient"><a href="oaOrient.html">oaOrient</a></li><li data-class-item data-class-name="oapackeddata"><a href="oaPackedData.html">oaPackedData</a></li><li data-class-item data-class-name="oaparam"><a href="oaParam.html">oaParam</a></li><li data-class-item data-class-name="oaparamarray"><a href="oaParamArray.html">oaParamArray</a></li><li data-class-item data-class-name="oaparamtype"><a href="oaParamType.html">oaParamType</a></li><li data-class-item data-class-name="oapoint"><a href="oaPoint.html">oaPoint</a></li><li data-class-item data-class-name="oapointarray"><a class="active-link" href="oaPointArray.html">oaPointArray</a></li><li data-class-item data-class-name="oaprop"><a href="oaProp.html">oaProp</a></li><li data-class-item data-class-name="oarange"><a href="oaRange.html">oaRange</a></li><li data-class-item data-class-name="oarangebase"><a href="oaRangeBase.html">oaRangeBase</a></li><li data-class-item data-class-name="oarangetype"><a href="oaRangeType.html">oaRangeType</a></li><li data-class-item data-class-name="oascalarname"><a href="oaScalarName.html">oaScalarName</a></li><li data-class-item data-class-name="oasegment"><a href="oaSegment.html">oaSegment</a></li><li data-class-item data-class-name="oasemaphore"><a href="oaSemaphore.html">oaSemaphore</a></li><li data-class-item data-class-name="oaserversocket"><a href="oaServerSocket.html">oaServerSocket</a></li><li data-class-item data-class-name="oasession"><a href="oaSession.html">oaSession</a></li><li data-class-item data-class-name="oasessionobject"><a href="oaSessionObject.html">oaSessionObject</a></li><li data-class-item data-class-name="oashapeangletype"><a href="oaShapeAngleType.html">oaShapeAngleType</a></li><li data-class-item data-class-name="oasimpleconstraint"><a href="oaSimpleConstraint.html">oaSimpleConstraint</a></li><li data-class-item data-class-name="oasimpleconstraintdef"><a href="oaSimpleConstraintDef.html">oaSimpleConstraintDef</a></li><li data-class-item data-class-name="oasimpleconstrainttype"><a href="oaSimpleConstraintType.html">oaSimpleConstraintType</a></li><li data-class-item data-class-name="oasimplename"><a href="oaSimpleName.html">oaSimpleName</a></li><li data-class-item data-class-name="oasocket"><a href="oaSocket.html">oaSocket</a></li><li data-class-item data-class-name="oasocketerror"><a href="oaSocketError.html">oaSocketError</a></li><li data-class-item data-class-name="oaspacingdirectiontype"><a href="oaSpacingDirectionType.html">oaSpacingDirectionType</a></li><li data-class-item data-class-name="oaspacingmeasuretype"><a href="oaSpacingMeasureType.html">oaSpacingMeasureType</a></li><li data-class-item data-class-name="oaspacingtype"><a href="oaSpacingType.html">oaSpacingType</a></li><li data-class-item data-class-name="oaspefns"><a href="oaSpefNS.html">oaSpefNS</a></li><li data-class-item data-class-name="oaspfns"><a href="oaSpfNS.html">oaSpfNS</a></li><li data-class-item data-class-name="oaspicens"><a href="oaSpiceNS.html">oaSpiceNS</a></li><li data-class-item data-class-name="oastring"><a href="oaString.html">oaString</a></li><li data-class-item data-class-name="oastringappdef"><a href="oaStringAppDef.html">oaStringAppDef</a></li><li data-class-item data-class-name="oastringarray"><a href="oaStringArray.html">oaStringArray</a></li><li data-class-item data-class-name="oastringprop"><a href="oaStringProp.html">oaStringProp</a></li><li data-class-item data-class-name="oastringvalue"><a href="oaStringValue.html">oaStringValue</a></li><li data-class-item data-class-name="oasubset"><a href="oaSubset.html">oaSubset</a></li><li data-class-item data-class-name="oasystemtime"><a href="oaSystemTime.html">oaSystemTime</a></li><li data-class-item data-class-name="oathreadusemodel"><a href="oaThreadUseModel.html">oaThreadUseModel</a></li><li data-class-item data-class-name="oatimeappdef"><a href="oaTimeAppDef.html">oaTimeAppDef</a></li><li data-class-item data-class-name="oatimeprop"><a href="oaTimeProp.html">oaTimeProp</a></li><li data-class-item data-class-name="oatimerangeprop"><a href="oaTimeRangeProp.html">oaTimeRangeProp</a></li><li data-class-item data-class-name="oatimestamp"><a href="oaTimeStamp.html">oaTimeStamp</a></li><li data-class-item data-class-name="oatimer"><a href="oaTimer.html">oaTimer</a></li><li data-class-item data-class-name="oatransform"><a href="oaTransform.html">oaTransform</a></li><li data-class-item data-class-name="oatype"><a href="oaType.html">oaType</a></li><li data-class-item data-class-name="oauint8range"><a href="oaUInt8Range.html">oaUInt8Range</a></li><li data-class-item data-class-name="oauint8rangevalue"><a href="oaUInt8RangeValue.html">oaUInt8RangeValue</a></li><li data-class-item data-class-name="oauint8value"><a href="oaUInt8Value.html">oaUInt8Value</a></li><li data-class-item data-class-name="oaunixns"><a href="oaUnixNS.html">oaUnixNS</a></li><li data-class-item data-class-name="oavalue"><a href="oaValue.html">oaValue</a></li><li data-class-item data-class-name="oavaluearray"><a href="oaValueArray.html">oaValueArray</a></li><li data-class-item data-class-name="oavaluearrayvalue"><a href="oaValueArrayValue.html">oaValueArrayValue</a></li><li data-class-item data-class-name="oavardataappdef"><a href="oaVarDataAppDef.html">oaVarDataAppDef</a></li><li data-class-item data-class-name="oavector"><a href="oaVector.html">oaVector</a></li><li data-class-item data-class-name="oavectorbitname"><a href="oaVectorBitName.html">oaVectorBitName</a></li><li data-class-item data-class-name="oavectorname"><a href="oaVectorName.html">oaVectorName</a></li><li data-class-item data-class-name="oaverilogns"><a href="oaVerilogNS.html">oaVerilogNS</a></li><li data-class-item data-class-name="oavhdlns"><a href="oaVhdlNS.html">oaVhdlNS</a></li><li data-class-item data-class-name="oaviaextensiontype"><a href="oaViaExtensionType.html">oaViaExtensionType</a></li><li data-class-item data-class-name="oavoidpointerappdef"><a href="oaVoidPointerAppDef.html">oaVoidPointerAppDef</a></li><li data-class-item data-class-name="oawidthlengthtabletype"><a href="oaWidthLengthTableType.html">oaWidthLengthTableType</a></li><li data-class-item data-class-name="oawinns"><a href="oaWinNS.html">oaWinNS</a></li><li data-class-item data-class-name="sr1to1relationship"><a href="sr1to1Relationship.html">sr1to1Relationship</a></li></ul></div></div></aside>
<main class="content">
<div class="content-grid">
<div class="doc">
<div class="crumbs"><a href="../index.html">首页</a> / <a href="index.html">base</a> / oaPointArray</div>
<h1 id="oapointarray">oaPointArray</h1>
<p><strong>模块</strong>: <code>oapy._oa._base</code>
<strong>导入</strong>: <code>from oapy._oa import _base</code></p>
<h2 id="_1">概览</h2>
<p><code>oaPointArray</code><code>oapy</code> 中可用,可通过 <code>_base</code> 模块访问。</p>
<p>本页汇总 <code>oaPointArray</code> 当前在 <code>oapy</code> 中可用的 Python 接口。</p>
<h2 id="_2">详细说明</h2>
<p>The oaPointArray class represents an array of two-dimensional integer points。 These are used in the API to specify a number of figures such as oaPolygons and oaPaths。 See oaPolygon::create for an example。 PointArrays can be used either to indicate a closed figure, such as a polygon, or an open set of points such as a line。 When used to describe a closed figure, the connection between the first and last point is always implicit。 In such usage it is an error to have the first and last point be the same。 Some member functions of oaPointArray have an isClosed flag to indicate whether the array is intended to describe a closed figure or an open line。 Many functions that use PointArrays only apply to closed figures, and a flag is not needed for these functions。 PointArrays used as arguments to member functions of oaFig classes should always be well-formed such that they do not contain duplicate or collinear points。 oaPointArray::compress() can be used to remove such points from the array。 Like all oaArray classes, oaPointArrays have separate counts for their allocated size and for the number of elements currently in use。 For good performance be sure to avoid small incremental allocations as elements are added to an array。</p>
<h2 id="_3">构造函数</h2>
<h3 id="_baseoapointarraysizein0"><code>_base.oaPointArray(sizeIn=0)</code></h3>
<pre><code class="language-python">obj = _base.oaPointArray(sizeIn=0)
</code></pre>
<h3 id="_baseoapointarraypointsin"><code>_base.oaPointArray(pointsIn)</code></h3>
<pre><code class="language-python">obj = _base.oaPointArray(pointsIn)
</code></pre>
<h3 id="_baseoapointarraypointsin-xform"><code>_base.oaPointArray(pointsIn, xform)</code></h3>
<pre><code class="language-python">obj = _base.oaPointArray(pointsIn, xform)
</code></pre>
<h3 id="_baseoapointarraypointsin-offset"><code>_base.oaPointArray(pointsIn, offset)</code></h3>
<pre><code class="language-python">obj = _base.oaPointArray(pointsIn, offset)
</code></pre>
<h3 id="_baseoapointarraypointsin-numpointsin"><code>_base.oaPointArray(pointsIn[], numPointsIn)</code></h3>
<pre><code class="language-python">obj = _base.oaPointArray(pointsIn[], numPointsIn)
</code></pre>
<h3 id="_baseoapointarrayrectin"><code>_base.oaPointArray(rectIn)</code></h3>
<pre><code class="language-python">obj = _base.oaPointArray(rectIn)
</code></pre>
<h2 id="_4">方法总览</h2>
<table>
<thead>
<tr>
<th>状态</th>
<th>Python 调用</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td><code>obj.isSelfIntersecting(isClosed=true)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.isOrthogonal(isClosed=true)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.isRectangle()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.onEdge(point, isClosed=true)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.contains(point, includeEdges=true)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.contains(box)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.overlaps(box, closed=true)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.distanceFrom2(point)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getArea()</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.hasExtraPoints(isClosed=true)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.compress(pointsOut, isClosed=true)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.compress(isClosed=true)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.transform(xform, result)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.transform(xform)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.transform(offset, result)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.transform(offset)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.transform(scale, angle, result)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.transform(scale, angle)</code></td>
</tr>
<tr>
<td></td>
<td><code>obj.getBBox(bBox)</code></td>
</tr>
</tbody>
</table>
<h2 id="_5">方法说明</h2>
<h3 id="objisselfintersectingisclosedtrue"><code>obj.isSelfIntersecting(isClosed=true)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.isSelfIntersecting(isClosed=true)</code></p>
<p>This function returns a boolean value that indicates if this oaPointArray intersects itself。 This does not include self-touching oaPointArrays。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>isClosed</code>: specify true if the first and last points in the array should be treated as connected (the figure described by the point array is closed); specify false if the first and last points should be treated as unconnected (the figure described by the point array is open)。</li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.isSelfIntersecting(isClosed=true)
</code></pre>
<h3 id="objisorthogonalisclosedtrue"><code>obj.isOrthogonal(isClosed=true)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.isOrthogonal(isClosed=true)</code></p>
<p>This function returns a boolean value that indicates if all of the angles in this oaPointArray are multiples of 90 degrees。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>isClosed</code>: specify true if the first and last points in the array should be treated as connected (the figure described by the point array is closed); specify false if the first and last points should be treated as unconnected (the figure described by the point array is open)。</li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.isOrthogonal(isClosed=true)
</code></pre>
<h3 id="objisrectangle"><code>obj.isRectangle()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.isRectangle()</code></p>
<p>This function returns true if this oaPointArray describes a rectangle that could be created as an oaRect 。 Specifically, to return true the point array must have four points after collinear and coincident points have been removed, and those points must be the corners of a rectangle with horizontal and vertical sides。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.isRectangle()
</code></pre>
<h3 id="objonedgepoint-isclosedtrue"><code>obj.onEdge(point, isClosed=true)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.onEdge(point, isClosed=true)</code></p>
<p>This function returns a boolean value that indicates if the specified point is on this oaPointArray。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>point</code>: the point to look for on this oaPointArray。</li>
<li><code>isClosed</code>: specify true if the first and last points in the array should be treated as connected (the figure described by the point array is closed); specify false if the first and last points should be treated as unconnected (the figure described by the point array is open)。</li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.onEdge(point, isClosed=true)
</code></pre>
<h3 id="objcontainspoint-includeedgestrue"><code>obj.contains(point, includeEdges=true)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.contains(point, includeEdges=true)</code></p>
<p>This function returns a boolean indicating whether or not this pointArray, which is assumed to be closed, contains the specified oaBox 。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>box</code>: the oaBox to test against。</li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.contains(point, includeEdges=true)
</code></pre>
<h3 id="objcontainsbox"><code>obj.contains(box)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.contains(box)</code></p>
<p>This function returns a boolean indicating whether or not the specified point is inside or on the edge of this pointArray。 Note: the point array is assumed to be closed--that is, the first and last points in the array are treated as connected。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>point</code>: the point to test。</li>
<li><code>includeEdges</code>: boolean that specifies whether or not points on the edge of the point array are assumed to be contained。</li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.contains(box)
</code></pre>
<h3 id="objoverlapsbox-closedtrue"><code>obj.overlaps(box, closed=true)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.overlaps(box, closed=true)</code></p>
<p>This function returns a boolean value that indicates if the specified box overlaps or touches this oaPointArray。 Note: overlaps() assumes that the points in the array are specified in clockwise order。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>box</code>: the oaBox to test against。</li>
<li><code>closed</code>: indicates whether the pointArray is closed。</li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.overlaps(box, closed=true)
</code></pre>
<h3 id="objdistancefrom2point"><code>obj.distanceFrom2(point)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.distanceFrom2(point)</code></p>
<p>This function returns the square of the distance from the specified point to the closest point on this oaPointArray。 Note: the point array is assumed to be closed--that is, the first and last points in the array are treated as connected。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.distanceFrom2(point)
</code></pre>
<h3 id="objgetarea"><code>obj.getArea()</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getArea()</code></p>
<p>This function returns the area in DBUU contained by the oaPointArray。 The PointArray is assumed to be closed。 Note: The points in the array can either be a clockwise or a counter-clockwise enclosure。 However they must not be self-intersecting。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.getArea()
</code></pre>
<h3 id="objhasextrapointsisclosedtrue"><code>obj.hasExtraPoints(isClosed=true)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.hasExtraPoints(isClosed=true)</code></p>
<p>This function returns true if this pointArray has any collinear or coincident points。 Also returns true if isClosed = true (see below) and the last and first points of the array specify the same point。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>isClosed</code>: specify true if the first and last points in the array should be treated as connected (the figure described by the point array is closed); specify false if the first and last points should be treated as unconnected (the figure described by the point array is open)。</li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.hasExtraPoints(isClosed=true)
</code></pre>
<h3 id="objcompresspointsout-isclosedtrue"><code>obj.compress(pointsOut, isClosed=true)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.compress(pointsOut, isClosed=true)</code></p>
<p>This function removes all collinear and coincident points from this oaPointArray。 An oaPointArray contains coincident points if two adjacent points are identical。 An oaPointArray contains collinear points if three adjacent points lie on the same line。 For closed oaPointArrays (isClosed = true), the first and last point are considered adjacent。 The result of this function is not valid for oaPointArrays containing two adjacent edges that overlap。 Such oaPointArrays are considered illegal for use in figures。 Note: compress() will produce incorrect results if the edges connected by the points in the point array cross。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>isClosed</code>: Specify true if the first and last points in the array should be treated as connected (the figure described by the point array is closed); specify false if the first and last points should be treated as unconnected (the figure described by the point array is open)。</li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.compress(pointsOut, isClosed=true)
</code></pre>
<h3 id="objcompressisclosedtrue"><code>obj.compress(isClosed=true)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.compress(isClosed=true)</code></p>
<p>This function returns in pointsOut the point array that is created by removing all collinear and coincident points from this oaPointArray。 The result of this function is not valid for oaPointArrays containing two adjacent edges that overlap。 Such oaPointArrays are considered illegal for use in figures。 Note: compress() will produce incorrect results if the edges connected by the points in the point array cross。</p>
<p><strong>参数</strong></p>
<ul>
<li><code>pointsOut</code>: a reference to the compressed oaPointArray produced by this function。</li>
<li><code>isClosed</code>: specify true if the first and last points in the array should be treated as connected (the figure described by the point array is closed); specify false if the first and last points should be treated as unconnected (the figure described by the point array is open)。</li>
</ul>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.compress(isClosed=true)
</code></pre>
<h3 id="objtransformxform-result"><code>obj.transform(xform, result)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.transform(xform, result)</code></p>
<p>This function transforms this oaPointArray by the specified scale factor and rotation angle。 The points are rotated about the origin。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.transform(xform, result)
</code></pre>
<h3 id="objtransformxform"><code>obj.transform(xform)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.transform(xform)</code></p>
<p>This function transforms this oaPointArray by the specified scale factor and rotation angle。 The points are rotated about the origin。 The result is stored in result, which can be the same point。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.transform(xform)
</code></pre>
<h3 id="objtransformoffset-result"><code>obj.transform(offset, result)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.transform(offset, result)</code></p>
<p>This function transforms this oaPointArray with the specified offset。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.transform(offset, result)
</code></pre>
<h3 id="objtransformoffset"><code>obj.transform(offset)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.transform(offset)</code></p>
<p>This function transforms this oaPointArray with the specified offset and stores the result in result, which can be the same oaPointArray。 The result is assumed the same size as the pointArray。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.transform(offset)
</code></pre>
<h3 id="objtransformscale-angle-result"><code>obj.transform(scale, angle, result)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.transform(scale, angle, result)</code></p>
<p>This function transforms this oaPointArray with the specified transform。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.transform(scale, angle, result)
</code></pre>
<h3 id="objtransformscale-angle"><code>obj.transform(scale, angle)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.transform(scale, angle)</code></p>
<p>This function transforms this oaPointArray with the specified transform and stores the result in result, which can be the same oaPointArray。 The result is assumed the same size as the oaPointArray。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.transform(scale, angle)
</code></pre>
<h3 id="objgetbboxbbox"><code>obj.getBBox(bBox)</code></h3>
<p><strong>绑定状态</strong>: 已绑定</p>
<p><strong>Python 调用</strong>: <code>obj.getBBox(bBox)</code></p>
<p>This function calculates the bounding box of the points in this oaPointArray。</p>
<p><strong>Python 示例</strong></p>
<pre><code class="language-python">from oapy._oa import _base
# assume obj is a oaPointArray
obj.getBBox(bBox)
</code></pre>
</div>
<aside class="toc-panel"><button class="toc-toggle" type="button" data-toc-toggle aria-expanded="false"><span>方法</span><span class="toc-toggle-indicator">展开</span></button><div class="toc-body"><h2>方法</h2><ul><li><a href="#base-oapointarray-sizein-0"><code>_base.oaPointArray(sizeIn=0)</code></a></li><li><a href="#base-oapointarray-pointsin"><code>_base.oaPointArray(pointsIn)</code></a></li><li><a href="#base-oapointarray-pointsin-xform"><code>_base.oaPointArray(pointsIn, xform)</code></a></li><li><a href="#base-oapointarray-pointsin-offset"><code>_base.oaPointArray(pointsIn, offset)</code></a></li><li><a href="#base-oapointarray-pointsin-numpointsin"><code>_base.oaPointArray(pointsIn[], numPointsIn)</code></a></li><li><a href="#base-oapointarray-rectin"><code>_base.oaPointArray(rectIn)</code></a></li><li><a href="#obj-isselfintersecting-isclosed-true"><code>obj.isSelfIntersecting(isClosed=true)</code></a></li><li><a href="#obj-isorthogonal-isclosed-true"><code>obj.isOrthogonal(isClosed=true)</code></a></li><li><a href="#obj-isrectangle"><code>obj.isRectangle()</code></a></li><li><a href="#obj-onedge-point-isclosed-true"><code>obj.onEdge(point, isClosed=true)</code></a></li><li><a href="#obj-contains-point-includeedges-true"><code>obj.contains(point, includeEdges=true)</code></a></li><li><a href="#obj-contains-box"><code>obj.contains(box)</code></a></li><li><a href="#obj-overlaps-box-closed-true"><code>obj.overlaps(box, closed=true)</code></a></li><li><a href="#obj-distancefrom2-point"><code>obj.distanceFrom2(point)</code></a></li><li><a href="#obj-getarea"><code>obj.getArea()</code></a></li><li><a href="#obj-hasextrapoints-isclosed-true"><code>obj.hasExtraPoints(isClosed=true)</code></a></li><li><a href="#obj-compress-pointsout-isclosed-true"><code>obj.compress(pointsOut, isClosed=true)</code></a></li><li><a href="#obj-compress-isclosed-true"><code>obj.compress(isClosed=true)</code></a></li><li><a href="#obj-transform-xform-result"><code>obj.transform(xform, result)</code></a></li><li><a href="#obj-transform-xform"><code>obj.transform(xform)</code></a></li><li><a href="#obj-transform-offset-result"><code>obj.transform(offset, result)</code></a></li><li><a href="#obj-transform-offset"><code>obj.transform(offset)</code></a></li><li><a href="#obj-transform-scale-angle-result"><code>obj.transform(scale, angle, result)</code></a></li><li><a href="#obj-transform-scale-angle"><code>obj.transform(scale, angle)</code></a></li><li><a href="#obj-getbbox-bbox"><code>obj.getBBox(bBox)</code></a></li></ul></div></aside>
</div>
</main>
</div>
<div class="footer">oapy 是 AIVI 项目的一部分。此站点提供当前 oapy Python API 的中文文档。</div>
<script>
document.addEventListener("DOMContentLoaded", () => {
const input = document.querySelector("[data-class-filter]");
if (input) {
input.addEventListener("input", () => {
const term = input.value.trim().toLowerCase();
document.querySelectorAll("[data-class-item]").forEach((item) => {
const name = item.getAttribute("data-class-name") || "";
item.classList.toggle("hidden", term && !name.includes(term));
});
});
}
const globalInput = document.querySelector("[data-global-search]");
if (globalInput) {
globalInput.addEventListener("input", () => {
const term = globalInput.value.trim().toLowerCase();
document.querySelectorAll("[data-search-item]").forEach((item) => {
const name = item.getAttribute("data-search-name") || "";
const module = item.getAttribute("data-search-module") || "";
const visible = !term || name.includes(term) || module.includes(term);
item.classList.toggle("hidden", !visible);
});
});
}
document.querySelectorAll("[data-toc-toggle]").forEach((button) => {
button.addEventListener("click", () => {
const panel = button.closest(".toc-panel");
if (!panel) return;
const isOpen = panel.classList.toggle("open");
button.setAttribute("aria-expanded", isOpen ? "true" : "false");
const indicator = button.querySelector(".toc-toggle-indicator");
if (indicator) {
indicator.textContent = isOpen ? "Hide" : "Show";
}
});
});
});
</script>
</body>
</html>