类 IntervalsSet
java.lang.Object
org.hipparchus.geometry.partitioning.AbstractRegion<Euclidean1D,Euclidean1D>
org.hipparchus.geometry.euclidean.oned.IntervalsSet
- 所有已实现的接口:
-
Iterable<double[]>
,Region<Euclidean1D>
public class IntervalsSet extends AbstractRegion<Euclidean1D,Euclidean1D> implements Iterable<double[]>
该类表示一维区域:一组间隔。
-
嵌套类概要
从接口继承的嵌套类/接口 org.hipparchus.geometry.partitioning.Region
Region.Location
-
构造器概要
构造器说明IntervalsSet
(double tolerance) 构建表示整个实数线的间隔集。IntervalsSet
(double lower, double upper, double tolerance) 构建对应于单个间隔的间隔集。IntervalsSet
(Collection<SubHyperplane<Euclidean1D>> boundary, double tolerance) 从边界表示(B-rep)构建间隔集。IntervalsSet
(BSPTree<Euclidean1D> tree, double tolerance) 从内部/外部BSP树构建间隔集。 -
方法概要
修饰符和类型方法说明asList()
构建表示实例的有序间隔列表。buildNew
(BSPTree<Euclidean1D> tree) 使用实例作为原型构建区域。protected void
计算一些几何属性。double
getInf()
获取实例中属于的最低值。double
getSup()
获取实例中属于的最高值。Iterator
<double[]> iterator()
projectToBoundary
(Point<Euclidean1D> point) 在区域边界上投影点。从类继承的方法 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
-
构造器详细资料
-
IntervalsSet
public IntervalsSet(double tolerance) 构建表示整个实数线的间隔集。- 参数:
-
tolerance
- 被视为相同的点下的容差。
-
IntervalsSet
public IntervalsSet(double lower, double upper, double tolerance) 构建对应于单个间隔的间隔集。- 参数:
-
lower
- 区间的下界,必须小于或等于upper
(可以是Double.NEGATIVE_INFINITY
) -
upper
- 区间的上界,必须大于或等于lower
(可以是Double.POSITIVE_INFINITY
) -
tolerance
- 被视为相同的点下的容差。
-
IntervalsSet
从内部/外部BSP树构建间隔集。BSP树的叶节点必须具有表示相应单元格内部状态的
Boolean
属性(对于内部单元格为true,对于外部单元格为false)。为了避免构建太多小对象,建议使用预定义常量Boolean.TRUE
和Boolean.FALSE
- 参数:
-
tree
- 表示间隔集的内部/外部BSP树 -
tolerance
- 被视为相同的点下的容差。
-
IntervalsSet
从边界表示(B-rep)构建间隔集。边界提供为
sub-hyperplanes
集合。每个子超平面在其负侧具有区域的内部部分,在其正侧具有外部部分。边界元素可以以任何顺序排列,并且可以形成几个非连接的集合(例如具有孔洞的多边形或作为整体考虑的一组不相交的多面体)。实际上,元素甚至不需要连接在一起(它们的拓扑连接在这里不使用)。但是,如果边界实际上没有将内部开放区域与外部开放区域分开(这里的开放具有其拓扑含义),那么对
checkPoint
方法的后续调用将不再有意义。如果边界为空,则区域将表示整个空间。
- 参数:
-
boundary
- 边界元素的集合 -
tolerance
- 被视为相同的点下的容差。
-
-
方法详细资料
-
buildNew
使用实例作为原型构建区域。此方法允许创建新实例,而无需确切了解区域的类型。这是原型设计模式的应用。
BSP树的叶节点必须具有表示相应单元格内部状态的
Boolean
属性(对于内部单元格为true,对于外部单元格为false)。为了避免构建太多小对象,建议使用预定义常量Boolean.TRUE
和Boolean.FALSE
。树还必须具有空的内部节点或按照getTree
方法中指定的边界的内部节点)。- 指定者:
-
buildNew
在接口中Region<Euclidean1D>
- 指定者:
-
buildNew
在类中AbstractRegion<Euclidean1D,
Euclidean1D> - 参数:
-
tree
- 表示新区域的内部/外部BSP树 - 返回:
- 构建的区域
-
computeGeometricalProperties
protected void computeGeometricalProperties()计算一些几何属性。要计算的属性包括重心和大小。
-
getInf
public double getInf()获取实例中属于的最低值。- 返回:
-
实例中属于的最低值(如果实例没有下界,则为
Double.NEGATIVE_INFINITY
,如果实例为空,则为Double.POSITIVE_INFINITY
)
-
getSup
public double getSup()获取实例中属于的最高值。- 返回:
-
实例中属于的最高值(如果实例没有上界,则为
Double.POSITIVE_INFINITY
,如果实例为空,则为Double.NEGATIVE_INFINITY
)
-
projectToBoundary
在区域边界上投影点。- 指定者:
-
projectToBoundary
在接口中Region<Euclidean1D>
- 覆盖:
-
projectToBoundary
在类中AbstractRegion<Euclidean1D,
Euclidean1D> - 参数:
-
point
- 要检查的点 - 返回:
- 点在边界上的投影
-
asList
构建表示实例的有序间隔列表。此方法将此间隔集构建为
Interval
元素的有序列表。如果间隔集没有下限,则第一个间隔的下界将等于Double.NEGATIVE_INFINITY
。如果间隔集没有上限,则最后一个间隔的上界将等于Double.POSITIVE_INFINITY
。空树将构建一个空列表,而表示整个实数线的树将构建一个元素为无限的单元素列表。- 返回:
-
包含
Interval
元素的新有序列表
-
iterator
迭代器按升序返回子间隔的限值。
迭代器不支持可选的
remove
操作。
-