Package gprover
Class GDD
- java.lang.Object
-
- gprover.Gib
-
- gprover.GDDBase
-
- gprover.GDD
-
-
Field Summary
-
Fields inherited from class gprover.Gib
A_180, A_30, A_360, A_45, A_60, A_90, A_TIME, all_as, all_ast, all_at, all_atn, all_cg, all_cgs, all_cir, all_ct, all_cts, all_ln, all_md, all_nd, all_ns, all_pg, all_pn, all_ra, all_rg, all_st, all_sts, all_tn, all_tr, allcns, allpts, C_ANGLE_BISECTOR, C_CCTANGENT, C_CENT, C_CIRCLE, C_CIRCUM, C_CONSTANT, C_EQ_TRI, C_EQANGLE, C_EQANGLE3P, C_EQDISTANCE, C_FOOT, C_I_AA, C_I_BA, C_I_BB, C_I_BC, C_I_BR, C_I_CC, C_I_CR, C_I_EQ, C_I_LA, C_I_LB, C_I_LC, C_I_LL, C_I_LP, C_I_LR, C_I_LS, C_I_LT, C_I_PA, C_I_PB, C_I_PC, C_I_PP, C_I_PR, C_I_PT, C_I_RR, C_I_SS, C_I_TA, C_I_TB, C_I_TC, C_I_TR, C_I_TT, C_ICENT, C_ICENT1, C_INVERSION, C_ISO_TRI, C_LC_TANGENT, C_LINE, C_LOZENGE, C_LRATIO, C_MIDPOINT, C_NETRIANGLE, C_NRATIO, C_NSQUARE, C_O_A, C_O_AB, C_O_B, C_O_C, C_O_D, C_O_L, C_O_P, C_O_R, C_O_S, C_O_T, C_ORTH, C_PARALLELOGRAM, C_PENTAGON, C_PETRIANGLE, C_POINT, C_POLYGON, C_PRATIO, C_PSQUARE, C_QUADRANGLE, C_R_TRAPEZOID, C_R_TRI, C_RATIO, C_RECTANGLE, C_REF, C_SANGLE, C_SQUARE, C_SYM, C_TRAPEZOID, C_TRATIO, C_TRIANGLE, ck_value, cns_no, CO_12, CO_ACONG, CO_ATNG, CO_COLL, CO_CONG, CO_CTRI, CO_CYCLIC, co_db, CO_EQ, CO_HARMONIC, CO_INCENT, CO_MIDP, CO_NANG, CO_NSEG, CO_ORTH, CO_PARA, CO_PBISECT, CO_PERP, CO_PET, CO_PETRI, CO_PROD, CO_RATIO, CO_STRI, CO_TANG, CO_TANGENT, co_xy, conc, cons_no, d_base, DEBUG, depth, EQ_TRI, FE_TYPE_ERROR, gno, gt, IN_AG_INSIDE, IN_AG_OUTSIDE, IN_BETWEEN, IN_OPP_SIDE, IN_PARA_INSIDE, IN_PG_CONVEX, IN_SAME_SIDE, IN_TRI_INSIDE, ISO_TRI, last_as, last_ast, last_at, last_atn, last_cg, last_cgs, last_cir, last_ct, last_cts, last_ln, last_md, last_nd, last_ns, last_pg, last_pn, last_ra, last_rg, last_st, last_sts, last_tn, last_tr, LOZENGE, NDG_ACONG, NDG_COLL, NDG_CONG, NDG_CYCLIC, NDG_NEQ, NDG_NON_ISOTROPIC, NDG_PARA, NDG_PERP, NDG_TRIPLEPI, P_STATUS, PARALLELOGRAM, PENTAGON, POLYGON, printype, pts_no, pts_pno, QUADRANGLE, R_AA_STRI, R_AAS, R_AG_ALL, R_AG_ATN, R_AG_BISECTOR_ATIO, R_AG_PP12, R_AG_PP13, R_AG_SPECIAL, R_AG_TT12, R_AG_TT13, R_AS_PLUS, R_ASRA_STRI, R_CR_AS2, R_CR_DM_MD, R_CR_DM_T, R_CR_INSCRIBE_AS, R_CR_OO_B, R_CR_P_EQARC, R_CR_TAN_AS, R_CTRI, R_ISO_3L, R_ISOCELES, R_MID_CONNECTION, R_MID_CONNECTION_TRAPZOID, R_P_COLL, R_P_RA, R_PARALLELOGRAM, R_PL_AS, R_PT_T, R_PYTH_THM, R_RA_ST_CT, R_RATIO, R_RTRI_MD_CY, R_SAS, R_SEARCH_ALL_LN, R_SSS, R_ST_RAAS, R_STRI, R_T_AT90, R_TRAPEZOID, R_TRI, R_TRI_ALL_AG_180, R_TRI_EQ, R_TT_CY, R_TT_MDCY, R_TT_PP, R_TTCG2_CT, RECTANGLE, RF_10, RF_12, RF_13, RF_14, RF_15, RF_16, RF_17, RF_18, RF_20, RF_21, RF_22, RF_26, RF_9, RF_ADDITION, RF_CY, RF_CY2, RF_DEFINITION, RF_DM_PERP, RF_DM2, RF_GIB, RF_INSCRIBE, RF_ISO, RF_MINUS, RF_ORTH, RF_PARA, RF_PERP, RF_PERP_SPLIT, RF_PPO, RF_TT, RF_TT2, RValue, show_detail, show_dtype, sout, SQUARE, test_c, test_ln, test_ra, test_ra1, TRAPEZOID, tri_type, TRIANGLE, vauxptf, vauxpts, ZERO
-
-
Constructor Summary
Constructors Constructor Description GDD()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd_ls_et(LList ls, LLine l1, LLine l2, int n)Adds a new angle transformation node to the given list.LListadd_ls_node_sub(LList ls, AngTr t1, AngTr t2, int n)Creates a new list node as a sub-structure of the existing list.Ruleadd_rule_eqag(AngTr t1, AngTr t2)Creates and returns a rule representing an equal angle configuration.voidadd_stct_at(int dr, int p1, int p2, int p3, int p4, int p5, int p6)Adds structural angle congruency information by comparing two complementary angles from the given points.voidadd_tri_tn_at(int p, int p1, int p2, int v)Adds a triangle configuration based on tangent angle values.voidadj_as0(int p, LLine l1, LLine l2, LLine l3, LLine l4)Adjusts the angle subtraction configuration for the given point using four lines.voidadj_at(AngleT at)Adjusts the angle configuration using its defining lines.voidadj_ct(SimTri st)Adjusts complementary triangles by checking and generating new configurations for triangle relationships.voidadj_st(SimTri st)Adjusts similar triangles by checking and adding structural relationships with adjacent triangles.booleancheck_llatn(int p1, int p2, LLine l1, LLine l2, LLine l3, LLine l4)Checks if the combined angles formed by the specified line segments at points p1 and p2 are approximately complementary.booleanmcoll(int p1, int p2, int p3)Checks if three points are collinear.booleanmperp(int p1, int p2, int p3, int p4)Checks if the line formed by p1 and p2 is perpendicular to the line formed by p3 and p4.booleanptdr(int p, int o, int o1)Determines if the point p lies within the range defined by points o and o1.voidsearch_2cong1(CongSeg cg)Searches for configurations where two congruent segments share a common intersection.voidsearch_as_ct(int p1, int p2, LLine ln1, LLine ln2, LLine ln3, LLine ln4)Searches for similar triangle configurations using corresponding line segments.voidsearch_as_st(int p1, int p2, LLine ln1, LLine ln2, LLine ln3, LLine ln4)Searches for SAS (Side-Angle-Side) triangle configurations using the specified points and line segments.protected voidsearch_as_tn_as(int p1, int p2, LLine l1, LLine l2, LLine l3, LLine l4)Searches and verifies tangent-based angle relationships between two points using four lines.voidsearch_at(AngleT at)Initiates a comprehensive search for angle congruence relationships.voidsearch_at_as(AngleT at, Angles as)Searches for angle configurations by comparing the given angle with an angle structure.voidsearch_at_ass(AngleT at)Searches for associated angle structures related to the given angle.voidsearch_at_at(AngleT at, AngleT at1)Searches for angle relationships between two angle instances and creates corresponding configurations.voidsearch_at_tn(AngleT at)Searches for tangent-based angle configurations related to the specified angle.voidsearch_at0(AngleT at)Searches for direct angle congruence relationships starting from the provided angle.voidsearch_at1(AngleT at)Searches for alternative angle configurations based on the given angle.voidsearch_atatn(AngleT at, AngTn a1)Searches for tangent angle configurations that are complementary to the given angle instance.voidsearch_atn(AngTn atn)Searches for angle configurations based on the provided tangent angle instance.voidsearch_atn_as(AngTn atn)Searches for angle structures associated with the given tangent angle configuration.voidsearch_atn_at(AngTn atn)Searches through all angle instances and applies tangent angle evaluation with the given tangent angle instance.voidsearch_atn_atn(AngTn atn)Searches for equivalent tangent angle configurations by comparing the provided instance with existing tangent angle configurations.voidsearch_atnas(AngTn atn, LLine l1, LLine l2, LLine l3, LLine l4, Angles as)Searches for associated tangent angle configurations by comparing the specified tangent angle instance with provided lines and an angles structure.voidsearch_bk(LList ls)Initiates a backup search process.voidsearch_bk_as(LList ls)Searches through the backup structures contained in the specified list.voidsearch_cg__plus_or_minus(int a, int b, int c, int d, int t1, int t2, int a1, int b1, int c1, int d1, int t11, int t22)Searches for congruent configurations using plus or minus criteria for segment measures.voidsearch_cg_aas(int p1, int p2, int p3, int p4)Searches for congruent triangle configurations using angle‑angle‑side conditions.voidsearch_cg_cg(CongSeg cg, CongSeg cg1)Searches for congruent configurations between two congruent segment structures.voidsearch_cg_ct(int p1, int p2, int p3, int p4)Searches for congruent triangle configurations via side‑side‑side relationships.voidsearch_cg_ct0(int p1, int p2, int p3, int p4)Searches for congruent triangle configurations with trimmed conditions using SSS.voidsearch_cg_md(int p1, int p2, int p3, int p4)Searches for congruent triangle configurations by finding midpoints and establishing congruency.voidsearch_cg_st0(int p1, int p2, int p3, int p4, int r1, int r2)Searches for congruent segment triangle states based on the given points and ratio parameters.voidsearch_cgs(CongSeg cg)Searches for congruent segment configurations within the current geometric construction.voidsearch_cong_st(int t1, int t2, int t3, int t4, int t5, int t6, int r1, int r2)Searches for congruent triangles by validating angle equality and congruence conditions.voidsearch_md_cong(MidPt md)Searches for congruent configurations based on midpoint relationships.voidsearch_ns(LList ns)Initiates the search for non-solved structures within the specified list.voidsearch_pn_cr(PLine pn)Searches for circle intersections within the provided PLine.voidsearch_pn_pn(PLine pn)Searches for parallelogram configurations among point-line relationships.voidsearch_rg_at(CongSeg cg)Searches for angle configurations derived from a congruent segment.voidsearch_st1(int dr, int p1, int p2, int p3, int p4, int p5, int p6)Searches for triangle configurations based on segment congruence and structural properties.voidsearch_tn_at(TLine tn)Searches for angle relationships within a tangent line configuration.voidsearch_tn_atn(TLine tn)Searches for tangent-based angle configurations associated with the given tangent line.voidsearch_tn_ats(LLine l1, LLine l2, int p, TLine tn)Searches for tangent angles across two lines with respect to a common intersection point and a tangent line.voidsearch_tn_cg(CongSeg cg)Searches for perpendicular congruent segments in a given congruent segment configuration.voidsearch_tn_st(int p1, LLine ln1, LLine ln2, TLine tn1)Searches for T-line structures by testing intersections and perpendicular conditions.-
Methods inherited from class gprover.GDDBase
add_as, add_at, add_at, add_at0, add_atn, add_auxpt, add_cgs, add_cir_n, add_e_triangle, add_laratio, add_lozenge, add_nodes, add_nodes, add_parallelogram, add_pg_ln, add_r_trapezoid, add_ratio, add_rectangle, add_square, add_sts, add_sts1, add_tline_t, add_to_cg, add_to_sts, add_tr, adj_as_tn, adj_atn, cb_cgs, cb_sts, ch_lns, check_at_eq, check_atn_dr, check_ll_dr, collect_sts, cp_nodes, do_i_cons, do_pd, do_pred2, eq_list, eq_mnde, fadd_tr, fd_at, fd_at, fd_ln_lp, fd_ln1, fd_tr, fo_at, fo_atn, fo_atn, get_82l0, get_anti_pt, getAtv, getAtv, on_cgs, on_sts, on_sts1, sbase, search_as_tn1, search_only_exists_ln, search_only_exists_ln, search_only_exists_ln, search_only_exists_ln, setConc, setExample, x_list, xatcong, xatcong, xcir_n
-
Methods inherited from class gprover.Gib
addAngst, check_angle_ls_90, check_ateq, check_atn, check_eqangle, check_eqangle, check_eqangle_t, check_eqdistance, check_eqdistance, check_ratio, ck_4peq, ck_dr, collect_angst, exit, fd_ast, fd_pt, fd_pt, gerror, getAngleValue, getAngleValue, getAngleValue, getAngleValue_t, getDefaultCond, gexit, init_dbase, initRules, insertAngle, isPFull, length2, same_tri, setNoPrint, setValue, show_agll, x_inside
-
-
-
-
Method Detail
-
search_pn_cr
public void search_pn_cr(PLine pn)
Searches for circle intersections within the provided PLine. Finds intersection points between each line in the PLine and the given circle.- Parameters:
pn- the PLine to search for circle intersections
-
mcoll
public boolean mcoll(int p1, int p2, int p3)Checks if three points are collinear.- Parameters:
p1- the first pointp2- the second pointp3- the third point- Returns:
- true if the points are collinear; false otherwise
-
mperp
public boolean mperp(int p1, int p2, int p3, int p4)Checks if the line formed by p1 and p2 is perpendicular to the line formed by p3 and p4.- 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:
- true if the lines are perpendicular; false otherwise
-
search_cg_ct
public final void search_cg_ct(int p1, int p2, int p3, int p4)Searches for congruent triangle configurations via side‑side‑side relationships.- 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
-
search_cg_aas
public final void search_cg_aas(int p1, int p2, int p3, int p4)Searches for congruent triangle configurations using angle‑angle‑side conditions.- 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
-
search_cg_ct0
public final void search_cg_ct0(int p1, int p2, int p3, int p4)Searches for congruent triangle configurations with trimmed conditions using SSS.- Parameters:
p1- the first reference pointp2- the second reference pointp3- the third reference pointp4- the fourth reference point
-
search_as_ct
public final void search_as_ct(int p1, int p2, LLine ln1, LLine ln2, LLine ln3, LLine ln4)Searches for similar triangle configurations using corresponding line segments.- Parameters:
p1- the reference point from the first trianglep2- the reference point from the second triangleln1- the line data for the first triangle sideln2- the line data for the second triangle sideln3- the line data for the third triangle sideln4- the line data for the alternative configuration side
-
search_tn_st
public final void search_tn_st(int p1, LLine ln1, LLine ln2, TLine tn1)Searches for T-line structures by testing intersections and perpendicular conditions.- Parameters:
p1- the first reference point indexln1- the first line of the primary structureln2- the second line of the primary structuretn1- the candidate T-line structure
-
search_cg_md
public final void search_cg_md(int p1, int p2, int p3, int p4)Searches for congruent triangle configurations by finding midpoints and establishing congruency.- Parameters:
p1- the first point index of the first segmentp2- the second point index of the first segmentp3- the first point index of the second segmentp4- the second point index of the second segment
-
search_cgs
public void search_cgs(CongSeg cg)
Searches for congruent segment configurations within the current geometric construction.- Parameters:
cg- the congruent segment configuration to be evaluated
-
search_cg_cg
public void search_cg_cg(CongSeg cg, CongSeg cg1)
Searches for congruent configurations between two congruent segment structures.- Parameters:
cg- the first congruent segment configurationcg1- the second congruent segment configuration
-
search_cg__plus_or_minus
public void search_cg__plus_or_minus(int a, int b, int c, int d, int t1, int t2, int a1, int b1, int c1, int d1, int t11, int t22)Searches for congruent configurations using plus or minus criteria for segment measures.- Parameters:
a- first point of the first segmentb- second point of the first segmentc- first point of the second segmentd- second point of the second segmentt1- first measure associated with the first segmentt2- second measure associated with the first segmenta1- first point of the alternative segment configurationb1- second point of the alternative segment configurationc1- first point of the alternative segment configurationd1- second point of the alternative segment configurationt11- first measure associated with the alternative configurationt22- second measure associated with the alternative configuration
-
search_2cong1
public void search_2cong1(CongSeg cg)
Searches for configurations where two congruent segments share a common intersection.- Parameters:
cg- the congruent segment configuration to analyze
-
search_md_cong
public final void search_md_cong(MidPt md)
Searches for congruent configurations based on midpoint relationships.- Parameters:
md- the midpoint structure used for establishing congruence
-
search_pn_pn
public void search_pn_pn(PLine pn)
Searches for parallelogram configurations among point-line relationships.- Parameters:
pn- the candidate point-line configuration
-
search_as_st
public final void search_as_st(int p1, int p2, LLine ln1, LLine ln2, LLine ln3, LLine ln4)Searches for SAS (Side-Angle-Side) triangle configurations using the specified points and line segments.- Parameters:
p1- the first point identifierp2- the second point identifierln1- the first line segment containerln2- the second line segment containerln3- the third line segment containerln4- the fourth line segment container
-
search_cg_st0
public final void search_cg_st0(int p1, int p2, int p3, int p4, int r1, int r2)Searches for congruent segment triangle states based on the given points and ratio parameters.- Parameters:
p1- the first point identifierp2- the second point identifierp3- the third point identifierp4- the fourth point identifierr1- the first ratio valuer2- the second ratio value
-
search_cong_st
public void search_cong_st(int t1, int t2, int t3, int t4, int t5, int t6, int r1, int r2)Searches for congruent triangles by validating angle equality and congruence conditions.- Parameters:
t1- the first triangle base point identifiert2- the second triangle base point identifiert3- the third triangle base point identifiert4- the first point of the second trianglet5- the second point of the second trianglet6- the third point of the second triangler1- the first ratio value associated with congruencer2- the second ratio value associated with congruence
-
search_st1
public void search_st1(int dr, int p1, int p2, int p3, int p4, int p5, int p6)Searches for triangle configurations based on segment congruence and structural properties.- Parameters:
dr- the directional factor for the configurationp1- the first point identifier of the trianglep2- the second point identifier of the trianglep3- the third point identifier of the trianglep4- the first point identifier of the second trianglep5- the second point identifier of the second trianglep6- the third point identifier of the second triangle
-
add_stct_at
public void add_stct_at(int dr, int p1, int p2, int p3, int p4, int p5, int p6)Adds structural angle congruency information by comparing two complementary angles from the given points.- Parameters:
dr- the directional factor for angle assignmentp1- the vertex point of the first anglep2- a point defining the first angle sidep3- a point defining the other side of the first anglep4- the vertex point of the second anglep5- a point defining the second angle sidep6- a point defining the other side of the second angle
-
adj_st
public void adj_st(SimTri st)
Adjusts similar triangles by checking and adding structural relationships with adjacent triangles.- Parameters:
st- the simulated triangle whose adjacent configurations are to be adjusted
-
adj_ct
public void adj_ct(SimTri st)
Adjusts complementary triangles by checking and generating new configurations for triangle relationships.- Parameters:
st- the simulated triangle whose complementary relationships are being adjusted
-
search_tn_cg
public void search_tn_cg(CongSeg cg)
Searches for perpendicular congruent segments in a given congruent segment configuration.- Parameters:
cg- the congruent segment configuration to be analyzed
-
adj_as0
public void adj_as0(int p, LLine l1, LLine l2, LLine l3, LLine l4)Adjusts the angle subtraction configuration for the given point using four lines.- Parameters:
p- the reference point identifierl1- the first linel2- the second linel3- the third linel4- the fourth line
-
search_as_tn_as
protected void search_as_tn_as(int p1, int p2, LLine l1, LLine l2, LLine l3, LLine l4)Searches and verifies tangent-based angle relationships between two points using four lines.- Parameters:
p1- the first point identifierp2- the second point identifierl1- the first linel2- the second linel3- the third linel4- the fourth line
-
search_at
public void search_at(AngleT at)
Initiates a comprehensive search for angle congruence relationships.- Parameters:
at- the angle to be processed
-
search_at_tn
public void search_at_tn(AngleT at)
Searches for tangent-based angle configurations related to the specified angle.- Parameters:
at- the angle to be evaluated
-
search_tn_at
public void search_tn_at(TLine tn)
Searches for angle relationships within a tangent line configuration.- Parameters:
tn- the tangent line configuration
-
search_tn_ats
public void search_tn_ats(LLine l1, LLine l2, int p, TLine tn)
Searches for tangent angles across two lines with respect to a common intersection point and a tangent line.- Parameters:
l1- the first linel2- the second linep- the intersection point identifiertn- the tangent line configuration
-
add_tri_tn_at
public void add_tri_tn_at(int p, int p1, int p2, int v)Adds a triangle configuration based on tangent angle values.- Parameters:
p- the vertex point identifierp1- the first adjacent point identifierp2- the second adjacent point identifierv- the angle value between points p1 and p2
-
search_at0
public void search_at0(AngleT at)
Searches for direct angle congruence relationships starting from the provided angle.- Parameters:
at- the angle to be searched
-
search_at1
public void search_at1(AngleT at)
Searches for alternative angle configurations based on the given angle.- Parameters:
at- the angle instance to process
-
search_at_at
public void search_at_at(AngleT at, AngleT at1)
Searches for angle relationships between two angle instances and creates corresponding configurations.- Parameters:
at- the first angle instanceat1- the second angle instance to compare
-
search_rg_at
public void search_rg_at(CongSeg cg)
Searches for angle configurations derived from a congruent segment.- Parameters:
cg- the congruent segment instance used for calculating angle relationships
-
search_at_as
public void search_at_as(AngleT at, Angles as)
Searches for angle configurations by comparing the given angle with an angle structure.- Parameters:
at- the base angle instanceas- the angle structure to compare against
-
search_at_ass
public void search_at_ass(AngleT at)
Searches for associated angle structures related to the given angle.- Parameters:
at- the angle instance for which to search related angle associations
-
adj_at
public void adj_at(AngleT at)
Adjusts the angle configuration using its defining lines.- Parameters:
at- the angle instance to adjust
-
search_tn_atn
public void search_tn_atn(TLine tn)
Searches for tangent-based angle configurations associated with the given tangent line.- Parameters:
tn- the tangent line configuration instance to search within
-
search_atn
public void search_atn(AngTn atn)
Searches for angle configurations based on the provided tangent angle instance.- Parameters:
atn- the tangent angle instance to process
-
search_atn_atn
public void search_atn_atn(AngTn atn)
Searches for equivalent tangent angle configurations by comparing the provided instance with existing tangent angle configurations.- Parameters:
atn- the tangent angle instance to compare
-
search_atn_as
public void search_atn_as(AngTn atn)
Searches for angle structures associated with the given tangent angle configuration.- Parameters:
atn- the tangent angle instance for which to search associated angle structures
-
search_atn_at
public void search_atn_at(AngTn atn)
Searches through all angle instances and applies tangent angle evaluation with the given tangent angle instance. Continues until there are no more dependent angle instances.- Parameters:
atn- the tangent angle instance used for comparison
-
search_atnas
public void search_atnas(AngTn atn, LLine l1, LLine l2, LLine l3, LLine l4, Angles as)
Searches for associated tangent angle configurations by comparing the specified tangent angle instance with provided lines and an angles structure. Creates new tangent angle associations if the configuration meets criteria.- Parameters:
atn- the reference tangent angle instancel1- the first line of the primary configurationl2- the second line of the primary configurationl3- the first line of the secondary configurationl4- the second line of the secondary configurationas- the angles structure used in association comparison
-
search_atatn
public void search_atatn(AngleT at, AngTn a1)
Searches for tangent angle configurations that are complementary to the given angle instance. If a valid configuration is found, creates and associates a new angle instance with an adjusted value.- Parameters:
at- the base angle instancea1- the tangent angle configuration to compare against
-
ptdr
public boolean ptdr(int p, int o, int o1)Determines if the point p lies within the range defined by points o and o1.- Parameters:
p- the point to checko- the first endpoint of the rangeo1- the second endpoint of the range- Returns:
- true if p lies between o and o1, otherwise false
-
check_llatn
public boolean check_llatn(int p1, int p2, LLine l1, LLine l2, LLine l3, LLine l4)Checks if the combined angles formed by the specified line segments at points p1 and p2 are approximately complementary. The method evaluates whether the sum of the absolute angles is close to 90 degrees.- Parameters:
p1- the vertex point for the first pair of linesp2- the vertex point for the second pair of linesl1- the first line from p1l2- the second line from p1l3- the first line from p2l4- the second line from p2- Returns:
- true if the summed angle values are approximately 90 degrees, otherwise false
-
search_ns
public void search_ns(LList ns)
Initiates the search for non-solved structures within the specified list. Skips the search if the last element has already been solved.- Parameters:
ns- the list of structures to search
-
search_bk
public void search_bk(LList ls)
Initiates a backup search process.- Parameters:
ls- the list of structures to search
-
search_bk_as
public void search_bk_as(LList ls)
Searches through the backup structures contained in the specified list. Iterates over each element in the list and applies transformation based on angle structures.- Parameters:
ls- the list of structures to process
-
add_ls_et
public void add_ls_et(LList ls, LLine l1, LLine l2, int n)
Adds a new angle transformation node to the given list. Evaluates if the current transformation in the node matches the provided lines, and if not, creates a new node with the updated angle transformation.- Parameters:
ls- the current list of nodesl1- the first line segment for comparisonl2- the second line segment for comparisonn- the index position used for the transformation
-
add_rule_eqag
public Rule add_rule_eqag(AngTr t1, AngTr t2)
Creates and returns a rule representing an equal angle configuration. Constructs a new rule using the provided angle transformations.- Parameters:
t1- the first angle transformationt2- the second angle transformation- Returns:
- the constructed Rule object representing equal angles
-
add_ls_node_sub
public LList add_ls_node_sub(LList ls, AngTr t1, AngTr t2, int n)
Creates a new list node as a sub-structure of the existing list. Copies the given list, updates the angle transformation at the specified index, and links the new node to the backup chain.- Parameters:
ls- the original list of nodest1- the original angle transformationt2- the new angle transformation to be appliedn- the index at which the transformation is updated- Returns:
- the newly created list node with the updated transformation
-
-