Class MultiShape3dfx<T extends Shape3dfx<?>>
- java.lang.Object
-
- org.arakhne.afc.math.geometry.d3.dfx.AbstractShape3dfx<MultiShape3dfx<T>>
-
- org.arakhne.afc.math.geometry.d3.dfx.MultiShape3dfx<T>
-
- Type Parameters:
T
- the type of the shapes inside the multishape.
- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<T>
,Collection<T>
,List<T>
,MultiShape3afp<Shape3dfx<?>,MultiShape3dfx<T>,T,PathElement3dfx,Point3dfx,Vector3dfx,RectangularPrism3dfx>
,Shape3afp<Shape3dfx<?>,MultiShape3dfx<T>,PathElement3dfx,Point3dfx,Vector3dfx,RectangularPrism3dfx>
,Shape3dfx<MultiShape3dfx<T>>
,MultiShape3D<Shape3dfx<?>,MultiShape3dfx<T>,T,PathIterator3afp<PathElement3dfx>,Point3dfx,Vector3dfx,RectangularPrism3dfx>
,Shape3D<Shape3dfx<?>,MultiShape3dfx<T>,PathIterator3afp<PathElement3dfx>,Point3dfx,Vector3dfx,RectangularPrism3dfx>
,JsonableObject
public class MultiShape3dfx<T extends Shape3dfx<?>> extends AbstractShape3dfx<MultiShape3dfx<T>> implements MultiShape3afp<Shape3dfx<?>,MultiShape3dfx<T>,T,PathElement3dfx,Point3dfx,Vector3dfx,RectangularPrism3dfx>
Container for grouping of shapes.The coordinates of the shapes inside the multishape are global. They are not relative to the multishape.
Caution: The multishape does not detect the bound change of the stored shapes.
- 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.afp.MultiShape3afp
MultiShape3afp.AbstractMultiShapePathIterator<IE extends PathElement3afp>, MultiShape3afp.MultiShapePathIterator<IE extends PathElement3afp>, MultiShape3afp.TransformedMultiShapePathIterator<IE extends PathElement3afp>
-
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.dfx.AbstractShape3dfx
boundingBox
-
-
Constructor Summary
Constructors Constructor Description MultiShape3dfx()
Construct an empty multishape.MultiShape3dfx(Iterable<? extends T> shapes)
Construct a multishape with shapes inside.MultiShape3dfx(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<RectangularPrism3dfx>
boundingBoxProperty()
Replies the property that contains the bounding box for this shape.MultiShape3dfx<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()
RectangularPrism3dfx
toBoundingBox()
Replies the bounding box of this shape.void
toBoundingBox(RectangularPrism3dfx box)
Replies the bounds of the shape.-
Methods inherited from class org.arakhne.afc.math.geometry.d3.dfx.AbstractShape3dfx
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.afp.MultiShape3afp
contains, contains, createTransformedShape, getClosestPointTo, getClosestPointTo, getClosestPointTo, getClosestPointTo, getClosestPointTo, getFirstShapeIntersecting, getPathIterator, 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.afp.Shape3afp
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
-
MultiShape3dfx
public MultiShape3dfx()
Construct an empty multishape.
-
MultiShape3dfx
public MultiShape3dfx(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<Shape3dfx<?>,MultiShape3dfx<T extends Shape3dfx<?>>,T extends Shape3dfx<?>,PathIterator3afp<PathElement3dfx>,Point3dfx,Vector3dfx,RectangularPrism3dfx>
- 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<RectangularPrism3dfx> boundingBoxProperty()
Description copied from interface:Shape3dfx
Replies the property that contains the bounding box for this shape.- Specified by:
boundingBoxProperty
in interfaceShape3dfx<T extends Shape3dfx<?>>
- Returns:
- the bounding box.
-
clone
public MultiShape3dfx<T> clone()
Description copied from interface:Shape3D
Clone this shape.- Specified by:
clone
in interfaceShape3D<Shape3dfx<?>,MultiShape3dfx<T extends Shape3dfx<?>>,PathIterator3afp<PathElement3dfx>,Point3dfx,Vector3dfx,RectangularPrism3dfx>
- Overrides:
clone
in classAbstractShape3dfx<MultiShape3dfx<T extends Shape3dfx<?>>>
- Returns:
- the clone.
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfaceCollection<T extends Shape3dfx<?>>
- Specified by:
hashCode
in interfaceList<T extends Shape3dfx<?>>
- Specified by:
hashCode
in classAbstractShape3dfx<MultiShape3dfx<T extends Shape3dfx<?>>>
-
toBoundingBox
@Pure public RectangularPrism3dfx toBoundingBox()
Description copied from interface:Shape3D
Replies the bounding box of this shape.- Specified by:
toBoundingBox
in interfaceShape3afp<Shape3dfx<?>,MultiShape3dfx<T extends Shape3dfx<?>>,PathElement3dfx,Point3dfx,Vector3dfx,RectangularPrism3dfx>
- Specified by:
toBoundingBox
in interfaceShape3D<Shape3dfx<?>,MultiShape3dfx<T extends Shape3dfx<?>>,PathIterator3afp<PathElement3dfx>,Point3dfx,Vector3dfx,RectangularPrism3dfx>
- Returns:
- the bounding box of this shape.
-
toBoundingBox
@Pure public void toBoundingBox(RectangularPrism3dfx box)
Description copied from interface:Shape3D
Replies the bounds of the shape.- Specified by:
toBoundingBox
in interfaceMultiShape3afp<Shape3dfx<?>,MultiShape3dfx<T extends Shape3dfx<?>>,T extends Shape3dfx<?>,PathElement3dfx,Point3dfx,Vector3dfx,RectangularPrism3dfx>
- Specified by:
toBoundingBox
in interfaceShape3D<Shape3dfx<?>,MultiShape3dfx<T extends Shape3dfx<?>>,PathIterator3afp<PathElement3dfx>,Point3dfx,Vector3dfx,RectangularPrism3dfx>
- Parameters:
box
- is set with the bounds of the shape.
-
-