Files
2025-09-18 17:55:52 -04:00

86 lines
2.7 KiB
C++

#ifndef __sgAlgs__
#define __sgAlgs__
namespace sgBoolean
{
sgCore_API sgCGroup* Intersection(const sgC3DObject& aOb,
const sgC3DObject& bOb);
sgCore_API sgCGroup* Union(const sgC3DObject& aOb,
const sgC3DObject& bOb, int& errcode);
sgCore_API sgCGroup* Sub(const sgC3DObject& aOb,
const sgC3DObject& bOb, int& errcode);
sgCore_API sgCGroup* IntersectionContour(const sgC3DObject& aOb,
const sgC3DObject& bOb);
sgCore_API sgCGroup* Section(const sgC3DObject& obj,
const SG_VECTOR& planeNormal,
sgFloat planeD);
};
namespace sgKinematic
{
sgCore_API sgCObject* Rotation(const sgC2DObject& rotObj,
const SG_POINT& axePnt1,
const SG_POINT& axePnt2,
sgFloat angl_degree,
bool isClose,
short meridians_count=24);
sgCore_API sgCObject* Extrude(const sgC2DObject& outContour,
const sgC2DObject** holes,
int holes_count,
const SG_VECTOR& extrDir,
bool isClose);
sgCore_API sgCObject* Spiral(const sgC2DObject& outContour,
const sgC2DObject** holes,
int holes_count,
const SG_POINT& axePnt1,
const SG_POINT& axePnt2,
sgFloat screw_step,
sgFloat screw_height,
short meridians_count,
bool isClose);
sgCore_API sgCObject* Pipe(const sgC2DObject& outContour,
const sgC2DObject** holes,
int holes_count,
const sgC2DObject& guideContour,
const SG_POINT& point_in_outContour_plane,
sgFloat angle_around_point_in_outContour_plane,
bool& isClose);
};
namespace sgSurfaces
{
sgCore_API sgCObject* Face(const sgC2DObject& outContour,
const sgC2DObject** holes,
int holes_count);
sgCore_API sgCObject* Coons(const sgC2DObject& firstSide,
const sgC2DObject& secondSide,
const sgC2DObject& thirdSide,
const sgC2DObject* fourthSide,
short uSegments,
short vSegments,
short uVisEdges,
short vVisEdges);
sgCore_API sgCObject* Mesh(short dimens_1,
short dimens_2,
const SG_POINT* pnts);
sgCore_API sgCObject* SewSurfaces(const sgC3DObject** surfaces, int surf_count);
sgCore_API sgCObject* LinearSurfaceFromSections(const sgC2DObject& firstSide,
const sgC2DObject& secondSide,
sgFloat firstParam,
bool isClose);
sgCore_API sgCObject* SplineSurfaceFromSections(const sgC2DObject** sections,
const sgFloat* params,
int sections_count,
bool isClose);
};
#endif