Calculator/Project/Scripts/shapes.gd
2025-04-15 11:51:57 -07:00

186 lines
5.6 KiB
GDScript

extends Control
var meth = Math.new()
@onready var Triangles = get_node("Triangles")
@onready var Circles = get_node("Circles")
@onready var Squares = get_node("Squares")
@onready var Rectangles = get_node("Rectangles")
@onready var Rhombuses = get_node("Rhombuses")
@onready var Trapezoids = get_node("Trapezoids")
@onready var Cones = get_node("Cones")
@onready var Spheres = get_node("Spheres")
@onready var Cubes = get_node("Cubes")
@onready var Parellelepipeds = get_node("Parallelepipeds")
@onready var Cylinder = get_node("Cylinder")
@onready var Regular_Polygon = get_node("Regular Polygon")
@onready var Regular_Prism = get_node("Regular Prism")
func _on_tabs_tab_changed(tab):
Triangles.visible = false
Circles.visible = false
Squares.visible = false
Rectangles.visible = false
Rhombuses.visible = false
Trapezoids.visible = false
Cones.visible = false
Spheres.visible = false
Cubes.visible = false
Parellelepipeds.visible = false
Cylinder.visible = false
Regular_Polygon.visible = false
Regular_Prism.visible = false
var TheTab = get_node("Tabs").get_tab_title(tab)
match TheTab:
"Triangles":
Triangles.visible = true
"Circles":
Circles.visible = true
"Squares":
Squares.visible = true
"Rectangles":
Rectangles.visible = true
"Rhombuses":
Rhombuses.visible = true
"Trapezoids":
Trapezoids.visible = true
"Cones":
Cones.visible = true
"Spheres":
Spheres.visible = true
"Cubes":
Cubes.visible = true
"Parellelepipeds":
Parellelepipeds.visible = true
"Cylinder":
Cylinder.visible = true
"Regular Polygon":
Regular_Polygon.visible = true
"Regular Prism":
Regular_Prism.visible = true
# The next functions are about triangles
func DLawOfSines():
var A = Triangles.get_node("DLaw of Sines/A")
var B = Triangles.get_node("DLaw of Sines/B")
var Beta = Triangles.get_node("DLaw of Sines/Beta")
var Results = meth.MathShapes.DegreeOfTriangleUsingLawOfSines(float(A.text), float(B.text), float(Beta.text))
print(Results)
A.text = ""
B.text = ""
Beta.text = ""
func LLawOfSines():
var A = Triangles.get_node("LLaw of Sines/A")
var Alpha = Triangles.get_node("LLaw of Sines/Alpha")
var Beta = Triangles.get_node("LLaw of Sines/Beta")
var Results = meth.MathShapes.LegOfTriangleUsingLawOfSines(float(A.text), float(Alpha.text), float(Beta.text))
print(Results)
A.text = ""
Alpha.text = ""
Beta.text = ""
func TriangleAreaSSS():
var A = Triangles.get_node("Area with SSS/A")
var B = Triangles.get_node("Area with SSS/B")
var C = Triangles.get_node("Area with SSS/C")
var Results = meth.MathShapes.AreaOfTriangleUsingSSS(float(A.text), float(B.text), float(C.text))
print(Results)
A.text = ""
B.text = ""
C.text = ""
func TriangleAreaSAS():
var A = Triangles.get_node("Area with SAS/A")
var B = Triangles.get_node("Area with SAS/B")
var Charlie = Triangles.get_node("Area with SAS/Charlie")
var Results = meth.MathShapes.AreaOfTriangleUsingSAS(float(A.text), float(B.text), float(Charlie.text))
print(Results)
A.text = ""
B.text = ""
Charlie.text = ""
func LLawOfCosines():
var A = Triangles.get_node("LLaw of Cosines/A")
var B = Triangles.get_node("LLaw of Cosines/B")
var Charlie = Triangles.get_node("LLaw of Cosines/Charlie")
var Results = meth.MathShapes.LegOfTriangleUsingLawOfCosines(float(A.text), float(B.text), float(Charlie.text))
print(Results)
A.text = ""
B.text = ""
Charlie.text = ""
func DLawOfCosines():
var A = Triangles.get_node("DLaw of Cosines/A")
var B = Triangles.get_node("DLaw of Cosines/B")
var C = Triangles.get_node("DLaw of Cosines/C")
var Results = meth.MathShapes.DegreeOfTriangleUsingLawOfCosines(float(A.text), float(B.text), float(C.text))
print(Results)
A.text = ""
B.text = ""
C.text = ""
func AreaOfRightTriangle():
var A = Triangles.get_node("Area of Right Triangle/A")
var B = Triangles.get_node("Area of Right Triangle/B")
var Results = meth.MathShapes.AreaOfRightTriangle(float(A.text), float(B.text))
print(Results)
A.text = ""
B.text = ""
func LegOfRightTriangle():
var Area = Triangles.get_node("Leg of Right Triangle/Area")
var B = Triangles.get_node("Leg of Right Triangle/B")
var Results = meth.MathShapes.LegOfRightTriangle(float(B.text), float(Area.text))
print(Results)
Area.text = ""
B.text = ""
func TriangleBaseAndHeight():
var Base = Triangles.get_node("Area of Triangle/Base")
var Height = Triangles.get_node("Area of Triangle/Height")
var Results = meth.MathShapes.AreaOfTriangle(float(Base.text), float(Height.text))
print(Results)
Base.text = ""
Height.text = ""
# The next functions are about circles
func AreaOfCircle():
var Radius = Circles.get_node("Circles/Area Of Circle/Redius")
var Results = meth.MathShapes.AreaOfCircle(float(Radius.text))
print(Results)
Radius.text = ""
# The next functions are about square
func AreaOfSquare():
var Side = Squares.get_node("Squares/Area Of Square/Side")
var Results = meth.MathShapes.AreaOfSquare(float(Side.text))
print(Results)
Side.text = ""
# The next functions are about rectangle
func AreaOfRectangle():
var Width = Rectangles.get_node("Rectangles/Area Of Rectangle/Width")
var Height = Rectangles.get_node("Rectangles/Area Of Rectangle/Height")
var Results = meth.MathShapes.AreaOfRectangle(float(Width.text), float(Height.text))
print(Results)
Width.text = ""
Height.text = ""
# The next functions are about spheres
func SurfaceAreaOfSphere():
var Radius = Spheres.get_node("Surface Area Of Sphere/Size")
var Results = meth.MathShapes.SurfaceAreaOfSphere(float(Radius.text))
print(Results)
Radius.text = ""
func VolumeOfSphere():
var Radius = Spheres.get_node("Volume Of Sphere/Size")
var Results = meth.MathShapes.VolumeOfSphere(float(Radius.text))
print(Results)
Radius.text = ""