Esempio n. 1
0
 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,
     )
Esempio n. 2
0
 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
Esempio n. 3
0
 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
Esempio n. 4
0
 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)
Esempio n. 5
0
 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
Esempio n. 6
0
 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