#ifndef _EdgeUtil_HeaderFile
#define _EdgeUtil_HeaderFile
#ifndef _USE_MATH_DEFINES
#define _USE_MATH_DEFINES
#endif
#include <cadex/ModelData_Axis2Placement.hxx>
#include <cadex/ModelData_BezierCurve.hxx>
#include <cadex/ModelData_BSplineCurve.hxx>
#include <cadex/ModelData_Circle.hxx>
#include <cadex/ModelData_Curve.hxx>
#include <cadex/ModelData_Direction.hxx>
#include <cadex/ModelData_Edge.hxx>
#include <cadex/ModelData_Ellipse.hxx>
#include <cadex/ModelData_Hyperbola.hxx>
#include <cadex/ModelData_Line.hxx>
#include <cadex/ModelData_OffsetCurve.hxx>
#include <cadex/ModelData_Parabola.hxx>
#include <cadex/ModelData_Point.hxx>
#include <array>
#include <cmath>
using namespace std;
{
}
{
}
{
}
{
}
{
}
{
}
{
array<ModelData_Point, 4> aPoles = {{
}};
}
{
const array<ModelData_Point, 5> aPoles = {{
}};
const array<double, 4> aKnots = {{
0., 0.25, 0.75, 1.,
}};
const array<int, 4> aMultiplicities = {{3, 1, 1, 3}};
int aDegree = 2;
aKnots.data(), static_cast<int> (aKnots.size()),
aMultiplicities.data(),
aDegree);
}
#endif
Defines a right-hand axis placement in 3D.
Definition: ModelData_Axis2Placement.hxx:38
Defines 3D B-Spline curve.
Definition: ModelData_BSplineCurve.hxx:34
Defines 3D Bezier curve.
Definition: ModelData_BezierCurve.hxx:36
Defines 3D circle.
Definition: ModelData_Circle.hxx:33
Defines an edge.
Definition: ModelData_Edge.hxx:36
Defines 3D ellipse.
Definition: ModelData_Ellipse.hxx:32
Defines 3D hyperbola.
Definition: ModelData_Hyperbola.hxx:32
Defines 3D line.
Definition: ModelData_Line.hxx:36
Defines 3D offset curve.
Definition: ModelData_OffsetCurve.hxx:33
Defines 3D parabola.
Definition: ModelData_Parabola.hxx:32
Defines a 3D point.
Definition: ModelData_Point.hxx:295
Defines classes, types, and global functions related to CAD Exchanger.
Definition: A3DSTestLib.hxx:22
#ifndef _FaceUtil_HeaderFile
#define _FaceUtil_HeaderFile
#ifndef _USE_MATH_DEFINES
#define _USE_MATH_DEFINES
#endif
#include <cadex/ModelData_Axis2Placement.hxx>
#include <cadex/ModelData_Axis3Placement.hxx>
#include <cadex/ModelData_BezierCurve.hxx>
#include <cadex/ModelData_BezierSurface.hxx>
#include <cadex/ModelData_BSplineSurface.hxx>
#include <cadex/ModelData_Circle.hxx>
#include <cadex/ModelData_ConicalSurface.hxx>
#include <cadex/ModelData_CylindricalSurface.hxx>
#include <cadex/ModelData_Direction.hxx>
#include <cadex/ModelData_Edge.hxx>
#include <cadex/ModelData_Face.hxx>
#include <cadex/ModelData_OffsetSurface.hxx>
#include <cadex/ModelData_Plane.hxx>
#include <cadex/ModelData_Point.hxx>
#include <cadex/ModelData_Shape.hxx>
#include <cadex/ModelData_SphericalSurface.hxx>
#include <cadex/ModelData_SurfaceOfLinearExtrusion.hxx>
#include <cadex/ModelData_SurfaceOfRevolution.hxx>
#include <cadex/ModelData_ToroidalSurface.hxx>
#include <cadex/ModelData_Wire.hxx>
#include <array>
#include <cmath>
using namespace std;
{
}
{
}
{
}
{
}
{
}
{
array<ModelData_Point, 5> aPoles = {{
}};
}
{
array<ModelData_Point, 5> aPoles = {{
}};
}
{
array<ModelData_Point, 4> aPoles = {{
}};
}
{
array<ModelData_Point, 4> aPoles = {{
}};
}
{
array<ModelData_Point, 25> aPoles = {{
}};
int aUPoles = 5,
aVPoles = 5;
array<double, 4> aUKnots = {{0., 0.25, 0.75, 1.}},
aVKnots = {{0., 0.25, 0.75, 1.}};
array<int, 4> aUMultiplicities = {{3, 1, 1, 3}},
aVMultiplicities = {{3, 1, 1, 3}};
int aUDegree = 2;
int aVDegree = 2;
aUPoles, aVPoles,
aUKnots.data(), aVKnots.data(),
static_cast<int> (aUKnots.size()), static_cast<int> (aVKnots.size()),
aUMultiplicities.data(), aVMultiplicities.data(),
aUDegree, aVDegree);
}
{
anOuterWire.
Append (anOuterEdge);
anInnerWire.
Append (ModelData_Edge::Cast (anInnerEdge.Reversed()));
aFace.Append (anOuterWire);
aFace.Append (anInnerWire);
return aFace;
}
#endif
Defines a right-handed or left-handed axis placement in 3D.
Definition: ModelData_Axis3Placement.hxx:38
Defines a B-Spline surface.
Definition: ModelData_BSplineSurface.hxx:34
Defines a Bezier surface.
Definition: ModelData_BezierSurface.hxx:34
Defines a conical surface.
Definition: ModelData_ConicalSurface.hxx:32
Defines a cylindrical surface.
Definition: ModelData_CylindricalSurface.hxx:32
Defines a topological face.
Definition: ModelData_Face.hxx:32
Defines an offset surface.
Definition: ModelData_OffsetSurface.hxx:32
Defines a plane.
Definition: ModelData_Plane.hxx:32
Defines a spherical surface.
Definition: ModelData_SphericalSurface.hxx:32
Defines a surface of linear extrusion.
Definition: ModelData_SurfaceOfLinearExtrusion.hxx:34
Defines a surface of revolution.
Definition: ModelData_SurfaceOfRevolution.hxx:35
Defines a toroidal surface.
Definition: ModelData_ToroidalSurface.hxx:32
Defines a connected set of edges.
Definition: ModelData_Wire.hxx:31
bool Append(const ModelData_Edge &theEdge)
Adds an edge to the wire.
Definition: ModelData_Wire.cxx:64
#ifndef _BodyUtil_HeaderFile
#define _BodyUtil_HeaderFile
#include <cadex/ModelAlgo_BRepFeatures.hxx>
#include <cadex/ModelAlgo_TopoPrimitives.hxx>
#include <cadex/ModelData_Axis2Placement.hxx>
#include <cadex/ModelData_Body.hxx>
#include <cadex/ModelData_Circle.hxx>
#include <cadex/ModelData_Direction.hxx>
#include <cadex/ModelData_Edge.hxx>
#include <cadex/ModelData_Face.hxx>
#include <cadex/ModelData_Line.hxx>
#include <cadex/ModelData_Plane.hxx>
#include <cadex/ModelData_Shell.hxx>
#include <cadex/ModelData_Solid.hxx>
#include <cadex/ModelData_Vertex.hxx>
#include <cadex/ModelData_Wire.hxx>
using namespace std;
{
return aBody;
}
{
return aBody;
}
{
return aBody;
}
{
return aBody;
}
#endif
Defines a root topological shape that can be owned by B-Rep representation.
Definition: ModelData_Body.hxx:28
Defines a connected set of faces.
Definition: ModelData_Shell.hxx:31
bool Append(const ModelData_Face &theFace)
Adds a face to the shell.
Definition: ModelData_Shell.cxx:64
Defines a topological solid.
Definition: ModelData_Solid.hxx:31
Defines topological vertex.
Definition: ModelData_Vertex.hxx:31
#include <cadex/Base_UTF16String.hxx>
#include <cadex/LicenseManager_Activate.h>
#include <cadex/ModelData_BRepRepresentation.hxx>
#include <cadex/ModelData_ModelWriter.hxx>
#include <cadex/ModelData_Part.hxx>
#include <cadex/ModelData_Shape.hxx>
#include <iostream>
#include "../../cadex_license.cxx"
#include "bodyutil.hxx"
#include "edgeutil.hxx"
#include "faceutil.hxx"
using namespace std;
{
}
int main()
{
auto aKey = LicenseKey::Value();
if (!CADExLicense_Activate (aKey)) {
cerr << "Failed to activate CAD Exchanger license." << endl;
return 1;
}
SaveModel (aLine, "LineEdge");
SaveModel (aCircle, "CircleEdge");
SaveModel (anEllipse, "EllipseEdge");
SaveModel (aParabola, "ParabolaEdge");
SaveModel (aHyperbola, "HyperbolaEdge");
SaveModel (anEdgeFromOffsetCurve, "OffsetEdge");
SaveModel (aBezierEdge, "BezierEdge");
SaveModel (aBSplineEdge, "BSplineEdge");
SaveModel (aPlane, "PlaneFace");
SaveModel (aSphere, "SphereFace");
SaveModel (aCylinder, "CylinderFace");
SaveModel (aCone, "ConeFace");
SaveModel (aTorus, "TorusFace");
ModelData_Face aFaceFromLESurface = MakeFaceFromSurfaceOfLinearExtrusion();
SaveModel (aFaceFromLESurface, "LEFace");
ModelData_Face aFaceFromRevSurface = MakeFaceFromSurfaceOfRevolution();
SaveModel (aFaceFromRevSurface, "RevFace");
SaveModel (aFaceFromOffsetSurface, "OffsetFace");
SaveModel (aBezierFace, "BezierFace");
SaveModel (aBSplineFace, "BSplineFace");
SaveModel (aFace, "InnerWireFace");
SaveModel (aSolid, "SolidBody");
SaveModel (aSheet, "SheetBody");
SaveModel (aWireframe, "WireframeBody");
SaveModel (anAcorn, "AcornBody");
return 0;
}
Defines a Unicode (UTF-16) string wrapping a standard string.
Definition: Base_UTF16String.hxx:34
Defines precise Boundary Representation of part.
Definition: ModelData_BRepRepresentation.hxx:39
Provides CAD Exchanger data model.
Definition: ModelData_Model.hxx:43
const ModelData_SceneGraphElement & AddRoot(const ModelData_SceneGraphElement &theElement)
Adds new root element into the scene graph.
Definition: ModelData_Model.cxx:781
Writes any format that CAD Exchanger can export.
Definition: ModelData_ModelWriter.hxx:33
bool Write(const ModelData_Model &theModel, const Base_UTF16String &theFilePath)
Writes the specified model to the file at the specified path.
Definition: ModelData_ModelWriter.cxx:134
Defines a leaf node in the scene graph hiearchy.
Definition: ModelData_Part.hxx:35
Base class of topological shapes.
Definition: ModelData_Shape.hxx:37