Package me.deecaad.core.utils.shape
Interface Shape
- All Known Implementing Classes:
CircleShape,ConeShape,CubeShape,LineShape,PointShape,SphereShape
public interface Shape
A geometric region that produces emission points + directions. Implementations are immutable and
may sample randomly (ignoring
t) or deterministically (using t as a normalized
parameter, e.g. position along a line or angle around a circle).
Shapes have no scheduling, ticking, or world coordinate concept: they return offsets relative to an emitter origin. The emitter rotates and translates these into world space.
-
Method Summary
Modifier and TypeMethodDescription@NotNull ShapePointgetPoint(double t) Returns one sample from this shape.default @NotNull List<ShapePoint> getPoints(int count) Returnscountsamples.
-
Method Details
-
getPoint
Returns one sample from this shape. For random shapes (sphere, cone, cube)tis ignored; for deterministic shapes (point, line, circle)tparameterizes the sample.- Parameters:
t- Normalized parameter in[0, 1).- Returns:
- The non-null shape point.
-
getPoints
Returnscountsamples. By default, samples at evenly distributedtvalues. Random shapes naturally ignoretand producecountrandom samples.- Parameters:
count- The non-negative number of samples.- Returns:
- A non-null list of shape points.
-