def enterParamSet(self, ctx): print("enter paramset") p = ctx.paramSetLeft() a = str(p.STRING()).replace('"', '').split(' ') param_type = a[0] param_name = a[1] print("-->" + param_name) if param_type == 'point': print("-->point") i = 0 values = [] while True: if ctx.NUMBER(i) is None: break values.append( Point3d(float(str(ctx.NUMBER(i))), float(str(ctx.NUMBER(i + 1))), float(str(ctx.NUMBER(i + 2))))) i += 3 self.currentParamSet.add_point(param_name, values) elif param_type == 'float': print("-->float") i = 0 values = [] while True: if ctx.NUMBER(i) is None: break values.append(float(str(ctx.NUMBER(i)))) i += 1 self.currentParamSet.add_float(param_name, values) elif param_type == 'integer': print("-->int") i = 0 values = [] while True: if ctx.NUMBER(i) is None: break values.append(int(str(ctx.NUMBER(i)))) i += 1 self.currentParamSet.add_int(param_name, values) elif param_type == 'string': print("-->string") i = 0 values = [] while True: if ctx.STRING(i) is None: break values.append(str(ctx.STRING(i)).replace("\"", "")) i += 1 if len(values) == 1: self.currentParamSet.add_string(param_name, values[0]) else: self.currentParamSet.add_string(param_name, values) elif param_type == 'color': print("-->color") i = 0 values = [] while True: if ctx.NUMBER(i) is None: break values.append(float(str(ctx.NUMBER(i)))) i += 1 self.currentParamSet.add_spectrum(param_name, Spectrum.create_from_array(values))