Public Member Functions | |
| __init__ (self, Basecurve curve, int numtapes, float tapewidth, float tapedistance, t=None) | |
| envelope (self) | |
| clearance (self, min_arc_distance=None) | |
| plot (self, ax, tapes=None, every=1, color="k", lw=0.4, sections_every=0, section_color="tab:orange") | |
Public Attributes | |
| curve = curve | |
| t = np.asarray(t, float) | |
| numtapes = int(numtapes) | |
| tapewidth = float(tapewidth) | |
| tapedistance = float(tapedistance) | |
| thickness = self.tapedistance * (self.numtapes - 1) | |
| y = np.linspace(-0.5 * self.thickness, 0.5 * self.thickness, self.numtapes) | |
| x = np.array([-0.5 * self.tapewidth, 0.0, 0.5 * self.tapewidth]) | |
| center = np.zeros((m, 3)) | |
| frames = np.zeros((m, 3, 3)) | |
| points = np.zeros((self.numtapes, m, 3, 3)) | |
Static Protected Member Functions | |
| _points_to_rectangle (P, corners, R) | |
| pancake.tapestack.TapeStack.__init__ | ( | self, | |
| Basecurve | curve, | ||
| int | numtapes, | ||
| float | tapewidth, | ||
| float | tapedistance, | ||
| t = None ) |
|
staticprotected |
Minimum distance from points P (p, 3) to the rectangle given by its corners and frame R.
| pancake.tapestack.TapeStack.clearance | ( | self, | |
| min_arc_distance = None ) |
Smallest distance between stack cross sections that are far apart along the curve. Returns (distance, i, j) for the closest pair of stations with |t_i - t_j| > min_arc_distance (default: twice the stack diagonal). A distance below zero cannot occur with this estimate; a value close to zero (below one tape distance, say) means the tapes cross or touch.
| pancake.tapestack.TapeStack.envelope | ( | self | ) |
Corners (m, 4, 3) of the rectangle enclosing the stack at every station.
| pancake.tapestack.TapeStack.plot | ( | self, | |
| ax, | |||
| tapes = None, | |||
| every = 1, | |||
| color = "k", | |||
| lw = 0.4, | |||
| sections_every = 0, | |||
| section_color = "tab:orange" ) |
Draw the tips of the tapes as lines and, optionally, the stack envelope at some stations.
| pancake.tapestack.TapeStack.center = np.zeros((m, 3)) |
| pancake.tapestack.TapeStack.curve = curve |
| pancake.tapestack.TapeStack.frames = np.zeros((m, 3, 3)) |
| pancake.tapestack.TapeStack.numtapes = int(numtapes) |
| pancake.tapestack.TapeStack.points = np.zeros((self.numtapes, m, 3, 3)) |
| pancake.tapestack.TapeStack.t = np.asarray(t, float) |
| pancake.tapestack.TapeStack.tapedistance = float(tapedistance) |
| pancake.tapestack.TapeStack.tapewidth = float(tapewidth) |
| pancake.tapestack.TapeStack.thickness = self.tapedistance * (self.numtapes - 1) |
| pancake.tapestack.TapeStack.x = np.array([-0.5 * self.tapewidth, 0.0, 0.5 * self.tapewidth]) |
| pancake.tapestack.TapeStack.y = np.linspace(-0.5 * self.thickness, 0.5 * self.thickness, self.numtapes) |