diff --git a/AUTHORS.md b/AUTHORS.md index 5a9b832887e3..b2886dbc3656 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -44,4 +44,5 @@ - Oliver Bucklin <> [@obucklin](https://github.com/obucklin) - Dominik Reisach <> [@dominikreisach](https://github.com/dominikreisach) - Eric Gozzi <> [@ericgozzi](https://github.com/ericgozzi) +- Daniel Nunes Locatelli <> [@daniel-locatelli](https://github.com/daniel-locatelli) - Mengxi He <> [@mengxihex](https://github.com/mengxihex) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51970fe268b3..a16310355ec6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +* Changed `Data.__dtype__` to delegate to `Data.__clstype__` (removes duplicated dtype format logic). * Changed `pca_numpy` to run the SVD on the centered data matrix instead of the covariance matrix: forming the covariance squares the condition number, so near-degenerate inputs (e.g. almost collinear point clouds) returned wrong principal directions — `bestfit_plane_numpy` normals were off by 11–37 degrees on exactly planar sliver clouds (#1522). Well-conditioned results are unchanged (same eigenvectors; eigenvalues rescaled to keep their variance meaning). * Changed `Tolerance` class to no longer use singleton pattern. `Tolerance()` now creates independent instances instead of returning the global `TOL`. * Renamed `Tolerance.units` to `Tolerance.unit` to better reflect the documented properties. Left `units` with deprecation warning. diff --git a/src/compas/data/data.py b/src/compas/data/data.py index aaaf562f0bd1..44ad909235ae 100644 --- a/src/compas/data/data.py +++ b/src/compas/data/data.py @@ -73,7 +73,7 @@ def __init__(self, name=None): @property def __dtype__(self): - return "{}/{}".format(".".join(self.__class__.__module__.split(".")[:2]), self.__class__.__name__) + return self.__clstype__() @classmethod def __clstype__(cls):