def draw(self): Vector.draw(self) ColorMixin.draw(self) vb = context.application.vis_backend if self.length > self.rest_length: l_cyl = self.rest_length l_cone = 0.5 * (self.length - l_cyl) if l_cone > 0: vb.draw_cone(self.radius, 0.0, l_cone, self.quality) vb.translate(0.0, 0.0, l_cone) if l_cyl > 0: vb.draw_cone(0.5 * self.radius, 0.5 * self.radius, l_cyl, self.quality) vb.translate(0.0, 0.0, l_cyl) if l_cone > 0: vb.draw_cone(0.0, self.radius, l_cone, self.quality) else: l_cyl = self.length l_cone = 0.5 * (self.rest_length - self.length) if l_cone > 0: vb.translate(0.0, 0.0, -l_cone) vb.draw_cone(0.0, self.radius, l_cone, self.quality) vb.translate(0.0, 0.0, l_cone) if l_cyl > 0: vb.draw_cylinder(0.5 * self.radius, l_cyl, self.quality) vb.translate(0.0, 0.0, l_cyl) if l_cone > 0: vb.draw_cone(self.radius, 0.0, l_cone, self.quality)
def draw(self): Vector.draw(self) ColorMixin.draw(self) vb = context.application.vis_backend if self.length > self.rest_length: l_cyl = self.rest_length l_cone = 0.5*(self.length - l_cyl) if l_cone > 0: vb.draw_cone(self.radius, 0.0, l_cone, self.quality) vb.translate(0.0, 0.0, l_cone) if l_cyl > 0: vb.draw_cone(0.5*self.radius, 0.5*self.radius, l_cyl, self.quality) vb.translate(0.0, 0.0, l_cyl) if l_cone > 0: vb.draw_cone(0.0, self.radius, l_cone, self.quality) else: l_cyl = self.length l_cone = 0.5*(self.rest_length - self.length) if l_cone > 0: vb.translate(0.0, 0.0, -l_cone) vb.draw_cone(0.0, self.radius, l_cone, self.quality) vb.translate(0.0, 0.0, l_cone) if l_cyl > 0: vb.draw_cylinder(0.5*self.radius, l_cyl, self.quality) vb.translate(0.0, 0.0, l_cyl) if l_cone > 0: vb.draw_cone(self.radius, 0.0, l_cone, self.quality)
def draw(self): Vector.draw(self) if self.length <= 0: return half_length = 0.5 * (self.end_position - self.begin_position) if half_length <= 0: return half_radius = 0.5 * (self.begin_radius + self.end_radius) begin = self.children[0].target end = self.children[1].target vb = context.application.vis_backend vb.set_color(*begin.get_color()) vb.translate(0.0, 0.0, self.begin_position) vb.draw_cone(self.begin_radius, half_radius, half_length, self.quality) vb.translate(0.0, 0.0, half_length) vb.set_color(*end.get_color()) vb.draw_cone(half_radius, self.end_radius, half_length, self.quality)
def draw(self): Vector.draw(self) ColorMixin.draw(self) vb = context.application.vis_backend if self.length == 0.0: return # usefull variable if self.arrow_radius <= 0: arrowtop_length = self.arrow_length else: arrowtop_length = self.arrow_length / self.arrow_radius * self.radius # stick and bottom if (self.length - arrowtop_length > 0) and (self.radius > 0): vb.draw_cylinder(self.radius, self.length - arrowtop_length, self.quality) vb.set_quadric_inside() vb.draw_disk(self.radius, self.quality) # arrowtop if (self.radius > 0): if (arrowtop_length > 0): vb.push_matrix() vb.translate(0.0, 0.0, self.length - arrowtop_length) vb.set_quadric_outside() vb.draw_cone(self.radius, 0, arrowtop_length, self.quality) vb.pop_matrix() else: vb.push_matrix() vb.translate(0.0, 0.0, self.length) vb.set_quadric_outside() vb.draw_disk(self.radius, self.quality) vb.pop_matrix() # arrow if (self.arrow_radius - self.radius > 0) and (self.arrow_length - arrowtop_length) > 0: vb.push_matrix() vb.translate(0.0, 0.0, (self.length - self.arrow_length) * (self.arrow_position)) vb.set_quadric_outside() vb.draw_cone(self.arrow_radius, self.radius, self.arrow_length - arrowtop_length, self.quality) vb.set_quadric_inside() vb.draw_disk(self.arrow_radius, self.quality) vb.pop_matrix() vb.set_quadric_outside()
def draw(self): Vector.draw(self) ColorMixin.draw(self) vb = context.application.vis_backend if self.length == 0.0: return # usefull variable if self.arrow_radius <= 0: arrowtop_length = self.arrow_length else: arrowtop_length = self.arrow_length / self.arrow_radius * self.radius # stick and bottom if (self.length - arrowtop_length > 0) and (self.radius > 0): vb.draw_cylinder(self.radius, self.length - arrowtop_length, self.quality) vb.set_quadric_inside() vb.draw_disk(self.radius, self.quality) # arrowtop if self.radius > 0: if arrowtop_length > 0: vb.push_matrix() vb.translate(0.0, 0.0, self.length - arrowtop_length) vb.set_quadric_outside() vb.draw_cone(self.radius, 0, arrowtop_length, self.quality) vb.pop_matrix() else: vb.push_matrix() vb.translate(0.0, 0.0, self.length) vb.set_quadric_outside() vb.draw_disk(self.radius, self.quality) vb.pop_matrix() # arrow if (self.arrow_radius - self.radius > 0) and (self.arrow_length - arrowtop_length) > 0: vb.push_matrix() vb.translate(0.0, 0.0, (self.length - self.arrow_length) * (self.arrow_position)) vb.set_quadric_outside() vb.draw_cone(self.arrow_radius, self.radius, self.arrow_length - arrowtop_length, self.quality) vb.set_quadric_inside() vb.draw_disk(self.arrow_radius, self.quality) vb.pop_matrix() vb.set_quadric_outside()