point_to_primitive/utils/project_settings.py
2020-06-23 14:37:34 +02:00

67 lines
1.2 KiB
Python

from argparse import Namespace
class DataClass(Namespace):
def __len__(self):
return len(self.__dict__())
def __dict__(self):
return {key: val for key, val in self.__class__.__dict__.items() if '__' not in key}
def items(self):
return self.__dict__().items()
def __repr__(self):
return f'{self.__class__.__name__}({self.__dict__().__repr__()})'
def __getitem__(self, item):
return self.__dict__()[item]
class Classes(DataClass):
# Object Classes for Point Segmentation
Sphere = 0
Cylinder = 1
Cone = 2
Box = 3 # All SubTypes of Planes
Polytope = 4 #
Torus = 5
Plane = 6 #
class Settings(DataClass):
P2G = 'grid'
P2P = 'prim'
PN2 = 'pc'
class ClusterTypes(DataClass):
prim = 'prim'
grid = 'grid'
none = ''
class DataSplit(DataClass):
# DATA SPLIT OPTIONS
train = 'train'
devel = 'devel'
test = 'test'
predict = 'predict'
class GlobalVar(DataClass):
# Variables for plotting
PADDING = 0.25
DPI = 50
data_split = DataSplit()
classes = Classes()
grid_count = 12
prim_count = -1
settings = Settings()