All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jeometry.geom3D.primitive.LineSet3D Maven / Gradle / Ivy

There is a newer version: 1.0.5
Show newest version
package org.jeometry.geom3D.primitive;

import java.io.Serializable;
import java.util.List;

import org.jeometry.Jeometry;
import org.jeometry.geom3D.point.Point3D;
import org.jeometry.geom3D.point.Point3DContainer;

/**
 * A set of {@link Line3D 3D lines}.
 * @param  The type of the underlying 3D points
 * @author Julien Seinturier - COMEX S.A. - [email protected] - https://github.com/jorigin/jeometry
 * @version {@value Jeometry#version} build {@value Jeometry#BUILD}
 * @since 1.0.0
 *
 */
public interface LineSet3D extends Serializable{

  /**
   * Get the vertices of the line set. Each vertex is a 3D point.
   * @return the vertices of the line set.
   */
  Point3DContainer getVertices();

  /**
   * Return the {@link Line3D lines} that compose the line set.
   * @return a list containing all the segments of the line set.
   */
  List> getSegments();
  
  /**
   * Add a new point to the line set. A new line is created from the last plotted point and this one.
   * @param point the point to add as a line extremity.
   */
  void plot(T point);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy