39 lines
909 B
Python
39 lines
909 B
Python
from typing import List
|
|
from speckle.objects.base import Base
|
|
|
|
|
|
class Point(Base):
|
|
value: List[int or float] = [0, 0, 0]
|
|
|
|
def __repr__(self) -> str:
|
|
return f"{self.__class__.__name__}(value: {self.value}, id: {self.id}, speckle_type: {self.speckle_type})"
|
|
|
|
def __str__(self) -> str:
|
|
return self.__repr__()
|
|
|
|
@property
|
|
def x(self):
|
|
return self.value[0]
|
|
|
|
@property
|
|
def y(self):
|
|
return self.value[1]
|
|
|
|
@property
|
|
def z(self):
|
|
return self.value[2]
|
|
|
|
@x.setter
|
|
def x(self, value: int or float):
|
|
if isinstance(value, (int, float)):
|
|
self.value[0] = value
|
|
|
|
@y.setter
|
|
def y(self, value: int or float):
|
|
if isinstance(value, (int, float)):
|
|
self.value[1] = value
|
|
|
|
@z.setter
|
|
def z(self, value: int or float):
|
|
if isinstance(value, (int, float)):
|
|
self.value[2] = value |