The poly projection tool. More...
Inherits global.SystemIDisposable.
Public Member Functions | |
| Projector_PolyProjector (global::System.IntPtr cPtr, bool cMemoryOwn) | |
| void | Dispose () |
| cadex.Projector_PolyData | Perform (cadex.ModelData.Part thePart, cadex.Geom.Direction theNormal) |
| Runs projection process for thePart. | |
| cadex.Projector_PolyData | Perform (cadex.Collections.IndexedTriangleSetList theITSVec, cadex.Geom.Direction theNormal) |
| Runs projection process for theITSVec. | |
| void | SetProgressStatus (cadex.ProgressStatus theStatus) |
Protected Member Functions | |
| virtual void | Dispose (bool disposing) |
The poly projection tool.
The filter helps find outer bound of the projection.
The filter uses the same approach as for processing images. In our case "image" is a bitmap of hits and misses of checked point with projection.
The filter uses 3x3 matrix to define the next point, order of filling is shown below: 0 1 2 3 4 5 6 7
The filter moves in CCW direction. To make a right direction it uses the following logic: 1) check corner directions:
To make a more compact code we use a mask, all combination of it provided below:
dir|Mask variations 0 0001 1001 1101 2 0010 0011 1011 7 0100 0110 0111 5 1000 1100 1110
2) check the next value moving in CW direction:
Project the given part onto a specified plane defined by the normal direction. The information about the resulting projected data is stored in Projector_PolyData.
Example of projection making could be found on the Projector Example page.