Skip to content

Commit 06dd45d

Browse files
jonahrbRobPasMue
andauthored
Refactor our data model to support masters/instances (#456)
Co-authored-by: Roberto Pastor Muela <37798125+RobPasMue@users.noreply.github.com>
1 parent f6b74fb commit 06dd45d

File tree

12 files changed

+982
-328
lines changed

12 files changed

+982
-328
lines changed

src/ansys/geometry/core/connection/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from ansys.geometry.core.connection.client import GrpcClient
44
from ansys.geometry.core.connection.conversions import (
55
frame_to_grpc_frame,
6+
grpc_matrix_to_matrix,
67
plane_to_grpc_plane,
78
point3d_to_grpc_point,
89
sketch_shapes_to_grpc_geometries,

src/ansys/geometry/core/connection/conversions.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77
from ansys.api.geometry.v0.models_pb2 import Frame as GRPCFrame
88
from ansys.api.geometry.v0.models_pb2 import Geometries
99
from ansys.api.geometry.v0.models_pb2 import Line as GRPCLine
10+
from ansys.api.geometry.v0.models_pb2 import Matrix as GRPCMatrix
1011
from ansys.api.geometry.v0.models_pb2 import Plane as GRPCPlane
1112
from ansys.api.geometry.v0.models_pb2 import Point as GRPCPoint
1213
from ansys.api.geometry.v0.models_pb2 import Polygon as GRPCPolygon
1314
from ansys.api.geometry.v0.models_pb2 import Tessellation
1415
from beartype.typing import TYPE_CHECKING, List, Optional, Tuple
1516

16-
from ansys.geometry.core.math import Frame, Plane, Point2D, Point3D, UnitVector3D
17+
from ansys.geometry.core.math import Frame, Matrix44, Plane, Point2D, Point3D, UnitVector3D
1718
from ansys.geometry.core.misc import DEFAULT_UNITS
1819
from ansys.geometry.core.sketch import (
1920
Arc,
@@ -344,3 +345,23 @@ def tess_to_pd(tess: Tessellation) -> "PolyData":
344345
import pyvista as pv
345346

346347
return pv.PolyData(np.array(tess.vertices).reshape(-1, 3), tess.faces)
348+
349+
350+
def grpc_matrix_to_matrix(m: GRPCMatrix) -> Matrix44:
351+
"""
352+
Convert an ``ansys.api.geometry.Matrix`` class to a
353+
:class:`ansys.geometry.core.math.Matrix44` class.
354+
"""
355+
import numpy as np
356+
357+
return Matrix44(
358+
np.round(
359+
[
360+
[m.m00, m.m01, m.m02, m.m03],
361+
[m.m10, m.m11, m.m12, m.m13],
362+
[m.m20, m.m21, m.m22, m.m23],
363+
[m.m30, m.m31, m.m32, m.m33],
364+
],
365+
8,
366+
)
367+
)
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
"""Provides the PyGeometry ``designer`` subpackage."""
22

3-
from ansys.geometry.core.designer.body import Body, MidSurfaceOffsetType
3+
from ansys.geometry.core.designer.body import Body, MidSurfaceOffsetType, TemplateBody
44
from ansys.geometry.core.designer.component import Component, SharedTopologyType
55
from ansys.geometry.core.designer.design import Design, DesignFileFormat
66
from ansys.geometry.core.designer.edge import CurveType, Edge
77
from ansys.geometry.core.designer.face import Face, SurfaceType
8+
from ansys.geometry.core.designer.part import Part, TransformedPart
89
from ansys.geometry.core.designer.selection import NamedSelection

0 commit comments

Comments
 (0)