Class MultiShape2ai.AbstractMultiShapePathIterator<IE extends PathElement2ai>
- java.lang.Object
-
- org.arakhne.afc.math.geometry.d2.ai.MultiShape2ai.AbstractMultiShapePathIterator<IE>
-
- Type Parameters:
IE- the type of the path elements.
- All Implemented Interfaces:
Iterator<IE>,PathIterator2ai<IE>,PathIterator2D<IE>
- Direct Known Subclasses:
MultiShape2ai.MultiShapePathIterator,MultiShape2ai.TransformedMultiShapePathIterator
- Enclosing interface:
- MultiShape2ai<ST extends Shape2ai<?,?,IE,P,V,B>,IT extends MultiShape2ai<?,?,CT,IE,P,V,B>,CT extends Shape2ai<?,?,IE,P,V,B>,IE extends PathElement2ai,P extends Point2D<? super P,? super V>,V extends Vector2D<? super V,? super P>,B extends Rectangle2ai<?,?,IE,P,V,B>>
public abstract static class MultiShape2ai.AbstractMultiShapePathIterator<IE extends PathElement2ai> extends Object implements PathIterator2ai<IE>
Abstract iterator on the path elements of the multishape.- Version:
- 17.0 2020-01-04 14:41:43
- Author:
- Stéphane GALLAND
- Maven Group Id:
- org.arakhne.afc.core
- Maven Artifact Id:
- mathgeom
-
-
Constructor Summary
Constructors Constructor Description AbstractMultiShapePathIterator(List<? extends Shape2ai<?,?,IE,?,?,?>> list, GeomFactory2ai<IE,?,?,?> factory)Constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voiddelayedInit(List<? extends Shape2ai<?,?,IE,?,?,?>> list)Initialization.GeomFactory2ai<IE,?,?,?>getGeomFactory()Replies the factory of geometrical elements.protected abstract PathIterator2ai<IE>getPathIteratorFrom(Shape2ai<?,?,IE,?,?,?> shape)Replies the path iterator of the shape.PathWindingRulegetWindingRule()Replies the winding rule for the path.booleanhasNext()booleanisCurved()Replies the path contains a curve.booleanisMultiParts()Replies the path has multiple parts, i.e. multipleMOVE_TOare inside.booleanisPolygon()Replies the path is composed only by oneMOVE_TO, a sequence ofLINE_TOorQUAD_TOorCURVE_TOorARC_TO, and a singleCLOSEprimitives.booleanisPolyline()Replies the path is composed only by oneMOVE_TO, and a sequence ofLINE_TOprimitives.IEnext()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Iterator
forEachRemaining, remove
-
Methods inherited from interface org.arakhne.afc.math.geometry.d2.ai.PathIterator2ai
restartIterations
-
-
-
-
Field Detail
-
list
protected final List<? extends Shape2ai<?,?,IE extends PathElement2ai,?,?,?>> list
Iterated list.
-
-
Constructor Detail
-
AbstractMultiShapePathIterator
public AbstractMultiShapePathIterator(List<? extends Shape2ai<?,?,IE,?,?,?>> list, GeomFactory2ai<IE,?,?,?> factory)
Constructor.- Parameters:
list- the list of the shapes to iterate on.factory- the factory of path elements.
-
-
Method Detail
-
delayedInit
protected void delayedInit(List<? extends Shape2ai<?,?,IE,?,?,?>> list)
Initialization.- Parameters:
list- the list to iterate on.
-
getPathIteratorFrom
protected abstract PathIterator2ai<IE> getPathIteratorFrom(Shape2ai<?,?,IE,?,?,?> shape)
Replies the path iterator of the shape.- Parameters:
shape- the shape.- Returns:
- the path iterator.
-
hasNext
public boolean hasNext()
- Specified by:
hasNextin interfaceIterator<IE extends PathElement2ai>
-
next
public IE next()
- Specified by:
nextin interfaceIterator<IE extends PathElement2ai>
-
getWindingRule
public PathWindingRule getWindingRule()
Description copied from interface:PathIterator2DReplies the winding rule for the path.- Specified by:
getWindingRulein interfacePathIterator2D<IE extends PathElement2ai>- Returns:
- the winding rule for the path.
-
isPolyline
public boolean isPolyline()
Description copied from interface:PathIterator2DReplies the path is composed only by oneMOVE_TO, and a sequence ofLINE_TOprimitives.- Specified by:
isPolylinein interfacePathIterator2D<IE extends PathElement2ai>- Returns:
trueif the path does not contain curve primitives,falseotherwise.
-
isCurved
public boolean isCurved()
Description copied from interface:PathIterator2DReplies the path contains a curve.- Specified by:
isCurvedin interfacePathIterator2D<IE extends PathElement2ai>- Returns:
trueif the path contains curve primitives,falseotherwise.
-
isMultiParts
public boolean isMultiParts()
Description copied from interface:PathIterator2DReplies the path has multiple parts, i.e. multipleMOVE_TOare inside. primitives.- Specified by:
isMultiPartsin interfacePathIterator2D<IE extends PathElement2ai>- Returns:
trueif the path has multiple move-to primitive,falseotherwise.
-
isPolygon
public boolean isPolygon()
Description copied from interface:PathIterator2DReplies the path is composed only by oneMOVE_TO, a sequence ofLINE_TOorQUAD_TOorCURVE_TOorARC_TO, and a singleCLOSEprimitives.- Specified by:
isPolygonin interfacePathIterator2D<IE extends PathElement2ai>- Returns:
trueif the path does not contain curve primitives,falseotherwise.
-
getGeomFactory
public GeomFactory2ai<IE,?,?,?> getGeomFactory()
Description copied from interface:PathIterator2DReplies the factory of geometrical elements.- Specified by:
getGeomFactoryin interfacePathIterator2ai<IE extends PathElement2ai>- Specified by:
getGeomFactoryin interfacePathIterator2D<IE extends PathElement2ai>- Returns:
- the factory.
-
-