fabmetheus_utilities.geometry.solids.triangle_mesh ($Date: 2008/02/05 $)
index
/home/enrique/Desktop/backup/babbleold/script/reprap/fabmetheus/fabmetheus_utilities/geometry/solids/triangle_mesh.py

Triangle Mesh holds the faces and edges of a triangular mesh.

 
Modules
       
__init__
fabmetheus_utilities.geometry.geometry_tools.dictionary
fabmetheus_utilities.euclidean
fabmetheus_utilities.geometry.geometry_utilities.evaluate
fabmetheus_utilities.geometry.geometry_tools.face
fabmetheus_utilities.geometry.solids.group
fabmetheus_utilities.intercircle
math
fabmetheus_utilities.geometry.geometry_utilities.matrix
fabmetheus_utilities.settings
fabmetheus_utilities.geometry.geometry_tools.vertex
fabmetheus_utilities.xml_simple_writer

 
Classes
       
fabmetheus_utilities.geometry.solids.group.Group(fabmetheus_utilities.geometry.geometry_tools.dictionary.Dictionary)
TriangleMesh
EdgePair
FaceGenerator
ZoneArrangement

 
class EdgePair
     Methods defined here:
__init__(self)
Pair of edges on a face.
__repr__(self)
Get the string representation of this EdgePair.
getFromIndexesEdges(self, edgeIndexes, edges)
Initialize from edge indices.

 
class FaceGenerator
    A face generator.
 
  Methods defined here:
__init__(self, faces, indexedLoopBottom, indexedLoopTop)
Initialize.
addFacesByBottomIndex(self, bottomIndex, faces)
Add faces from the  bottom index to the next index.
getBetweenIndex(self, bottomPoint, bottomPointNext, topIndexPlusOne)
Get the index of the last point along the loop which is closer to the bottomPoint.

 
class TriangleMesh(fabmetheus_utilities.geometry.solids.group.Group)
    A triangle mesh.
 
 
Method resolution order:
TriangleMesh
fabmetheus_utilities.geometry.solids.group.Group
fabmetheus_utilities.geometry.geometry_tools.dictionary.Dictionary

Methods defined here:
__init__(self)
Add empty lists.
addXMLSection(self, depth, output)
Add the xml section for this object.
getCarveBoundaryLayers(self)
Get the boundary layers.
getCarveCornerMaximum(self)
Get the corner maximum of the vertexes.
getCarveCornerMinimum(self)
Get the corner minimum of the vertexes.
getCarveLayerHeight(self)
Get the layer height.
getFabmetheusXML(self)
Return the fabmetheus XML.
getGeometryOutput(self)
Get geometry output dictionary.
getInterpretationSuffix(self)
Return the suffix for a triangle mesh.
getLoops(self, importRadius, z)
Get loops sliced through shape.
getLoopsFromMesh(self, z)
Get loops from a carve of a mesh.
getMinimumZ(self)
Get the minimum z.
getTransformedVertexes(self)
Get all transformed vertexes.
getTriangleMeshes(self)
Get all triangleMeshes.
getVertexes(self)
Get all vertexes.
setCarveImportRadius(self, importRadius)
Set the import radius.
setCarveIsCorrectMesh(self, isCorrectMesh)
Set the is correct mesh flag.
setCarveLayerHeight(self, layerHeight)
Set the layer height.
setEdgesForAllFaces(self)
Set the face edges of all the faces.

Methods inherited from fabmetheus_utilities.geometry.solids.group.Group:
addXMLInnerSection(self, depth, output)
Add xml inner section for this object.
getMatrix4X4(self)
Get the matrix4X4.
getMatrixChainTetragrid(self)
Get the matrix chain tetragrid.
getVisible(self)
Get visible.
setToElementNode(self, elementNode)
Set to elementNode.

