类 ArcsSet
请注意,由于围绕 \(2 \pi\) 的包装,这里的重心是不明确的。它仅在这里被定义以满足 Region
接口的要求,但不建议使用它。
-
嵌套类概要
从接口继承的嵌套类/接口 org.hipparchus.geometry.partitioning.Region
Region.Location
-
构造器概要
构造器说明ArcsSet
(double tolerance) 构建表示整个圆的弧集。ArcsSet
(double lower, double upper, double tolerance) 构建对应于单个弧的弧集。ArcsSet
(Collection<SubHyperplane<Sphere1D>> boundary, double tolerance) 从边界表示(B-rep)构建弧集。从内部/外部BSP树构建弧集。 -
方法概要
从类继承的方法 org.hipparchus.geometry.partitioning.AbstractRegion
applyTransform, checkPoint, checkPoint, checkPoint, checkPoint, contains, copySelf, getBarycenter, getBoundarySize, getSize, getTolerance, getTree, intersection, isEmpty, isEmpty, isFull, isFull, setBarycenter, setBarycenter, setSize
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 java.lang.Iterable
forEach, spliterator
-
构造器详细资料
-
ArcsSet
构建表示整个圆的弧集。- 参数:
-
tolerance
- 小于此值的接近子弧将合并在一起 - 抛出:
-
MathIllegalArgumentException
- 如果容差小于Sphere1D.SMALLEST_TOLERANCE
-
ArcsSet
构建对应于单个弧的弧集。如果
lower
等于upper
或间隔超过 \( 2 \pi \),则将认为弧是整个圆,并且其初始定义边界将被遗忘。不允许lower
大于upper
(在这种情况下会抛出异常)。- 参数:
-
lower
- 弧的下界 -
upper
- 弧的上界 -
tolerance
- 小于此值的接近子弧将合并在一起 - 抛出:
-
MathIllegalArgumentException
- 如果 lower 大于 upper 或 tolerance 小于Sphere1D.SMALLEST_TOLERANCE
-
ArcsSet
public ArcsSet(BSPTree<Sphere1D> tree, double tolerance) throws ArcsSet.InconsistentStateAt2PiWrapping, MathIllegalArgumentException 从内部/外部BSP树构建弧集。BSP树的叶节点必须具有表示相应单元格内部状态的
Boolean
属性(对于内部单元格为true,对于外部单元格为false)。为了避免构建太多小对象,建议使用预定义的常量Boolean.TRUE
和Boolean.FALSE
- 参数:
-
tree
- 表示弧集的内部/外部BSP树 -
tolerance
- 小于此值的接近子弧将合并在一起 - 抛出:
-
ArcsSet.InconsistentStateAt2PiWrapping
- 如果树的叶节点在 \( 0, 2 \pi \) 跨越时不一致 -
MathIllegalArgumentException
- 如果容差小于Sphere1D.SMALLEST_TOLERANCE
-
ArcsSet
public ArcsSet(Collection<SubHyperplane<Sphere1D>> boundary, double tolerance) throws ArcsSet.InconsistentStateAt2PiWrapping, MathIllegalArgumentException 从边界表示(B-rep)构建弧集。边界以一组
sub-hyperplanes
的形式提供。每个子超平面在其负侧具有区域的内部部分,在其正侧具有外部部分。边界元素可以以任何顺序排列,并且可以形成几个非连接的集合(例如带孔的多边形或一组被视为整体的不相交的多面体)。实际上,元素甚至不需要连接在一起(它们的拓扑连接在这里不被使用)。但是,如果边界实际上没有将内部开放区域与外部开放区域(这里的开放具有其拓扑含义)分开,则随后对
checkPoint
方法的调用将不再有意义。如果边界为空,则该区域将表示整个空间。
- 参数:
-
boundary
- 边界元素的集合 -
tolerance
- 小于此值的接近子弧将合并在一起 - 抛出:
-
ArcsSet.InconsistentStateAt2PiWrapping
- 如果树的叶节点在 \( 0, 2 \pi \) 跨越时不一致 -
MathIllegalArgumentException
- 如果容差小于Sphere1D.SMALLEST_TOLERANCE
-
-
方法详细资料
-
buildNew
使用实例作为原型构建区域。此方法允许创建新实例,而无需确切了解区域的类型。这是原型设计模式的应用。
BSP树的叶节点必须具有表示相应单元格内部状态的
Boolean
属性(对于内部单元格为true,对于外部单元格为false)。为了避免构建太多小对象,建议使用预定义的常量Boolean.TRUE
和Boolean.FALSE
。树还必须具有空的内部节点或按照getTree
方法中指定的边界的内部节点)。 -
computeGeometricalProperties
protected void computeGeometricalProperties()计算一些几何属性。要计算的属性包括重心和大小。
-
projectToBoundary
在区域边界上投影点。- 指定者:
-
projectToBoundary
在接口中Region<Sphere1D>
- 覆盖:
-
projectToBoundary
在类中AbstractRegion<Sphere1D,
Sphere1D> - 参数:
-
point
- 要检查的点 - 返回:
- 点在边界上的投影
-
asList
构建表示实例的有序弧列表。此方法将此弧集构建为一个有序的
Arc
元素列表。一个空树将构建一个空列表,而表示整个圆的树将构建一个元素为 \( 0 和 2 \pi \) 的列表。- 返回:
-
包含
Arc
元素的新有序列表
-
iterator
迭代器按逆时针顺序返回子弧的限制角对。
迭代器不支持可选的
remove
操作。 -
split
通过弧将实例分为两部分。- 参数:
-
arc
- 分割弧 - 返回:
- 包含实例正面部分和负面部分的对象
-