mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-09-19 14:41:25 +00:00
Fixing Dimension Mismatch in Matrix Multiplication
This commit is contained in:
committed by
Dion Moult
parent
688d2b7bd1
commit
83d364574a
@@ -247,7 +247,7 @@ def get_shape_vertices(shape, geometry):
|
|||||||
"""
|
"""
|
||||||
verts = get_vertices(geometry)
|
verts = get_vertices(geometry)
|
||||||
mat = get_shape_matrix(shape)
|
mat = get_shape_matrix(shape)
|
||||||
return np.array([mat @ np.array([verts[i], verts[i + 1], verts[i + 2]]) for i in range(0, len(verts), 3)])
|
return np.delete((mat @ np.hstack((verts, np.ones((len(verts), 1)))).T).T, -1, axis=1)
|
||||||
|
|
||||||
|
|
||||||
def get_element_vertices(element, geometry):
|
def get_element_vertices(element, geometry):
|
||||||
@@ -269,7 +269,7 @@ def get_element_vertices(element, geometry):
|
|||||||
if not element.ObjectPlacement or not element.ObjectPlacement.is_a("IfcLocalPlacement"):
|
if not element.ObjectPlacement or not element.ObjectPlacement.is_a("IfcLocalPlacement"):
|
||||||
return verts
|
return verts
|
||||||
mat = ifcopenshell.util.placement.get_local_placement(element.ObjectPlacement)
|
mat = ifcopenshell.util.placement.get_local_placement(element.ObjectPlacement)
|
||||||
return np.array([mat @ np.array([verts[i], verts[i + 1], verts[i + 2]]) for i in range(0, len(verts), 3)])
|
return np.delete((mat @ np.hstack((verts, np.ones((len(verts), 1)))).T).T, -1, axis=1)
|
||||||
|
|
||||||
|
|
||||||
def get_bottom_elevation(geometry):
|
def get_bottom_elevation(geometry):
|
||||||
|
|||||||
Reference in New Issue
Block a user