Class MultiShape3ifx<T extends Shape3ifx<?>>
- java.lang.Object
-
- org.arakhne.afc.math.geometry.d3.ifx.AbstractShape3ifx<MultiShape3ifx<T>>
-
- org.arakhne.afc.math.geometry.d3.ifx.MultiShape3ifx<T>
-
- Type Parameters:
T
- the type of the shapes inside the multishape.
- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<T>
,Collection<T>
,List<T>
,MultiShape3ai<Shape3ifx<?>,MultiShape3ifx<T>,T,PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
,Shape3ai<Shape3ifx<?>,MultiShape3ifx<T>,PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
,Shape3ifx<MultiShape3ifx<T>>
,MultiShape3D<Shape3ifx<?>,MultiShape3ifx<T>,T,PathIterator3ai<PathElement3ifx>,Point3ifx,Vector3ifx,RectangularPrism3ifx>
,Shape3D<Shape3ifx<?>,MultiShape3ifx<T>,PathIterator3ai<PathElement3ifx>,Point3ifx,Vector3ifx,RectangularPrism3ifx>
,JsonableObject
public class MultiShape3ifx<T extends Shape3ifx<?>> extends AbstractShape3ifx<MultiShape3ifx<T>> implements MultiShape3ai<Shape3ifx<?>,MultiShape3ifx<T>,T,PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
Container for grouping of shapes.The coordinates of the shapes inside the multishape are global. They are not relative to the multishape.
- Since:
- 13.0
- Version:
- 17.0 2020-01-04 14:41:49
- Author:
- Thomas PIOTROWSKI, Stéphane GALLAND
- See Also:
- Serialized Form
- Maven Group Id:
- org.arakhne.afc.advanced
- Maven Artifact Id:
- mathfx
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.arakhne.afc.math.geometry.d3.ai.MultiShape3ai
MultiShape3ai.AbstractMultiShapePathIterator<IE extends PathElement3ai>, MultiShape3ai.MultiShapePathIterator<IE extends PathElement3ai>, MultiShape3ai.MultiShapePointIterator<P extends Point3D<? super P,? super V>,V extends Vector3D<? super V,? super P>>, MultiShape3ai.TransformedMultiShapePathIterator<IE extends PathElement3ai>
-
Nested classes/interfaces inherited from interface org.arakhne.afc.math.geometry.d3.MultiShape3D
MultiShape3D.BackendIterator<CT extends Shape3D<?,?,?,?,?,?>>, MultiShape3D.BackendList<CT extends Shape3D<?,?,?,?,?,?>>
-
-
Field Summary
-
Fields inherited from class org.arakhne.afc.math.geometry.d3.ifx.AbstractShape3ifx
boundingBox
-
-
Constructor Summary
Constructors Constructor Description MultiShape3ifx()
Construct an empty multishape.MultiShape3ifx(Iterable<? extends T> shapes)
Construct a multishape with shapes inside.MultiShape3ifx(T... shapes)
Construct a multishape with shapes inside.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description javafx.beans.property.ObjectProperty<RectangularPrism3ifx>
boundingBoxProperty()
Replies the property that contains the bounding box for this shape.MultiShape3ifx<T>
clone()
Clone this shape.javafx.beans.property.ListProperty<T>
elementsProperty()
Replies the property that contains all the shapes in this multishape.List<T>
getBackendDataList()
Replies the list that contains the backend data.int
hashCode()
RectangularPrism3ifx
toBoundingBox()
Replies the bounding box of this shape.void
toBoundingBox(RectangularPrism3ifx box)
Replies the bounds of the shape.-
Methods inherited from class org.arakhne.afc.math.geometry.d3.ifx.AbstractShape3ifx
equals, getGeomFactory, toJson, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface org.arakhne.afc.vmutil.json.JsonableObject
toJson
-
Methods inherited from interface java.util.List
equals, replaceAll, sort, spliterator
-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.ai.MultiShape3ai
contains, contains, createTransformedShape, getClosestPointTo, getClosestPointTo, getClosestPointTo, getClosestPointTo, getClosestPointTo, getFirstShapeIntersecting, getPathIterator, getPointIterator, getShapesIntersecting, intersects, intersects, intersects, intersects, intersects, translate
-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.MultiShape3D
add, add, addAll, addAll, clear, contains, containsAll, equalsToShape, get, getClosestPointTo, getDistanceL1, getDistanceLinf, getDistanceSquared, getFarthestPointTo, getFirstShapeContaining, getShapesContaining, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, onBackendDataChange, remove, remove, removeAll, retainAll, set, set, size, subList, toArray, toArray
-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.ai.Shape3ai
contains, contains, getClosestPointTo, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getDistanceSquared, getGeomFactory, intersects, intersects, translate
-
Methods inherited from interface org.arakhne.afc.math.geometry.d3.Shape3D
equalsToPathIterator, getDistance, getDistance, getPathIterator, operator_add, operator_and, operator_and, operator_minus, operator_multiply, operator_plus, operator_remove, operator_upTo
-
-
-
-
Constructor Detail
-
MultiShape3ifx
public MultiShape3ifx()
Construct an empty multishape.
-
MultiShape3ifx
public MultiShape3ifx(T... shapes)
Construct a multishape with shapes inside.- Parameters:
shapes
- the shapes to add into the multishape.
-
-
Method Detail
-
getBackendDataList
@Pure public List<T> getBackendDataList()
Description copied from interface:MultiShape3D
Replies the list that contains the backend data.Use this function with caution. Indeed, any change made in the replied list has no consequence on the internal attributes of this multishape object.
- Specified by:
getBackendDataList
in interfaceMultiShape3D<Shape3ifx<?>,MultiShape3ifx<T extends Shape3ifx<?>>,T extends Shape3ifx<?>,PathIterator3ai<PathElement3ifx>,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- Returns:
- the backend data list.
-
elementsProperty
public javafx.beans.property.ListProperty<T> elementsProperty()
Replies the property that contains all the shapes in this multishape.- Returns:
- the elements property.
-
boundingBoxProperty
public javafx.beans.property.ObjectProperty<RectangularPrism3ifx> boundingBoxProperty()
Description copied from interface:Shape3ifx
Replies the property that contains the bounding box for this shape.- Specified by:
boundingBoxProperty
in interfaceShape3ifx<T extends Shape3ifx<?>>
- Returns:
- the bounding box.
-
clone
public MultiShape3ifx<T> clone()
Description copied from interface:Shape3D
Clone this shape.- Specified by:
clone
in interfaceShape3D<Shape3ifx<?>,MultiShape3ifx<T extends Shape3ifx<?>>,PathIterator3ai<PathElement3ifx>,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- Overrides:
clone
in classAbstractShape3ifx<MultiShape3ifx<T extends Shape3ifx<?>>>
- Returns:
- the clone.
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfaceCollection<T extends Shape3ifx<?>>
- Specified by:
hashCode
in interfaceList<T extends Shape3ifx<?>>
- Specified by:
hashCode
in classAbstractShape3ifx<MultiShape3ifx<T extends Shape3ifx<?>>>
-
toBoundingBox
@Pure public RectangularPrism3ifx toBoundingBox()
Description copied from interface:Shape3D
Replies the bounding box of this shape.- Specified by:
toBoundingBox
in interfaceShape3ai<Shape3ifx<?>,MultiShape3ifx<T extends Shape3ifx<?>>,PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- Specified by:
toBoundingBox
in interfaceShape3D<Shape3ifx<?>,MultiShape3ifx<T extends Shape3ifx<?>>,PathIterator3ai<PathElement3ifx>,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- Returns:
- the bounding box of this shape.
-
toBoundingBox
@Pure public void toBoundingBox(RectangularPrism3ifx box)
Description copied from interface:Shape3D
Replies the bounds of the shape.- Specified by:
toBoundingBox
in interfaceMultiShape3ai<Shape3ifx<?>,MultiShape3ifx<T extends Shape3ifx<?>>,T extends Shape3ifx<?>,PathElement3ifx,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- Specified by:
toBoundingBox
in interfaceShape3D<Shape3ifx<?>,MultiShape3ifx<T extends Shape3ifx<?>>,PathIterator3ai<PathElement3ifx>,Point3ifx,Vector3ifx,RectangularPrism3ifx>
- Parameters:
box
- is set with the bounds of the shape.
-
-