Package gprover

Class GDDAux

  • Direct Known Subclasses:
    GDDBc

    public class GDDAux
    extends GDD
    GDDAux extends GDD to provide auxiliary processing methods for geometric constructions.
    • Constructor Detail

      • GDDAux

        public GDDAux()
    • Method Detail

      • add_aux

        public void add_aux​(AuxPt ax)
        Adds an auxiliary point if it does not already exist.
        Parameters:
        ax - the auxiliary point to add.
      • time_over

        public boolean time_over()
        Checks if the elapsed time since start exceeds the defined limit.
        Returns:
        true if the time is over the limit, false otherwise.
      • time_start

        public void time_start()
        Records the current system time as the start time for timing.
      • ax_cg

        public void ax_cg()
        Processes congruence segments within the point network.
      • ax_backward

        public void ax_backward()
        Initiates the backward process based on current configuration in the point network.
      • ax_bk_mid

        public void ax_bk_mid​(int m,
                              int p1,
                              int p2)
        Processes backward midpoint transformations for the given points.
        Parameters:
        m - the midpoint involved in the transformation
        p1 - the first point component of the midpoint
        p2 - the second point component of the midpoint
      • cal_ax_tn

        public void cal_ax_tn​(ProPoint pt,
                              int p1,
                              int p2,
                              int p3)
        Calculates the Y coordinate on the tangent line for point p1 using p2 and p3. Sets the point pt with an X coordinate of 0 and the computed Y coordinate.
        Parameters:
        pt - the point to update with the computed coordinate
        p1 - the reference point for the tangent calculation
        p2 - the second point used in the calculation
        p3 - the third point used in the calculation
      • cal_ax_md

        public void cal_ax_md​(ProPoint pt,
                              int p1,
                              int p2)
        Calculates the midpoint of points p1 and p2. Updates pt with the computed midpoint coordinates.
        Parameters:
        pt - the point to update with the midpoint coordinates
        p1 - the first point
        p2 - the second point
      • cal_ax_ill

        public boolean cal_ax_ill​(ProPoint pt,
                                  int p1,
                                  int p2,
                                  int p3,
                                  int p4)
        Calculates the intersection point between the lines defined by (p1, p2) and (p3, p4). Updates pt with the computed intersection coordinates if valid.
        Parameters:
        pt - the point to update with the intersection coordinates
        p1 - the first point of the first line
        p2 - the second point of the first line
        p3 - the first point of the second line
        p4 - the second point of the second line
        Returns:
        true if an intersection point is successfully computed, false otherwise
      • cal_ax_foot

        public void cal_ax_foot​(ProPoint pt,
                                int p1,
                                int p2,
                                int p3)
        Calculates the foot of the perpendicular from point p1 to the line defined by p2 and p3. Updates pt with the computed foot coordinates.
        Parameters:
        pt - the point to update with the foot coordinates
        p1 - the point from which the perpendicular is drawn
        p2 - the first point defining the line
        p3 - the second point defining the line
      • cal_ax_ilp

        public boolean cal_ax_ilp​(ProPoint pt,
                                  int p1,
                                  int p2,
                                  int p3,
                                  int p4,
                                  int p5)
        Calculates the intersection point for a line configuration using points p1, p2, p3, p4, and p5. Updates pt with the computed intersection coordinates.
        Parameters:
        pt - the point to update with the intersection coordinates
        p1 - the first reference point
        p2 - the second reference point
        p3 - the third reference point
        p4 - the fourth reference point
        p5 - the fifth reference point
        Returns:
        true if the intersection is successfully computed, false otherwise
      • cal_ax_co

        public void cal_ax_co​(ProPoint pt,
                              int p1,
                              int p2,
                              int p3)
        Calculates the center based on the configuration of points p1, p2, and p3. Updates pt with the computed center coordinates.
        Parameters:
        pt - the point to update with the center coordinates
        p1 - the first reference point
        p2 - the second reference point
        p3 - the third reference point
      • cal_ax_ipc

        public boolean cal_ax_ipc​(ProPoint pt,
                                  int p1,
                                  int p2,
                                  int p3,
                                  int p4,
                                  int p5)
        Calculates the intersection point between a translated line and a circle. The translation is based on the vector from p1 to p2 applied to p3. Updates pt with the computed intersection coordinates.
        Parameters:
        pt - the point to update with the intersection coordinates
        p1 - the first reference point for the translation vector
        p2 - the second reference point for the translation vector
        p3 - the base point for translation
        p4 - the first point defining the circle
        p5 - the second point defining the circle
        Returns:
        true if the intersection is successfully computed, false otherwise
      • cal_ax_ilc

        public boolean cal_ax_ilc​(ProPoint pt,
                                  int p1,
                                  int p2,
                                  int p3,
                                  int p4)
        Calculates the intersection point between the line defined by p1 and p2 and the circle defined by p3 and p4. Updates pt with the computed intersection coordinates.
        Parameters:
        pt - the point to update with the intersection coordinates
        p1 - the first point defining the line
        p2 - the second point defining the line
        p3 - the first point defining the circle
        p4 - the second point defining the circle
        Returns:
        true if an intersection point is successfully computed, false otherwise
      • fd_aux_name

        protected java.lang.String fd_aux_name()
        Generates and returns an auxiliary name for a new point. The name is determined based on existing constraint names.
        Returns:
        the generated auxiliary name