geolysis 0.2.0__py3-none-any.whl → 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
geolysis/foundation.py DELETED
@@ -1,176 +0,0 @@
1
- from typing import TypeAlias
2
-
3
- from geolysis.utils import FloatOrInt
4
-
5
- __all__ = [
6
- "CircularFooting",
7
- "SquareFooting",
8
- "RectangularFooting",
9
- "FoundationSize",
10
- ]
11
-
12
-
13
- class CircularFooting:
14
- """
15
- Circular Footing Size.
16
-
17
- :param float diameter: Diameter of foundation footing. (m)
18
- """
19
-
20
- def __init__(self, diameter: FloatOrInt) -> None:
21
- self._diameter = diameter
22
-
23
- @property
24
- def diameter(self) -> FloatOrInt:
25
- """
26
- Diameter of foundation footing. (m)
27
- """
28
- return self._diameter
29
-
30
- @diameter.setter
31
- def diameter(self, __val: FloatOrInt):
32
- self._diameter = __val
33
-
34
- @property
35
- def width(self) -> FloatOrInt:
36
- """
37
- Diameter of foundation footing. (m)
38
- """
39
- return self._diameter
40
-
41
- @width.setter
42
- def width(self, __val: FloatOrInt):
43
- self.diameter = __val
44
-
45
-
46
- class SquareFooting:
47
- """
48
- Square Footing Size.
49
-
50
- :param SupportFloatOrIndex width: Width of foundation footing. (m)
51
- """
52
-
53
- def __init__(self, width: FloatOrInt):
54
- self._width = width
55
- self._length = width
56
-
57
- @property
58
- def width(self) -> FloatOrInt:
59
- """
60
- Width of foundation footing. (m)
61
- """
62
- return self._width
63
-
64
- @width.setter
65
- def width(self, __val: FloatOrInt):
66
- self._width = __val
67
- self._length = __val
68
-
69
- @property
70
- def length(self) -> FloatOrInt:
71
- """
72
- Length of foundation footing. (m)
73
- """
74
- return self._length
75
-
76
- @length.setter
77
- def length(self, __val: FloatOrInt):
78
- self.width = __val # This will set the _width and _length attributes
79
-
80
-
81
- class RectangularFooting:
82
- """
83
- Rectangular Footing Size.
84
-
85
- :param SupportFloatOrIndex length: Length of foundation footing. (m)
86
- :param SupportFloatOrIndex width: Width of foundation footing. (m)
87
- """
88
-
89
- def __init__(
90
- self,
91
- width: FloatOrInt,
92
- length=FloatOrInt,
93
- ) -> None:
94
- self._width = width
95
- self._length = length
96
-
97
- @property
98
- def width(self) -> FloatOrInt:
99
- """
100
- Width of foundation footing. (m)
101
- """
102
- return self._width
103
-
104
- @width.setter
105
- def width(self, __val: FloatOrInt):
106
- self._width = __val
107
-
108
- @property
109
- def length(self) -> FloatOrInt:
110
- """
111
- Length of foundation footing. (m)
112
- """
113
- return self._length
114
-
115
- @length.setter
116
- def length(self, __val: FloatOrInt):
117
- self._length = __val
118
-
119
-
120
- _FootingShape: TypeAlias = SquareFooting | RectangularFooting | CircularFooting
121
-
122
-
123
- class FoundationSize:
124
- """
125
- A simple class representing a foundation structure.
126
-
127
- :param float depth: Depth of foundation footing. (m)
128
- :param FootingShape footing_shape: Represents the shape of the foundation footing.
129
- """
130
-
131
- def __init__(
132
- self,
133
- depth: FloatOrInt,
134
- footing_shape: _FootingShape,
135
- ) -> None:
136
- self._depth = depth
137
- self.footing_shape = footing_shape
138
-
139
- @property
140
- def depth(self) -> FloatOrInt:
141
- """
142
- Depth of foundation footing. (m)
143
- """
144
- return self._depth
145
-
146
- @depth.setter
147
- def depth(self, __val: FloatOrInt):
148
- self._depth = __val
149
-
150
- @property
151
- def width(self) -> FloatOrInt:
152
- """
153
- Width of foundation footing. (m)
154
- """
155
- return self.footing_shape.width
156
-
157
- @width.setter
158
- def width(self, __val: FloatOrInt):
159
- self.footing_shape.width = __val
160
-
161
- @property
162
- def length(self) -> FloatOrInt:
163
- """
164
- Length of foundation footing. (m)
165
-
166
- :raises AttributeError: Raises error if footing shape does not have a length
167
- attribute.
168
- """
169
- if isinstance(self.footing_shape, (SquareFooting, RectangularFooting)):
170
- return self.footing_shape.length
171
-
172
- else:
173
- err_msg = (
174
- f"{type(self.footing_shape)} have no attribute named length"
175
- )
176
- raise AttributeError(err_msg)