Coverage for pyTooling/Cartesian3D/Volumes.py: 100%
14 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-25 22:22 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-25 22:22 +0000
1# ==================================================================================================================== #
2# _____ _ _ ____ _ _ _____ ____ #
3# _ __ _ |_ _|__ ___ | (_)_ __ __ _ / ___|__ _ _ __| |_ ___ ___(_) __ _ _ __ |___ /| _ \ #
4# | '_ \| | | || |/ _ \ / _ \| | | '_ \ / _` || | / _` | '__| __/ _ \/ __| |/ _` | '_ \ |_ \| | | | #
5# | |_) | |_| || | (_) | (_) | | | | | | (_| || |__| (_| | | | || __/\__ \ | (_| | | | |___) | |_| | #
6# | .__/ \__, ||_|\___/ \___/|_|_|_| |_|\__, (_)____\__,_|_| \__\___||___/_|\__,_|_| |_|____/|____/ #
7# |_| |___/ |___/ #
8# ==================================================================================================================== #
9# Authors: #
10# Patrick Lehmann #
11# #
12# License: #
13# ==================================================================================================================== #
14# Copyright 2025-2025 Patrick Lehmann - Bötzingen, Germany #
15# #
16# Licensed under the Apache License, Version 2.0 (the "License"); #
17# you may not use this file except in compliance with the License. #
18# You may obtain a copy of the License at #
19# #
20# http://www.apache.org/licenses/LICENSE-2.0 #
21# #
22# Unless required by applicable law or agreed to in writing, software #
23# distributed under the License is distributed on an "AS IS" BASIS, #
24# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
25# See the License for the specific language governing permissions and #
26# limitations under the License. #
27# #
28# SPDX-License-Identifier: Apache-2.0 #
29# ==================================================================================================================== #
30#
31"""An implementation of 3D cartesian volumes for Python."""
33try:
34 from pyTooling.Decorators import readonly, export
35 from pyTooling.Exceptions import ToolingException
36 from pyTooling.MetaClasses import ExtendedType
37 from pyTooling.Common import getFullyQualifiedName
38 from pyTooling.Cartesian3D import Point3D, Offset3D
39except (ImportError, ModuleNotFoundError): # pragma: no cover
40 print("[pyTooling.Cartesian3D] Could not import from 'pyTooling.*'!")
42 try:
43 from Decorators import readonly, export
44 from Exceptions import ToolingException
45 from MetaClasses import ExtendedType
46 from Common import getFullyQualifiedName
47 from Cartesian3D import Point3D, Offset3D
48 except (ImportError, ModuleNotFoundError) as ex: # pragma: no cover
49 print("[pyTooling.Cartesian3D] Could not import directly!")
50 raise ex
53@export
54class Volume:
55 """Base-class for all 3D cartesian volumes."""
58@export
59class Cuboid(Volume):
60 pass
63@export
64class Cube(Cuboid):
65 pass