using System;
namespace shape_processor
{
{
public override void Apply(
Part thePart)
{
var aBodyVec = thePart.
Bodies();
if (aBodyVec.Count != 0)
{
for (int i = 0; i < aBodyVec.Count; ++i)
{
Body aBody = aBodyVec[i];
foreach (var aShape in aShapeIt)
{
{
Console.Write($"Part #{myPartIndex} [\"{aPartName}\"] - solid #{i} has:\n");
ProcessSolid(
Solid.
Cast(aShape));
}
{
Console.Write($"Part #{myPartIndex} [\"{aPartName}\"] - shell #{i} has:\n");
ProcessShell(
Shell.
Cast(aShape));
}
}
}
}
++myPartIndex;
}
public abstract void ProcessSolid(
Solid theSolid);
public abstract void ProcessShell(
Shell theShell);
private uint myPartIndex = 0;
}
{
public override void Apply(
Part thePart)
{
var aBodyVec = thePart.Bodies();
if (aBodyVec.Count != 0)
{
for (int i = 0; i < aBodyVec.Count; ++i)
{
Body aBody = aBodyVec[i];
foreach (var aShape in aShapeIt)
{
{
Console.Write($"Part #{myPartIndex} [\"{aPartName}\"] - solid #{i} has:\n");
ProcessSolid(
Solid.Cast(aShape));
}
}
}
}
++myPartIndex;
}
public abstract void ProcessSolid(
Solid theSolid);
private uint myPartIndex = 0;
}
{
public override void Apply(
Part thePart)
{
string aPartName = thePart.
Name().
IsEmpty() ?
"noname" : thePart.
Name().
ToString();
int aShapeIndex = 0;
var aBodyVec = thePart.Bodies();
foreach (var aBody in aBodyVec)
{
{
ProcessMeshBody(
MeshBody.
Cast(aBody), aPartName, ref aShapeIndex);
{
Console.Write($"Part #{myPartIndex} [\"{aPartName}\"] - solid #{aShapeIndex} has:\n");
ProcessSolid(
SolidBody.
Cast(aBody).
Solid(), aPartName, aShapeIndex++);
}
}
++myPartIndex;
}
public abstract void ProcessSolid(
Solid theSolid,
string thePartName,
int theShapeIndex);
public abstract void ProcessITS(
IndexedTriangleSet theITS,
string thePartName,
int theShapeIndex);
private void ProcessMeshBody(
MeshBody theMeshBody,
string thePartName, ref
int theShapeIndex)
{
var aMeshShapes = theMeshBody.
Shapes();
foreach (var aShape in aMeshShapes)
{
{
Console.Write($"Part #{myPartIndex} [\"{thePartName}\"] #{theShapeIndex}:\n");
}
}
}
protected uint myPartIndex = 0;
}
}
Provides a base body class.
Definition Body.cs:19
Defines a polygonal shape consisting of triangles.
Definition IndexedTriangleSet.cs:81
Defines a body that represents a polygonal mesh (faceted or tessellated).
Definition MeshBody.cs:19
cadex.UTF16String Name()
Returns a name.
Definition ModelElement.cs:67
Element visitor with empty implementation.
Definition ModelElementVoidVisitor.cs:20
Defines a leaf node in the scene graph hierarchy.
Definition Part.cs:23
Iterates over subshapes in a shape.
Definition ShapeIterator.cs:58
Defines a connected set of faces.
Definition Shell.cs:29
Provides a solid body composed of solids.
Definition SolidBody.cs:19
Defines a topological solid.
Definition Solid.cs:25
Defines a Unicode (UTF-16) string wrapping a standard string.
Definition UTF16String.cs:17
bool IsEmpty()
Returns true if the string is empty.
Definition UTF16String.cs:96
Defines classes, types, enums, and functions related to topological entities and scene graph elements...
Definition AngleUnit.cs:12
ShapeType
Defines shape type.
Definition ShapeType.cs:17
Contains classes, namespaces, enums, types, and global functions related to Manufacturing Toolkit.
Definition BaseObject.cs:12