def struct2Marshal(struct): W,FW,EW = struct2lar(struct) quadArray = [[W[v] for v in face] for face in FW] parts = boolean.boxBuckets3d(boolean.containmentBoxes(quadArray)) Z,FZ,EZ = boolean.spacePartition(W,FW,EW, parts) V,FV,EV = inters.larSimplify((Z,FZ,EZ),radius=0.001) return V,FV,EV
def partition(W,FW,EW): quadArray = [[W[v] for v in face] for face in FW] parts = boxBuckets3d(containmentBoxes(quadArray)) Z,FZ,EZ = spacePartition(W,FW,EW, parts) Z,FZ,EZ = inters.larSimplify((Z,FZ,EZ),radius=0.001) model = Z,FZ,EZ return model
def thePartition(W,FW,EW): quadArray = [[W[v] for v in face] for face in FW] parts = boxBuckets3d(containmentBoxes(quadArray)) Z,FZ,EZ = spacePartition(W,FW,EW, parts) Z,FZ,EZ = inters.larSimplify((Z,FZ,EZ),radius=0.0001) model = Z,FZ,EZ ZZ = AA(LIST)(range(len(Z))) submodel = STRUCT(MKPOLS((Z,EZ))) VIEW(larModelNumbering(1,1,1)(Z,[ZZ,EZ,FZ],submodel,0.6)) ZZ = AA(LIST)(range(len(Z))) FE = crossRelation(FZ,EZ,ZZ) ## to be double checked !! EF_angle, ET,TV,FT = faceSlopeOrdering(model,FE) V,CV,FV,EV,CF,CE,COE = facesFromComponents((Z,FZ,EZ),FE,EF_angle) return V,CV,FV,EV,CF,CE,COE,FE
def thePartition(W,FW,EW): quadArray = [[W[v] for v in face] for face in FW] parts = boxBuckets3d(containmentBoxes(quadArray)) Z,FZ,EZ = spacePartition(W,FW,EW, parts) Z,FZ,EZ = inters.larSimplify((Z,FZ,EZ),radius=0.0001) model = Z,FZ,EZ ZZ = AA(LIST)(range(len(Z))) submodel = STRUCT(MKPOLS((Z,EZ))) VIEW(larModelNumbering(1,1,1)(Z,[ZZ,EZ,FZ],submodel,0.6)) ZZ = AA(LIST)(range(len(Z))) FE = crossRelation(FZ,EZ,ZZ) ## to be double checked !! EF_angle, ET,TV,FT = faceSlopeOrdering(model,FE) V,CV,FV,EV,CF,CE,COE = cellsFromComponents((Z,FZ,EZ),FE,EF_angle, ET,TV,FT) V,CV,FV,EV,CF,CE,COE = facesFromComponents((Z,FZ,EZ),FE,EF_angle) return V,CV,FV,EV,CF,CE,COE,FE