Skip to content

Commit

Permalink
fix: changing dataclasses to use default factory to prevent shared ob…
Browse files Browse the repository at this point in the history
…jects
  • Loading branch information
lachlangrose committed Feb 3, 2025
1 parent 5e398c4 commit 0d007d2
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 19 deletions.
16 changes: 8 additions & 8 deletions LoopStructural/datatypes/_point.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from dataclasses import dataclass
from dataclasses import dataclass, field
import numpy as np

from typing import Optional, Union
Expand All @@ -10,10 +10,10 @@

@dataclass
class ValuePoints:
locations: np.ndarray
values: np.ndarray
name: str
properties: Optional[dict] = None
locations:np.ndarray= field(default_factory=lambda: np.array([[0, 0, 0]]))
values: np.ndarray = field(default_factory=lambda: np.array([0]))
name: str = "unnamed"
properties: Optional[dict] = None

def to_dict(self):
return {
Expand Down Expand Up @@ -108,9 +108,9 @@ def from_dict(cls, d, flatten=False):

@dataclass
class VectorPoints:
locations: np.ndarray
vectors: np.ndarray
name: str
locations: np.ndarray = field(default_factory=lambda: np.array([[0, 0, 0]]))
vectors: np.ndarray = field(default_factory=lambda: np.array([[0, 0, 0]]))
name: str = "unnamed"
properties: Optional[dict] = None

def to_dict(self):
Expand Down
14 changes: 7 additions & 7 deletions LoopStructural/datatypes/_structured_grid.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
from typing import Dict
import numpy as np
from dataclasses import dataclass
from dataclasses import dataclass, field
from LoopStructural.utils import getLogger

logger = getLogger(__name__)


@dataclass
class StructuredGrid:
origin: np.ndarray
step_vector: np.ndarray
nsteps: np.ndarray
cell_properties: Dict[str, np.ndarray]
properties: Dict[str, np.ndarray]
name: str
origin: np.ndarray = field(default_factory=lambda: np.array([0, 0, 0]))
step_vector: np.ndarray = field(default_factory=lambda: np.array([1, 1, 1]))
nsteps: np.ndarray = field(default_factory=lambda: np.array([10, 10, 10]))
cell_properties: Dict[str, np.ndarray] = field(default_factory=dict)
properties: Dict[str, np.ndarray] = field(default_factory=dict)
name: str = "default_grid"

def to_dict(self):
return {
Expand Down
8 changes: 4 additions & 4 deletions LoopStructural/datatypes/_surface.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from dataclasses import dataclass
from dataclasses import dataclass, field
from typing import Optional
import numpy as np
import io
Expand All @@ -9,9 +9,9 @@

@dataclass
class Surface:
vertices: np.ndarray
triangles: np.ndarray
normals: Optional[np.ndarray] = None
vertices: np.ndarray = field(default_factory=lambda: np.array([[0, 0, 0]]))
triangles: np.ndarray = field(default_factory=lambda: np.array([[0, 0, 0]]))
normals: Optional[np.ndarray] = None
name: str = 'surface'
values: Optional[np.ndarray] = None
properties: Optional[dict] = None
Expand Down

0 comments on commit 0d007d2

Please sign in to comment.