def build_tree(self): node = cta.brlcad_new(librt.struct_tree_node) node.magic = librt.RT_TREE_MAGIC node.tb_op = librt.OP_NOT node.tb_regionp = None node.tb_left = self.left.build_tree() return librt.cast(librt.pointer(node), librt.POINTER(librt.union_tree))
def build_tree(self): node = cta.brlcad_new(librt.struct_tree_db_leaf) node.magic = librt.RT_TREE_MAGIC node.tl_op = librt.OP_DB_LEAF node.tl_mat = None if self.matrix is None else cta.transform(self.matrix, use_brlcad_malloc=True) node.tl_name = librt.bu_strdupm(self.name, "tree_db_leaf.tl_name") return librt.cast(librt.pointer(node), librt.POINTER(librt.union_tree))
def build_tree(self): node = cta.brlcad_new(librt.struct_tree_db_leaf) node.magic = librt.RT_TREE_MAGIC node.tl_op = librt.OP_DB_LEAF node.tl_mat = None if self.matrix is None else cta.transform( self.matrix, use_brlcad_malloc=True) node.tl_name = librt.bu_strdupm(self.name, "tree_db_leaf.tl_name") return librt.cast(librt.pointer(node), librt.POINTER(librt.union_tree))
def build_tree(self, subset=None): if subset and len(subset) == 1: return subset[0].build_tree() if not subset: subset = self.children node = cta.brlcad_new(librt.struct_tree_node) node.magic = librt.RT_TREE_MAGIC node.tb_op = self.op_code node.tb_regionp = None index = len(subset) / 2 node.tb_left = self.build_tree(subset[:index]) node.tb_right = self.build_tree(subset[index:]) return librt.cast(librt.pointer(node), librt.POINTER(librt.union_tree))
def build_curves(self): ci = librt.struct_rt_curve() ci.count = len(self.curves) if ci.count: ci.reverse = (librt.c_int * ci.count)() ci.segment = (librt.genptr_t * ci.count)() else: ci.reverse = None ci.segment = None for i in range(0, ci.count): curve = self.curves[i] ci.reverse[i] = bool(curve.reverse) ci.segment[i] = librt.cast(librt.pointer(curve.build_segment()), librt.c_void_p) return ci, self.vertices
def build_curves(self): ci = librt.struct_rt_curve() ci.count = len(self.curves) if ci.count: ci.reverse = (librt.c_int * ci.count)() ci.segment = (librt.genptr_t * ci.count)() else: ci.reverse = None ci.segment = None for i in xrange(0, ci.count): curve = self.curves[i] ci.reverse[i] = bool(curve.reverse) ci.segment[i] = librt.cast(librt.pointer(curve.build_segment()), librt.c_void_p) return ci, self.vertices
def build_curves(self): ci = librt.struct_rt_curve() ci.count = len(self.curves) if ci.count: ci.reverse = (librt.c_int * ci.count)() ci.segment = (librt.c_void_p * ci.count)() else: ci.reverse = None ci.segment = None for i in xrange(0, ci.count): xx = Line(self, self.curves[i][1]) ci.reverse[i] = bool(xx.reverse) ci.segment[i] = librt.cast(librt.pointer(xx.build_segment()), librt.c_void_p) return ci, self.vertices