Methods inherited from fabmetheus_utilities.geometry.geometry_tools.dictionary.Dictionary:
__repr__(self)
Get the string representation of this object info.
addXML(self, depth, output)
Add xml for this object.
addXMLArchivableObjects(self, depth, output)
Add xml for this object.
createShape(self)
Create the shape.
getAttributes(self)
Get attribute table.
getComplexTransformedPathLists(self)
Get complex transformed path lists.
getFabricationExtension(self)
Get fabrication extension.
getFabricationText(self, addLayerTemplate)
Get fabrication text.
getPaths(self)
Get all paths.
getTransformedPaths(self)
Get all transformed paths.
getType(self)
Get type.
getXMLLocalName(self)
Get xml local name.
transformGeometryOutput(self, geometryOutput)
Transform the geometry output by the local matrix4x4.

 
class ZoneArrangement
    A zone arrangement.
 
  Methods defined here:
__init__(self, layerHeight, vertexes)
Initialize the zone interval and the zZone table.
getEmptyZ(self, z)
Get the first z which is not in the zone table.

 
Functions
       
addEdgePair(edgePairTable, edges, faceEdgeIndex, remainingEdgeIndex, remainingEdgeTable)
Add edge pair to the edge pair table.
addFacesByConcaveLoop(faces, indexedLoop)
Add faces from a polygon which is concave.
addFacesByConvex(faces, indexedLoop)
Add faces from a convex polygon.
addFacesByConvexBottomTopLoop(faces, indexedLoopBottom, indexedLoopTop)
Add faces from loops.
addFacesByConvexLoops(faces, indexedLoops)
Add faces from loops.
addFacesByConvexReversed(faces, indexedLoop)
Add faces from a reversed convex polygon.
addFacesByGrid(faces, grid)
Add faces from grid.
addFacesByLoop(faces, indexedLoop)
Add faces from a polygon which may be concave.
addFacesByLoopReversed(faces, indexedLoop)
Add faces from a reversed convex polygon.
addFacesByMeldedConvexLoops(faces, indexedLoops)
Add faces from melded loops.
addLoopToPointTable(loop, pointTable)
Add the points in the loop to the point table.
addMeldedPillarByLoops(faces, indexedLoops)
Add melded pillar by loops which may be concave.
addPillarByLoops(faces, indexedLoops)
Add pillar by loops which may be concave.
addPillarFromConvexLoopsGridTop(faces, indexedGridTop, indexedLoops)
Add pillar from convex loops and grid top.
addPillarFromConvexLoopsGrids(faces, indexedGrids, indexedLoops)
Add pillar from convex loops and grids.
addPointsAtZ(edgePair, points, radius, vertexes, z)
Add point complexes on the segment between the edge intersections with z.
addSymmetricXPath(outputs, path, x)
Add x path output to outputs.
addSymmetricXPaths(outputs, paths, x)
Add x paths outputs to outputs.
addSymmetricYPath(outputs, path, y)
Add y path output to outputs.
addSymmetricYPaths(outputs, paths, y)
Add y paths outputs to outputs.
addVector3Loop(loop, loops, vertexes, z)
Add vector3Loop to loops if there is something in it, for inset and outset.
addWithLeastLength(importRadius, loops, point)
Insert a point into a loop, at the index at which the loop would be shortest.
convertElementNode(elementNode, geometryOutput)
Convert the xml element to a TriangleMesh xml element.
getAddIndexedGrid(grid, vertexes, z)
Get and add an indexed grid.
getAddIndexedLoop(loop, vertexes, z)
Get and add an indexed loop.
getAddIndexedLoops(loop, vertexes, zList)
Get and add indexed loops.
getAdditionalLoopLength(loop, point, pointIndex)
Get the additional length added by inserting a point into a loop.
getCarveIntersectionFromEdge(edge, vertexes, z)
Get the complex where the carve intersects the edge.
getClosestDistanceIndexToPoint(point, loop)
Get the distance squared to the closest point of the loop and index of that point.
getDescendingAreaLoops(allPoints, corners, importRadius)
Get descending area loops which include most of the points.
getDescendingAreaOrientedLoops(allPoints, corners, importRadius)
Get descending area oriented loops which include most of the points.
getGeometryOutputByFacesVertexes(faces, vertexes)
Get geometry output dictionary by faces and vertexes.
getGeometryOutputCopy(object)
Get the geometry output copy.
getIndexedCellLoopsFromIndexedGrid(grid)
Get indexed cell loops from an indexed grid.
getIndexedLoopFromIndexedGrid(indexedGrid)
Get indexed loop from around the indexed grid.
getInfillDictionary(arounds, aroundWidth, infillInset, infillWidth, pixelTable, rotatedLoops, testLoops=None)
Get combined fill loops which include most of the points.
getInsetPoint(loop, tinyRadius)
Get the inset vertex.
getIsPathEntirelyOutsideTriangle(begin, center, end, vector3Path)
Determine if a path is entirely outside another loop.
getIsPointCloseInline(close, loop, point, pointIndex)
Insert a point into a loop, at the index at which the loop would be shortest.
getLoopLayerAppend(loopLayers, z)
Get next z and add extruder loops.
getLoopsFromCorrectMesh(edges, faces, vertexes, z)
Get loops from a carve of a correct mesh.
getLoopsFromUnprovenMesh(edges, faces, importRadius, vertexes, z)
Get loops from a carve of an unproven mesh.
getLoopsWithCorners(corners, importRadius, loops, pointTable)
Add corners to the loops.
getMeldedPillarOutput(loops)
Get melded pillar output.
getNewDerivation(elementNode)
Get new derivation.
getNextEdgeIndexAroundZ(edge, faces, remainingEdgeTable)
Get the next edge index in the mesh carve.
getOrientedLoops(loops)
Orient the loops which must be in descending order.
getOverlapRatio(loop, pointTable)
Get the overlap ratio between the loop and the point table.
getPath(edges, pathIndexes, loop, z)
Get the path from the edge intersections.
getPillarOutput(loops)
Get pillar output.
getPillarsOutput(loopLists)
Get pillars output.
getRemainingEdgeTable(edges, vertexes, z)
Get the remaining edge hashtable.
getRemainingLoopAddFace(faces, remainingLoop)
Get the remaining loop and add face.
getSharedFace(firstEdge, faces, secondEdge)
Get the face which is shared by two edges.
getSymmetricXLoop(path, vertexes, x)
Get symmetrix x loop.
getSymmetricYLoop(path, vertexes, y)
Get symmetrix y loop.
getUnifiedOutput(outputs)
Get unified output.
getUniqueVertexes(loops)
Get unique vertexes.
getWideAnglePointIndex(loop)
Get a point index which has a wide enough angle, most point indexes have a wide enough angle, this is just to make sure.
isInline(beginComplex, centerComplex, endComplex)
Determine if the three complex points form a line.
isPathAdded(edges, faces, loops, remainingEdgeTable, vertexes, z)
Get the path indexes around a triangle mesh carve and add the path to the flat loops.
processElementNode(elementNode)
Process the xml element.
setEdgeMaximumMinimum(edge, vertexes)
Set the edge maximum and minimum.
sortLoopsInOrderOfArea(isDescending, loops)
Sort the loops in the order of area according isDescending.

 
Data
        __author__ = 'Enrique Perez (perez_enrique@yahoo.com)'
__credits__ = 'Art of Illusion <http://www.artofillusion.org/>'
__date__ = '$Date: 2008/02/05 $'
__license__ = 'GNU Affero General Public License http://www.gnu.org/licenses/agpl.html'
absolute_import = _Feature((2, 5, 0, 'alpha', 1), (2, 7, 0, 'alpha', 0), 16384)

 
Author
        Enrique Perez (perez_enrique@yahoo.com)

 
Credits
        Art of Illusion <http://www.artofillusion.org/>