def bot( self, name, mode=3, orientation=1, flags=0, vertices=[[0, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0]], faces=[[0, 1, 2], [1, 2, 3], [3, 1, 0]], thickness=[2, 3, 1], face_mode=[True, True, False], ): face_mode_struct = 0 if mode == 3: face_mode_struct = libbu.bu_bitv_new(len(faces)) for i in range(len(faces)): if face_mode[i]: cta.bit_set(face_mode_struct, i) libwdb.mk_bot( self.db_fp, name, mode, orientation, flags, len(vertices), len(faces), cta.doubles(vertices), cta.integers(faces), cta.doubles(thickness), face_mode_struct, )
def build_segment(self): result = librt.struct_nurb_seg() result.magic = librt.CURVE_NURB_MAGIC result.order = self.order coordinates_count = 3 if self.weights else 2 result.pt_type = (1 if self.weights else 0) + (self.point_type << 1) + (coordinates_count << 5) result.c_size = len(self._points) result.ctl_points = cta.integers(self._points, flatten=False) result.weights = cta.doubles(self.weights, flatten=False) knots = librt.struct_knot_vector() knots.magic = librt.NMG_KNOT_VECTOR_MAGIC knots.k_size = len(self.knot_vector) knots.knots = cta.doubles(self.knot_vector, flatten=False) result.k = knots return result
def build_segment(self): result = librt.struct_nurb_seg() result.magic = librt.CURVE_NURB_MAGIC result.order = self.order coordinates_count = 3 if self.weights else 2 result.pt_type = (1 if self.weights else 0) + (self.point_type << 1) + (coordinates_count << 5) result.c_size = len(self._points) result.ctl_points = cta.integers(self._points, flatten=False) result.weights = cta.doubles(self.weights, flatten=False) knots = librt.struct_knot_vector() knots.magic = librt.NMG_KNOT_VECTOR_MAGIC knots.k_size = len(self.knot_vector) knots.knots = cta.doubles(self.knot_vector, flatten=False) result.k = knots return result
def bot(self, name, mode=3, orientation=1, flags=0, vertices=[[0, 0, 0], [0, 0, 1], [0, 1, 0], [1, 0, 0]], faces=[[0, 1, 2], [1, 2, 3], [3, 1, 0]], thickness=[2, 3, 1], face_mode=[True, True, False]): face_mode_struct = 0 if mode == 3: face_mode_struct = libbu.bu_bitv_new(len(faces)) for i in range(len(faces)): if face_mode[i]: cta.bit_set(face_mode_struct, i) libwdb.mk_bot(self.db_fp, name, mode, orientation, flags, len(vertices), len(faces), cta.doubles(vertices), cta.integers(faces), cta.doubles(thickness), face_mode_struct)
def build_segment(self): result = librt.struct_bezier_seg() result.magic = librt.CURVE_BEZIER_MAGIC result.degree = self.degree result.ctl_points = cta.integers(self._points, flatten=False) return result
def build_segment(self): result = librt.struct_bezier_seg() result.magic = librt.CURVE_BEZIER_MAGIC result.degree = self.degree result.ctl_points = cta.integers(self._points, flatten=False) return result