Esempio n. 1
0
    protected javax.vecmath.Vector3d getPositionEnd() {
      if (m_subjectBoundingBox == null) {
        m_subjectBoundingBox = subject.getBoundingBox();

        if (m_subjectBoundingBox.getMaximum() == null) {
          m_subjectBoundingBox =
              new edu.cmu.cs.stage3.math.Box(
                  subject.getPosition(subject), subject.getPosition(subject));
        }
      }
      if (m_asSeenByBoundingBox == null) {
        m_asSeenByBoundingBox = m_asSeenBy.getBoundingBox();

        if (m_asSeenByBoundingBox.getMaximum() == null) {
          m_asSeenByBoundingBox =
              new edu.cmu.cs.stage3.math.Box(
                  m_asSeenBy.getPosition(m_asSeenBy), m_asSeenBy.getPosition(m_asSeenBy));
        }
      }
      edu.cmu.cs.stage3.alice.core.SpatialRelation sv = spatialRelation.getSpatialRelationValue();
      javax.vecmath.Vector3d v =
          sv.getPlaceVector(amount.doubleValue(), m_subjectBoundingBox, m_asSeenByBoundingBox);
      return v;
    }