class documentation

Contains the path for the cutting torch to follow

Method __init__ Initializes Path
Method algo_bnb Undocumented
Method algo_brute_force Undocumented
Method algo_greedy_gtsp General Traveling Salesman Problem solver
Method algo_min Primitive sitching algorithm that uses simple minimum distance, i.g. which component.first_pt is closest to the current component's .last_pt
Method get_clusters Undocumented
Method get_components Sort tagged point cloud into individual objects
Method get_costs Traveling salesman algo
Method get_grid_min Find the size of the image grid
Method get_grid_path Create 2D representation of the calculated cutting path Note: in grid scale, not cloud scale
Method get_grid_size Find the size of the image grid
Method get_nodes Undocumented
Method stitch_primitives Call a primtive stitching algorithm
Method visualize Show information about the Path object
Instance Variable component_groups list of component groups, i.g. group of T-beams, group of I-beams
Instance Variable components list of individual component objects
Instance Variable components_ordered list of components ordered to form a path for the plasma torch
Instance Variable coords2d numpy array of 2d coordinates describing the cutting path. NOT resized
Instance Variable coords3d numpy array of 3d coordinates describing the cutting path. Resized to original point cloud scale
Instance Variable grid_density number of squares in grid per unit in the point cloud
Instance Variable grid_path 2D representation of the calculated cutting path in grid scale, not cloud scale
Instance Variable max_grid dimensions of the grid
Instance Variable min_grid Undocumented
Instance Variable nodes All component objects plus component objects with paths reversed
Instance Variable z_plane location of the cutting plane alnog the z-axis
def __init__(self, component_groups, grid_density, z_plane):

Initializes Path

Parameters
component_groupsa
grid_densitya
z_planea
def algo_bnb(self):

Undocumented

def algo_brute_force(self):

Undocumented

def algo_greedy_gtsp(self):

General Traveling Salesman Problem solver

def algo_min(self):

Primitive sitching algorithm that uses simple minimum distance, i.g. which component.first_pt is closest to the current component's .last_pt

def get_clusters(self):

Undocumented

def get_components(self):

Sort tagged point cloud into individual objects

def get_costs(self):

Traveling salesman algo

def get_grid_min(self):

Find the size of the image grid

def get_grid_path(self):

Create 2D representation of the calculated cutting path Note: in grid scale, not cloud scale

def get_grid_size(self):

Find the size of the image grid

def get_nodes(self):

Undocumented

def stitch_primitives(self):

Call a primtive stitching algorithm

Returns
Ordered list of primitives
def visualize(self):

Show information about the Path object

Notes

o3d visualization must go before matplot display to avoid QT thread-handling issue

o3d visualization does not work on wlroots even with x-wayland. Use X11 environment instead

component_groups =

list of component groups, i.g. group of T-beams, group of I-beams

components =

list of individual component objects

components_ordered =

list of components ordered to form a path for the plasma torch

coords2d =

numpy array of 2d coordinates describing the cutting path. NOT resized

coords3d =

numpy array of 3d coordinates describing the cutting path. Resized to original point cloud scale

grid_density =

number of squares in grid per unit in the point cloud

grid_path =

2D representation of the calculated cutting path in grid scale, not cloud scale

max_grid =

dimensions of the grid

min_grid =

Undocumented

nodes =

All component objects plus component objects with paths reversed

z_plane =

location of the cutting plane alnog the z-axis