1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * https://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 /* 19 * This is not the original file distributed by the Apache Software Foundation 20 * It has been modified by the Hipparchus project 21 */ 22 package org.hipparchus.geometry.euclidean.threed; 23 24 25 /** Simple container for a two-points segment. 26 */ 27 public class Segment { 28 29 /** Start point of the segment. */ 30 private final Vector3D start; 31 32 /** End point of the segments. */ 33 private final Vector3D end; 34 35 /** Line containing the segment. */ 36 private final Line line; 37 38 /** Build a segment. 39 * @param start start point of the segment 40 * @param end end point of the segment 41 * @param line line containing the segment 42 */ 43 public Segment(final Vector3D start, final Vector3D end, final Line line) { 44 this.start = start; 45 this.end = end; 46 this.line = line; 47 } 48 49 /** Get the start point of the segment. 50 * @return start point of the segment 51 */ 52 public Vector3D getStart() { 53 return start; 54 } 55 56 /** Get the end point of the segment. 57 * @return end point of the segment 58 */ 59 public Vector3D getEnd() { 60 return end; 61 } 62 63 /** Get the line containing the segment. 64 * @return line containing the segment 65 */ 66 public Line getLine() { 67 return line; 68 } 69 70 }