Package gprover
Class Gib
- java.lang.Object
-
- gprover.Gib
-
- Direct Known Subclasses:
GDDBase
public class Gib extends java.lang.ObjectThe Gib class provides functionality for geometric computations, including operations on angles, lines, circles, triangles, and other geometric constructions.This class is a central component within the geometric prover system, facilitating the creation, manipulation, and evaluation of various geometric entities and their relationships.
-
-
Field Summary
Fields Modifier and Type Field Description static intA_180static intA_30static intA_360static intA_45static intA_60static intA_90static intA_TIMEprotected Anglesall_asprotected AngStall_astprotected AngleTall_atprotected AngTnall_atnprotected CongSegall_cgprotected CSegsall_cgsprotected ACirall_cirprotected SimTriall_ctprotected STrisall_ctsprotected LLineall_lnprotected MidPtall_mdprotected Condall_ndprotected LListall_nsprotected Polygonall_pgprotected PLineall_pnprotected RatioSegall_raprotected CongSegall_rgprotected SimTriall_stprotected STrisall_stsprotected TLineall_tnprotected AngTrall_trprotected Cons[]allcnsprotected ProPoint[]allptsstatic intC_ANGLE_BISECTORstatic intC_CCTANGENTstatic intC_CENTstatic intC_CIRCLEstatic intC_CIRCUMstatic intC_CONSTANTstatic intC_EQ_TRIstatic intC_EQANGLEstatic intC_EQANGLE3Pstatic intC_EQDISTANCEstatic intC_FOOTstatic intC_I_AAstatic intC_I_BAstatic intC_I_BBstatic intC_I_BCstatic intC_I_BRstatic intC_I_CCstatic intC_I_CRstatic intC_I_EQstatic intC_I_LAstatic intC_I_LBstatic intC_I_LCstatic intC_I_LLstatic intC_I_LPstatic intC_I_LRstatic intC_I_LSstatic intC_I_LTstatic intC_I_PAstatic intC_I_PBstatic intC_I_PCstatic intC_I_PPstatic intC_I_PRstatic intC_I_PTstatic intC_I_RRstatic intC_I_SSstatic intC_I_TAstatic intC_I_TBstatic intC_I_TCstatic intC_I_TRstatic intC_I_TTstatic intC_ICENTstatic intC_ICENT1static intC_INVERSIONstatic intC_ISO_TRIstatic intC_LC_TANGENTstatic intC_LINEstatic intC_LOZENGEstatic intC_LRATIOstatic intC_MIDPOINTstatic intC_NETRIANGLEstatic intC_NRATIOstatic intC_NSQUAREstatic intC_O_Astatic intC_O_ABstatic intC_O_Bstatic intC_O_Cstatic intC_O_Dstatic intC_O_Lstatic intC_O_Pstatic intC_O_Rstatic intC_O_Sstatic intC_O_Tstatic intC_ORTHstatic intC_PARALLELOGRAMstatic intC_PENTAGONstatic intC_PETRIANGLEstatic intC_POINTstatic intC_POLYGONstatic intC_PRATIOstatic intC_PSQUAREstatic intC_QUADRANGLEstatic intC_R_TRAPEZOIDstatic intC_R_TRIstatic intC_RATIOstatic intC_RECTANGLEstatic intC_REFstatic intC_SANGLEstatic intC_SQUAREstatic intC_SYMstatic intC_TRAPEZOIDstatic intC_TRATIOstatic intC_TRIANGLEprotected static booleanck_valueprotected intcns_nostatic intCO_12static intCO_ACONGstatic intCO_ATNGstatic intCO_COLLstatic intCO_CONGstatic intCO_CTRIstatic intCO_CYCLICprotected Condco_dbstatic intCO_EQstatic intCO_HARMONICstatic intCO_INCENTstatic intCO_MIDPstatic intCO_NANGstatic intCO_NSEGstatic intCO_ORTHstatic intCO_PARAstatic intCO_PBISECTstatic intCO_PERPstatic intCO_PETstatic intCO_PETRIstatic intCO_PRODstatic intCO_RATIOstatic intCO_STRIstatic intCO_TANGstatic intCO_TANGENTprotected Condco_xyprotected Condconcprotected intcons_noprotected intd_baseprotected booleanDEBUGstatic longdepthstatic intEQ_TRIstatic intFE_TYPE_ERRORprotected intgnoprotected GTermgtstatic intIN_AG_INSIDEstatic intIN_AG_OUTSIDEstatic intIN_BETWEENstatic intIN_OPP_SIDEstatic intIN_PARA_INSIDEstatic intIN_PG_CONVEXstatic intIN_SAME_SIDEstatic intIN_TRI_INSIDEstatic intISO_TRIprotected Angleslast_asprotected AngStlast_astprotected AngleTlast_atprotected AngTnlast_atnprotected CongSeglast_cgprotected CSegslast_cgsprotected ACirlast_cirprotected SimTrilast_ctprotected STrislast_ctsprotected LLinelast_lnprotected MidPtlast_mdprotected Condlast_ndprotected LListlast_nsprotected Polygonlast_pgprotected PLinelast_pnprotected RatioSeglast_raprotected CongSeglast_rgprotected SimTrilast_stprotected STrislast_stsprotected TLinelast_tnprotected AngTrlast_trstatic intLOZENGEstatic intNDG_ACONGstatic intNDG_COLLstatic intNDG_CONGstatic intNDG_CYCLICstatic intNDG_NEQstatic intNDG_NON_ISOTROPICstatic intNDG_PARAstatic intNDG_PERPstatic intNDG_TRIPLEPIprotected static intP_STATUSstatic intPARALLELOGRAMstatic intPENTAGONstatic intPOLYGONprotected intprintypeprotected intpts_noprotected intpts_pnostatic intQUADRANGLEstatic intR_AA_STRIstatic intR_AASprotected static booleanR_AG_ALLstatic intR_AG_ATNstatic intR_AG_BISECTOR_ATIOstatic intR_AG_PP12static intR_AG_PP13static intR_AG_SPECIALstatic intR_AG_TT12static intR_AG_TT13static intR_AS_PLUSstatic intR_ASRA_STRIstatic intR_CR_AS2static intR_CR_DM_MDstatic intR_CR_DM_Tstatic intR_CR_INSCRIBE_ASstatic intR_CR_OO_Bstatic intR_CR_P_EQARCstatic intR_CR_TAN_ASstatic intR_CTRIstatic intR_ISO_3Lstatic intR_ISOCELESstatic intR_MID_CONNECTIONstatic intR_MID_CONNECTION_TRAPZOIDstatic intR_P_COLLstatic intR_P_RAstatic intR_PARALLELOGRAMstatic intR_PL_ASstatic intR_PT_Tstatic intR_PYTH_THMstatic intR_RA_ST_CTstatic intR_RATIOstatic intR_RTRI_MD_CYstatic intR_SASprotected static booleanR_SEARCH_ALL_LNstatic intR_SSSstatic intR_ST_RAASstatic intR_STRIstatic intR_T_AT90static intR_TRAPEZOIDstatic intR_TRIstatic intR_TRI_ALL_AG_180static intR_TRI_EQstatic intR_TT_CYstatic intR_TT_MDCYstatic intR_TT_PPstatic intR_TTCG2_CTstatic intRECTANGLEstatic intRF_10static intRF_12static intRF_13static intRF_14static intRF_15static intRF_16static intRF_17static intRF_18static intRF_20static intRF_21static intRF_22static intRF_26static intRF_9static intRF_ADDITIONstatic intRF_CYstatic intRF_CY2static intRF_DEFINITIONstatic intRF_DM_PERPstatic intRF_DM2static intRF_GIBstatic intRF_INSCRIBEstatic intRF_ISOstatic intRF_MINUSstatic intRF_ORTHstatic intRF_PARAstatic intRF_PERPstatic intRF_PERP_SPLITstatic intRF_PPOstatic intRF_TTstatic intRF_TT2static boolean[]RValueprotected static booleanshow_detailprotected intshow_dtypeprotected java.lang.StringBuffersoutstatic intSQUAREprotected static ACirtest_cprotected static LLinetest_lnprotected RatioSegtest_raprotected static RatioSegtest_ra1static intTRAPEZOIDprotected inttri_typestatic intTRIANGLEprotected java.util.Vectorvauxptfprotected java.util.Vectorvauxptsprotected static doubleZERO
-
Constructor Summary
Constructors Constructor Description Gib()Constructs a new Gib instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAngst(Angles ag, java.util.Vector v)Adds an angle expression to a new angle structure.booleancheck_angle_ls_90(int p1, int p2, int p3)Determines whether the angle formed by three points is a right angle (90°).protected booleancheck_ateq(int a, int b, int c, int v)Checks if the angle formed by three points is approximately equal to a given value.protected booleancheck_atn(int p1, int p2, int p3, int p4, int p5, int p6)Checks whether the sum of the two angles defined by the given points equals 90°.protected booleancheck_eqangle(int p1, int p2, int p3, int p4, int p5, int p6)Checks if the angles formed by points (p1, p2, p3) and (p4, p5, p6) are equal.protected booleancheck_eqangle(int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8)Checks if two angles defined by four points are equal or supplementary.protected booleancheck_eqangle_t(int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8)Checks if two angle values computed via a transformed approach are equal.protected booleancheck_eqdistance(int p1, int p2, int p3, int p4)Checks if the distances between two pairs of points are equal.protected booleancheck_eqdistance(int p1, int p2, int p3, int p4, double t1, double t2)Checks if the distance between two pairs of points are equal after scaling.protected booleancheck_ratio(int a, int b, int c, int d, int p, int q, int r, int s)Validates whether the ratio of the squared lengths of two segments remain equal.booleanck_4peq(int p1, int p2, int p3, int p4)Checks if two pairs of points are equal regardless of order.booleanck_dr(int p1, int p2, int p3, int p4)Evaluates directional compatibility between two segments defined by two pairs of points.voidcollect_angst()Collects angle expressions into a collection.voidexit(int v)Exits the system with the specified exit status.AngStfd_ast(LLine l1, LLine l2)Finds and returns the angle structure that contains the specified lines.ProPointfd_pt(double x, double y)Finds a point by its coordinates.intfd_pt(java.lang.String s)Finds the point index by its name.voidgerror(java.lang.String s)Prints an error message and terminates the program.protected doublegetAngleValue(int p1, int p2, int p3)Computes the angle value at the middle point defined by three points.protected doublegetAngleValue(int p1, int p2, int p3, int p4)Computes the angle difference between the lines defined by two point pairs.protected doublegetAngleValue(int p, LLine l1, LLine l2)Determines the angle formed at a common point by two lines.protected doublegetAngleValue_t(int p1, int p2, int p3, int p4)Computes an angle value using transformed points.CondgetDefaultCond(CClass cc)Returns the default condition for the specified geometric class.voidgexit(int id)Exits the application with the specified error id.voidinit_dbase()Initializes the database.static voidinitRules()Initializes the rule configuration.booleaninsertAngle(Angles ag)Attempts to insert an angle expression into the existing angle structure list.booleanisPFull()Checks if the proof status is full.protected doublelength2(int p1, int p2)Calculates the squared Euclidean distance between two points.booleansame_tri(int p1, int p2, int p3, int q1, int q2, int q3)Checks if two triangles, defined by three vertex points each, are identical.voidsetNoPrint()Disables printing output.static voidsetValue(int n, boolean v)Sets the boolean flag at a given index in a shared values array.voidshow_agll(LLine ln1, LLine ln2)Displays the angle between two lines by determining their intersection point.protected booleanx_inside(int p1, int p2, int p3)Determines if a point lies strictly between two other points along both axes.
-
-
-
Field Detail
-
C_POINT
public static final int C_POINT
- See Also:
- Constant Field Values
-
C_LINE
public static final int C_LINE
- See Also:
- Constant Field Values
-
C_O_L
public static final int C_O_L
- See Also:
- Constant Field Values
-
C_O_P
public static final int C_O_P
- See Also:
- Constant Field Values
-
C_O_T
public static final int C_O_T
- See Also:
- Constant Field Values
-
C_O_B
public static final int C_O_B
- See Also:
- Constant Field Values
-
C_O_A
public static final int C_O_A
- See Also:
- Constant Field Values
-
C_FOOT
public static final int C_FOOT
- See Also:
- Constant Field Values
-
C_CIRCLE
public static final int C_CIRCLE
- See Also:
- Constant Field Values
-
C_O_C
public static final int C_O_C
- See Also:
- Constant Field Values
-
C_CIRCUM
public static final int C_CIRCUM
- See Also:
- Constant Field Values
-
C_O_R
public static final int C_O_R
- See Also:
- Constant Field Values
-
C_MIDPOINT
public static final int C_MIDPOINT
- See Also:
- Constant Field Values
-
C_EQDISTANCE
public static final int C_EQDISTANCE
- See Also:
- Constant Field Values
-
C_EQANGLE
public static final int C_EQANGLE
- See Also:
- Constant Field Values
-
C_TRATIO
public static final int C_TRATIO
- See Also:
- Constant Field Values
-
C_PRATIO
public static final int C_PRATIO
- See Also:
- Constant Field Values
-
C_NRATIO
public static final int C_NRATIO
- See Also:
- Constant Field Values
-
C_LRATIO
public static final int C_LRATIO
- See Also:
- Constant Field Values
-
C_INVERSION
public static final int C_INVERSION
- See Also:
- Constant Field Values
-
C_REF
public static final int C_REF
- See Also:
- Constant Field Values
-
C_SYM
public static final int C_SYM
- See Also:
- Constant Field Values
-
C_TRIANGLE
public static final int C_TRIANGLE
- See Also:
- Constant Field Values
-
C_QUADRANGLE
public static final int C_QUADRANGLE
- See Also:
- Constant Field Values
-
C_PENTAGON
public static final int C_PENTAGON
- See Also:
- Constant Field Values
-
C_POLYGON
public static final int C_POLYGON
- See Also:
- Constant Field Values
-
C_ISO_TRI
public static final int C_ISO_TRI
- See Also:
- Constant Field Values
-
C_R_TRI
public static final int C_R_TRI
- See Also:
- Constant Field Values
-
C_EQ_TRI
public static final int C_EQ_TRI
- See Also:
- Constant Field Values
-
C_TRAPEZOID
public static final int C_TRAPEZOID
- See Also:
- Constant Field Values
-
C_R_TRAPEZOID
public static final int C_R_TRAPEZOID
- See Also:
- Constant Field Values
-
C_PARALLELOGRAM
public static final int C_PARALLELOGRAM
- See Also:
- Constant Field Values
-
C_LOZENGE
public static final int C_LOZENGE
- See Also:
- Constant Field Values
-
C_RECTANGLE
public static final int C_RECTANGLE
- See Also:
- Constant Field Values
-
C_SQUARE
public static final int C_SQUARE
- See Also:
- Constant Field Values
-
C_ICENT
public static final int C_ICENT
- See Also:
- Constant Field Values
-
C_ORTH
public static final int C_ORTH
- See Also:
- Constant Field Values
-
C_CENT
public static final int C_CENT
- See Also:
- Constant Field Values
-
C_CONSTANT
public static final int C_CONSTANT
- See Also:
- Constant Field Values
-
C_PSQUARE
public static final int C_PSQUARE
- See Also:
- Constant Field Values
-
C_NSQUARE
public static final int C_NSQUARE
- See Also:
- Constant Field Values
-
C_SANGLE
public static final int C_SANGLE
- See Also:
- Constant Field Values
-
C_ANGLE_BISECTOR
public static final int C_ANGLE_BISECTOR
- See Also:
- Constant Field Values
-
C_LC_TANGENT
public static final int C_LC_TANGENT
- See Also:
- Constant Field Values
-
C_RATIO
public static final int C_RATIO
- See Also:
- Constant Field Values
-
C_CCTANGENT
public static final int C_CCTANGENT
- See Also:
- Constant Field Values
-
C_O_S
public static final int C_O_S
- See Also:
- Constant Field Values
-
C_O_AB
public static final int C_O_AB
- See Also:
- Constant Field Values
-
C_O_D
public static final int C_O_D
- See Also:
- Constant Field Values
-
C_EQANGLE3P
public static final int C_EQANGLE3P
- See Also:
- Constant Field Values
-
C_ICENT1
public static final int C_ICENT1
- See Also:
- Constant Field Values
-
C_I_LL
public static final int C_I_LL
- See Also:
- Constant Field Values
-
C_I_LP
public static final int C_I_LP
- See Also:
- Constant Field Values
-
C_I_LC
public static final int C_I_LC
- See Also:
- Constant Field Values
-
C_I_LB
public static final int C_I_LB
- See Also:
- Constant Field Values
-
C_I_LT
public static final int C_I_LT
- See Also:
- Constant Field Values
-
C_I_LR
public static final int C_I_LR
- See Also:
- Constant Field Values
-
C_I_LS
public static final int C_I_LS
- See Also:
- Constant Field Values
-
C_I_PP
public static final int C_I_PP
- See Also:
- Constant Field Values
-
C_I_PC
public static final int C_I_PC
- See Also:
- Constant Field Values
-
C_I_PT
public static final int C_I_PT
- See Also:
- Constant Field Values
-
C_I_PB
public static final int C_I_PB
- See Also:
- Constant Field Values
-
C_I_TC
public static final int C_I_TC
- See Also:
- Constant Field Values
-
C_I_TT
public static final int C_I_TT
- See Also:
- Constant Field Values
-
C_I_TB
public static final int C_I_TB
- See Also:
- Constant Field Values
-
C_I_BB
public static final int C_I_BB
- See Also:
- Constant Field Values
-
C_I_BC
public static final int C_I_BC
- See Also:
- Constant Field Values
-
C_I_CC
public static final int C_I_CC
- See Also:
- Constant Field Values
-
C_I_CR
public static final int C_I_CR
- See Also:
- Constant Field Values
-
C_I_RR
public static final int C_I_RR
- See Also:
- Constant Field Values
-
C_I_SS
public static final int C_I_SS
- See Also:
- Constant Field Values
-
C_I_AA
public static final int C_I_AA
- See Also:
- Constant Field Values
-
C_I_LA
public static final int C_I_LA
- See Also:
- Constant Field Values
-
C_I_PA
public static final int C_I_PA
- See Also:
- Constant Field Values
-
C_I_PR
public static final int C_I_PR
- See Also:
- Constant Field Values
-
C_I_TA
public static final int C_I_TA
- See Also:
- Constant Field Values
-
C_I_TR
public static final int C_I_TR
- See Also:
- Constant Field Values
-
C_I_BA
public static final int C_I_BA
- See Also:
- Constant Field Values
-
C_I_BR
public static final int C_I_BR
- See Also:
- Constant Field Values
-
C_I_EQ
public static final int C_I_EQ
- See Also:
- Constant Field Values
-
C_NETRIANGLE
public static final int C_NETRIANGLE
- See Also:
- Constant Field Values
-
C_PETRIANGLE
public static final int C_PETRIANGLE
- See Also:
- Constant Field Values
-
CO_COLL
public static final int CO_COLL
- See Also:
- Constant Field Values
-
CO_PARA
public static final int CO_PARA
- See Also:
- Constant Field Values
-
CO_PERP
public static final int CO_PERP
- See Also:
- Constant Field Values
-
CO_MIDP
public static final int CO_MIDP
- See Also:
- Constant Field Values
-
CO_CYCLIC
public static final int CO_CYCLIC
- See Also:
- Constant Field Values
-
CO_CONG
public static final int CO_CONG
- See Also:
- Constant Field Values
-
CO_ACONG
public static final int CO_ACONG
- See Also:
- Constant Field Values
-
CO_PBISECT
public static final int CO_PBISECT
- See Also:
- Constant Field Values
-
CO_TANGENT
public static final int CO_TANGENT
- See Also:
- Constant Field Values
-
CO_HARMONIC
public static final int CO_HARMONIC
- See Also:
- Constant Field Values
-
CO_PETRI
public static final int CO_PETRI
- See Also:
- Constant Field Values
-
CO_STRI
public static final int CO_STRI
- See Also:
- Constant Field Values
-
CO_CTRI
public static final int CO_CTRI
- See Also:
- Constant Field Values
-
CO_PROD
public static final int CO_PROD
- See Also:
- Constant Field Values
-
CO_ORTH
public static final int CO_ORTH
- See Also:
- Constant Field Values
-
CO_INCENT
public static final int CO_INCENT
- See Also:
- Constant Field Values
-
CO_RATIO
public static final int CO_RATIO
- See Also:
- Constant Field Values
-
CO_TANG
public static final int CO_TANG
- See Also:
- Constant Field Values
-
CO_NANG
public static final int CO_NANG
- See Also:
- Constant Field Values
-
CO_NSEG
public static final int CO_NSEG
- See Also:
- Constant Field Values
-
CO_ATNG
public static final int CO_ATNG
- See Also:
- Constant Field Values
-
CO_EQ
public static final int CO_EQ
- See Also:
- Constant Field Values
-
CO_12
public static final int CO_12
- See Also:
- Constant Field Values
-
CO_PET
public static final int CO_PET
- See Also:
- Constant Field Values
-
NDG_NEQ
public static final int NDG_NEQ
- See Also:
- Constant Field Values
-
NDG_COLL
public static final int NDG_COLL
- See Also:
- Constant Field Values
-
NDG_PARA
public static final int NDG_PARA
- See Also:
- Constant Field Values
-
NDG_PERP
public static final int NDG_PERP
- See Also:
- Constant Field Values
-
NDG_CYCLIC
public static final int NDG_CYCLIC
- See Also:
- Constant Field Values
-
NDG_CONG
public static final int NDG_CONG
- See Also:
- Constant Field Values
-
NDG_ACONG
public static final int NDG_ACONG
- See Also:
- Constant Field Values
-
NDG_NON_ISOTROPIC
public static final int NDG_NON_ISOTROPIC
- See Also:
- Constant Field Values
-
NDG_TRIPLEPI
public static final int NDG_TRIPLEPI
- See Also:
- Constant Field Values
-
IN_BETWEEN
public static final int IN_BETWEEN
- See Also:
- Constant Field Values
-
IN_AG_INSIDE
public static final int IN_AG_INSIDE
- See Also:
- Constant Field Values
-
IN_AG_OUTSIDE
public static final int IN_AG_OUTSIDE
- See Also:
- Constant Field Values
-
IN_TRI_INSIDE
public static final int IN_TRI_INSIDE
- See Also:
- Constant Field Values
-
IN_PARA_INSIDE
public static final int IN_PARA_INSIDE
- See Also:
- Constant Field Values
-
IN_OPP_SIDE
public static final int IN_OPP_SIDE
- See Also:
- Constant Field Values
-
IN_SAME_SIDE
public static final int IN_SAME_SIDE
- See Also:
- Constant Field Values
-
IN_PG_CONVEX
public static final int IN_PG_CONVEX
- See Also:
- Constant Field Values
-
TRIANGLE
public static final int TRIANGLE
- See Also:
- Constant Field Values
-
QUADRANGLE
public static final int QUADRANGLE
- See Also:
- Constant Field Values
-
PENTAGON
public static final int PENTAGON
- See Also:
- Constant Field Values
-
POLYGON
public static final int POLYGON
- See Also:
- Constant Field Values
-
ISO_TRI
public static final int ISO_TRI
- See Also:
- Constant Field Values
-
R_TRI
public static final int R_TRI
- See Also:
- Constant Field Values
-
EQ_TRI
public static final int EQ_TRI
- See Also:
- Constant Field Values
-
TRAPEZOID
public static final int TRAPEZOID
- See Also:
- Constant Field Values
-
R_TRAPEZOID
public static final int R_TRAPEZOID
- See Also:
- Constant Field Values
-
PARALLELOGRAM
public static final int PARALLELOGRAM
- See Also:
- Constant Field Values
-
LOZENGE
public static final int LOZENGE
- See Also:
- Constant Field Values
-
RECTANGLE
public static final int RECTANGLE
- See Also:
- Constant Field Values
-
SQUARE
public static final int SQUARE
- See Also:
- Constant Field Values
-
A_TIME
public static final int A_TIME
- See Also:
- Constant Field Values
-
A_360
public static final int A_360
- See Also:
- Constant Field Values
-
A_180
public static final int A_180
- See Also:
- Constant Field Values
-
A_90
public static final int A_90
- See Also:
- Constant Field Values
-
A_60
public static final int A_60
- See Also:
- Constant Field Values
-
A_45
public static final int A_45
- See Also:
- Constant Field Values
-
A_30
public static final int A_30
- See Also:
- Constant Field Values
-
R_P_COLL
public static final int R_P_COLL
- See Also:
- Constant Field Values
-
R_PL_AS
public static final int R_PL_AS
- See Also:
- Constant Field Values
-
R_P_RA
public static final int R_P_RA
- See Also:
- Constant Field Values
-
R_PT_T
public static final int R_PT_T
- See Also:
- Constant Field Values
-
R_T_AT90
public static final int R_T_AT90
- See Also:
- Constant Field Values
-
R_TT_MDCY
public static final int R_TT_MDCY
- See Also:
- Constant Field Values
-
R_TT_PP
public static final int R_TT_PP
- See Also:
- Constant Field Values
-
R_TT_CY
public static final int R_TT_CY
- See Also:
- Constant Field Values
-
R_CR_DM_MD
public static final int R_CR_DM_MD
- See Also:
- Constant Field Values
-
R_CR_DM_T
public static final int R_CR_DM_T
- See Also:
- Constant Field Values
-
R_CR_AS2
public static final int R_CR_AS2
- See Also:
- Constant Field Values
-
R_CR_P_EQARC
public static final int R_CR_P_EQARC
- See Also:
- Constant Field Values
-
R_CR_INSCRIBE_AS
public static final int R_CR_INSCRIBE_AS
- See Also:
- Constant Field Values
-
R_CR_TAN_AS
public static final int R_CR_TAN_AS
- See Also:
- Constant Field Values
-
R_CR_OO_B
public static final int R_CR_OO_B
- See Also:
- Constant Field Values
-
R_AS_PLUS
public static final int R_AS_PLUS
- See Also:
- Constant Field Values
-
R_AG_PP12
public static final int R_AG_PP12
- See Also:
- Constant Field Values
-
R_AG_PP13
public static final int R_AG_PP13
- See Also:
- Constant Field Values
-
R_AG_TT12
public static final int R_AG_TT12
- See Also:
- Constant Field Values
-
R_AG_TT13
public static final int R_AG_TT13
- See Also:
- Constant Field Values
-
R_AG_ATN
public static final int R_AG_ATN
- See Also:
- Constant Field Values
-
R_AG_SPECIAL
public static final int R_AG_SPECIAL
- See Also:
- Constant Field Values
-
R_ISOCELES
public static final int R_ISOCELES
- See Also:
- Constant Field Values
-
R_ISO_3L
public static final int R_ISO_3L
- See Also:
- Constant Field Values
-
R_CTRI
public static final int R_CTRI
- See Also:
- Constant Field Values
-
R_AAS
public static final int R_AAS
- See Also:
- Constant Field Values
-
R_SAS
public static final int R_SAS
- See Also:
- Constant Field Values
-
R_SSS
public static final int R_SSS
- See Also:
- Constant Field Values
-
R_TTCG2_CT
public static final int R_TTCG2_CT
- See Also:
- Constant Field Values
-
R_STRI
public static final int R_STRI
- See Also:
- Constant Field Values
-
R_AA_STRI
public static final int R_AA_STRI
- See Also:
- Constant Field Values
-
R_ASRA_STRI
public static final int R_ASRA_STRI
- See Also:
- Constant Field Values
-
R_ST_RAAS
public static final int R_ST_RAAS
- See Also:
- Constant Field Values
-
R_RA_ST_CT
public static final int R_RA_ST_CT
- See Also:
- Constant Field Values
-
R_MID_CONNECTION
public static final int R_MID_CONNECTION
- See Also:
- Constant Field Values
-
R_RTRI_MD_CY
public static final int R_RTRI_MD_CY
- See Also:
- Constant Field Values
-
R_TRI_EQ
public static final int R_TRI_EQ
- See Also:
- Constant Field Values
-
R_PYTH_THM
public static final int R_PYTH_THM
- See Also:
- Constant Field Values
-
R_TRI_ALL_AG_180
public static final int R_TRI_ALL_AG_180
- See Also:
- Constant Field Values
-
R_PARALLELOGRAM
public static final int R_PARALLELOGRAM
- See Also:
- Constant Field Values
-
R_MID_CONNECTION_TRAPZOID
public static final int R_MID_CONNECTION_TRAPZOID
- See Also:
- Constant Field Values
-
R_RATIO
public static final int R_RATIO
- See Also:
- Constant Field Values
-
R_AG_BISECTOR_ATIO
public static final int R_AG_BISECTOR_ATIO
- See Also:
- Constant Field Values
-
R_SEARCH_ALL_LN
protected static boolean R_SEARCH_ALL_LN
-
R_AG_ALL
protected static boolean R_AG_ALL
-
RValue
public static boolean[] RValue
-
RF_GIB
public static final int RF_GIB
- See Also:
- Constant Field Values
-
RF_DEFINITION
public static final int RF_DEFINITION
- See Also:
- Constant Field Values
-
RF_MINUS
public static final int RF_MINUS
- See Also:
- Constant Field Values
-
RF_PARA
public static final int RF_PARA
- See Also:
- Constant Field Values
-
RF_PERP
public static final int RF_PERP
- See Also:
- Constant Field Values
-
RF_ADDITION
public static final int RF_ADDITION
- See Also:
- Constant Field Values
-
RF_PERP_SPLIT
public static final int RF_PERP_SPLIT
- See Also:
- Constant Field Values
-
RF_ISO
public static final int RF_ISO
- See Also:
- Constant Field Values
-
RF_INSCRIBE
public static final int RF_INSCRIBE
- See Also:
- Constant Field Values
-
RF_9
public static final int RF_9
- See Also:
- Constant Field Values
-
RF_10
public static final int RF_10
- See Also:
- Constant Field Values
-
RF_DM_PERP
public static final int RF_DM_PERP
- See Also:
- Constant Field Values
-
RF_12
public static final int RF_12
- See Also:
- Constant Field Values
-
RF_13
public static final int RF_13
- See Also:
- Constant Field Values
-
RF_14
public static final int RF_14
- See Also:
- Constant Field Values
-
RF_15
public static final int RF_15
- See Also:
- Constant Field Values
-
RF_16
public static final int RF_16
- See Also:
- Constant Field Values
-
RF_17
public static final int RF_17
- See Also:
- Constant Field Values
-
RF_18
public static final int RF_18
- See Also:
- Constant Field Values
-
RF_ORTH
public static final int RF_ORTH
- See Also:
- Constant Field Values
-
RF_20
public static final int RF_20
- See Also:
- Constant Field Values
-
RF_21
public static final int RF_21
- See Also:
- Constant Field Values
-
RF_22
public static final int RF_22
- See Also:
- Constant Field Values
-
RF_TT
public static final int RF_TT
- See Also:
- Constant Field Values
-
RF_TT2
public static final int RF_TT2
- See Also:
- Constant Field Values
-
RF_PPO
public static final int RF_PPO
- See Also:
- Constant Field Values
-
RF_26
public static final int RF_26
- See Also:
- Constant Field Values
-
RF_DM2
public static final int RF_DM2
- See Also:
- Constant Field Values
-
RF_CY
public static final int RF_CY
- See Also:
- Constant Field Values
-
RF_CY2
public static final int RF_CY2
- See Also:
- Constant Field Values
-
FE_TYPE_ERROR
public static final int FE_TYPE_ERROR
- See Also:
- Constant Field Values
-
all_md
protected MidPt all_md
-
last_md
protected MidPt last_md
-
all_ln
protected LLine all_ln
-
last_ln
protected LLine last_ln
-
all_pn
protected PLine all_pn
-
last_pn
protected PLine last_pn
-
all_tn
protected TLine all_tn
-
last_tn
protected TLine last_tn
-
all_cir
protected ACir all_cir
-
last_cir
protected ACir last_cir
-
all_as
protected Angles all_as
-
last_as
protected Angles last_as
-
all_ast
protected AngSt all_ast
-
last_ast
protected AngSt last_ast
-
all_cg
protected CongSeg all_cg
-
last_cg
protected CongSeg last_cg
-
all_rg
protected CongSeg all_rg
-
last_rg
protected CongSeg last_rg
-
all_at
protected AngleT all_at
-
last_at
protected AngleT last_at
-
all_atn
protected AngTn all_atn
-
last_atn
protected AngTn last_atn
-
all_st
protected SimTri all_st
-
last_st
protected SimTri last_st
-
all_ct
protected SimTri all_ct
-
last_ct
protected SimTri last_ct
-
all_ra
protected RatioSeg all_ra
-
last_ra
protected RatioSeg last_ra
-
all_pg
protected Polygon all_pg
-
last_pg
protected Polygon last_pg
-
all_nd
protected Cond all_nd
-
last_nd
protected Cond last_nd
-
co_db
protected Cond co_db
-
co_xy
protected Cond co_xy
-
all_tr
protected AngTr all_tr
-
last_tr
protected AngTr last_tr
-
all_ns
protected LList all_ns
-
last_ns
protected LList last_ns
-
all_sts
protected STris all_sts
-
last_sts
protected STris last_sts
-
all_cts
protected STris all_cts
-
last_cts
protected STris last_cts
-
all_cgs
protected CSegs all_cgs
-
last_cgs
protected CSegs last_cgs
-
gt
protected GTerm gt
-
allpts
protected ProPoint[] allpts
-
allcns
protected Cons[] allcns
-
pts_no
protected int pts_no
-
pts_pno
protected int pts_pno
-
gno
protected int gno
-
cns_no
protected int cns_no
-
conc
protected Cond conc
-
cons_no
protected int cons_no
-
test_c
protected static final ACir test_c
-
test_ln
protected static final LLine test_ln
-
test_ra1
protected static final RatioSeg test_ra1
-
test_ra
protected RatioSeg test_ra
-
depth
public static long depth
-
ZERO
protected static final double ZERO
- See Also:
- Constant Field Values
-
show_detail
protected static boolean show_detail
-
ck_value
protected static boolean ck_value
-
P_STATUS
protected static int P_STATUS
-
tri_type
protected int tri_type
-
d_base
protected int d_base
-
show_dtype
protected int show_dtype
-
printype
protected int printype
-
sout
protected java.lang.StringBuffer sout
-
DEBUG
protected boolean DEBUG
-
vauxpts
protected java.util.Vector vauxpts
-
vauxptf
protected java.util.Vector vauxptf
-
-
Method Detail
-
initRules
public static void initRules()
Initializes the rule configuration. Sets all rules to true and then disables specific rules.
-
init_dbase
public void init_dbase()
Initializes the database. Resets various lists, counters, and clears auxiliary collections.
-
fd_pt
public int fd_pt(java.lang.String s)
Finds the point index by its name.- Parameters:
s- the name of the point- Returns:
- the index of the point if found; 0 otherwise
-
fd_pt
public ProPoint fd_pt(double x, double y)
Finds a point by its coordinates.- Parameters:
x- the x-coordinate to matchy- the y-coordinate to match- Returns:
- the point if one exists within tolerance; null otherwise
-
setNoPrint
public void setNoPrint()
Disables printing output.
-
isPFull
public boolean isPFull()
Checks if the proof status is full.- Returns:
- true if the proof status is full; false otherwise
-
gexit
public void gexit(int id)
Exits the application with the specified error id.- Parameters:
id- the error id for the exit process
-
show_agll
public final void show_agll(LLine ln1, LLine ln2)
Displays the angle between two lines by determining their intersection point.- Parameters:
ln1- the first LLine objectln2- the second LLine object
-
exit
public final void exit(int v)
Exits the system with the specified exit status.- Parameters:
v- the exit status code
-
gerror
public final void gerror(java.lang.String s)
Prints an error message and terminates the program.- Parameters:
s- the error message to display before exiting
-
getDefaultCond
public final Cond getDefaultCond(CClass cc)
Returns the default condition for the specified geometric class.- Parameters:
cc- the geometric class object- Returns:
- a default condition associated with the provided class, or null if unsupported
-
check_eqangle
protected boolean check_eqangle(int p1, int p2, int p3, int p4, int p5, int p6)Checks if the angles formed by points (p1, p2, p3) and (p4, p5, p6) are equal.- Parameters:
p1- index of the vertex for the first anglep2- index of the first arm point for the first anglep3- index of the second arm point for the first anglep4- index of the vertex for the second anglep5- index of the first arm point for the second anglep6- index of the second arm point for the second angle- Returns:
- true if the two angles are equal within a tolerance; false otherwise
-
check_atn
protected boolean check_atn(int p1, int p2, int p3, int p4, int p5, int p6)Checks whether the sum of the two angles defined by the given points equals 90°.- Parameters:
p1- index of the vertex for the first anglep2- index of an arm point for the first anglep3- index of the other arm point for the first anglep4- index of the vertex for the second anglep5- index of an arm point for the second anglep6- index of the other arm point for the second angle- Returns:
- true if the sum of angles is 90° (within tolerance); false otherwise
-
check_eqangle
protected boolean check_eqangle(int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8)Checks if two angles defined by four points are equal or supplementary.- Parameters:
p1- index of the first point of the first anglep2- index of the second point of the first anglep3- index of the third point of the first anglep4- index of the fourth point of the first anglep5- index of the first point of the second anglep6- index of the second point of the second anglep7- index of the third point of the second anglep8- index of the fourth point of the second angle- Returns:
- true if the angles are equal or supplementary (within tolerance); false otherwise
-
check_eqangle_t
protected boolean check_eqangle_t(int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8)Checks if two angle values computed via a transformed approach are equal.- Parameters:
p1- index of the first point of the first anglep2- index of the second point of the first anglep3- index of the third point of the first anglep4- index of the fourth point of the first anglep5- index of the first point of the second anglep6- index of the second point of the second anglep7- index of the third point of the second anglep8- index of the fourth point of the second angle- Returns:
- true if the absolute transformed angle values are equal (within tolerance); false otherwise
-
check_angle_ls_90
public boolean check_angle_ls_90(int p1, int p2, int p3)Determines whether the angle formed by three points is a right angle (90°).- Parameters:
p1- index of the vertex of the anglep2- index of the first arm pointp3- index of the second arm point- Returns:
- true if the angle is 90° (within tolerance); false otherwise
-
x_inside
protected boolean x_inside(int p1, int p2, int p3)Determines if a point lies strictly between two other points along both axes.- Parameters:
p1- index of the point to testp2- index of the first boundary pointp3- index of the second boundary point- Returns:
- true if p1 is inside the interval defined by p2 and p3; false otherwise
-
getAngleValue_t
protected double getAngleValue_t(int p1, int p2, int p3, int p4)Computes an angle value using transformed points. The method considers special ordering of the points to compute the appropriate angle.- Parameters:
p1- index of the first pointp2- index of the second pointp3- index of the third pointp4- index of the fourth point- Returns:
- the computed angle value
-
check_eqdistance
protected boolean check_eqdistance(int p1, int p2, int p3, int p4, double t1, double t2)Checks if the distance between two pairs of points are equal after scaling.- Parameters:
p1- index of the first point of the first segmentp2- index of the second point of the first segmentp3- index of the first point of the second segmentp4- index of the second point of the second segmentt1- scaling factor for the first segmentt2- scaling factor for the second segment- Returns:
- true if the scaled distances are equal (within tolerance); false otherwise
-
check_eqdistance
protected boolean check_eqdistance(int p1, int p2, int p3, int p4)Checks if the distances between two pairs of points are equal.- Parameters:
p1- index of the first point of the first segmentp2- index of the second point of the first segmentp3- index of the first point of the second segmentp4- index of the second point of the second segment- Returns:
- true if the distances are equal (within tolerance); false otherwise
-
check_ratio
protected boolean check_ratio(int a, int b, int c, int d, int p, int q, int r, int s)Validates whether the ratio of the squared lengths of two segments remain equal.- Parameters:
a- index of the first point of the first segmentb- index of the second point of the first segmentc- index of the first point of the second segmentd- index of the second point of the second segmentp- index of the first point of the third segmentq- index of the second point of the third segmentr- index of the first point of the fourth segments- index of the second point of the fourth segment- Returns:
- true if the products of squared lengths are equal (within tolerance); false otherwise
-
ck_4peq
public boolean ck_4peq(int p1, int p2, int p3, int p4)Checks if two pairs of points are equal regardless of order.- Parameters:
p1- the first point of the first pairp2- the second point of the first pairp3- the first point of the second pairp4- the second point of the second pair- Returns:
- true if the pairs (p1, p2) and (p3, p4) are equal in any order, false otherwise
-
ck_dr
public boolean ck_dr(int p1, int p2, int p3, int p4)Evaluates directional compatibility between two segments defined by two pairs of points.- Parameters:
p1- the first point of the first segmentp2- the second point of the first segmentp3- the first point of the second segmentp4- the second point of the second segment- Returns:
- true if the segments satisfy specific directional conditions, false otherwise
-
length2
protected double length2(int p1, int p2)Calculates the squared Euclidean distance between two points.- Parameters:
p1- the first pointp2- the second point- Returns:
- the squared distance between p1 and p2
-
getAngleValue
protected double getAngleValue(int p1, int p2, int p3)Computes the angle value at the middle point defined by three points.- Parameters:
p1- the first pointp2- the vertex point where the angle is measuredp3- the third point- Returns:
- the angle value at p2 (in radians)
-
getAngleValue
protected double getAngleValue(int p, LLine l1, LLine l2)Determines the angle formed at a common point by two lines.- Parameters:
p- the intersection point of the linesl1- the first linel2- the second line- Returns:
- the angle between l1 and l2 at point p (in radians)
-
check_ateq
protected boolean check_ateq(int a, int b, int c, int v)Checks if the angle formed by three points is approximately equal to a given value.- Parameters:
a- the first pointb- the vertex point where the angle is measuredc- the third pointv- the target angle value in degrees- Returns:
- true if the measured angle is approximately equal to v, false otherwise
-
getAngleValue
protected double getAngleValue(int p1, int p2, int p3, int p4)Computes the angle difference between the lines defined by two point pairs.- Parameters:
p1- the first point of the first linep2- the second point of the first linep3- the first point of the second linep4- the second point of the second line- Returns:
- the difference between the angles (in radians) of the two lines
-
same_tri
public final boolean same_tri(int p1, int p2, int p3, int q1, int q2, int q3)Checks if two triangles, defined by three vertex points each, are identical. The comparison is independent of the vertex order.- Parameters:
p1- vertex of the first trianglep2- vertex of the first trianglep3- vertex of the first triangleq1- vertex of the second triangleq2- vertex of the second triangleq3- vertex of the second triangle- Returns:
- true if the triangles are the same; false otherwise
-
collect_angst
public void collect_angst()
Collects angle expressions into a collection. Processes the global list of angle objects and groups unique angle expressions.
-
addAngst
public void addAngst(Angles ag, java.util.Vector v)
Adds an angle expression to a new angle structure. Updates the global angle structure list with the provided angle.- Parameters:
ag- the angle expression to addv- a vector used for collecting angle structures
-
insertAngle
public boolean insertAngle(Angles ag)
Attempts to insert an angle expression into the existing angle structure list.- Parameters:
ag- the angle expression to insert- Returns:
- true if the angle was merged with an existing structure; false otherwise
-
fd_ast
public AngSt fd_ast(LLine l1, LLine l2)
Finds and returns the angle structure that contains the specified lines.- Parameters:
l1- the first line to search within angle structuresl2- the second line to search within angle structures- Returns:
- the angle structure containing the lines, or null if not found
-
setValue
public static void setValue(int n, boolean v)Sets the boolean flag at a given index in a shared values array.- Parameters:
n- the 1-based index of the value to setv- the boolean value to set
-
-