Click here to Skip to main content
15,886,362 members
Articles / Desktop Programming / MFC

SolidGraph CAD System

Rate me:
Please Sign up or sign in to vote.
4.97/5 (78 votes)
12 Sep 20062 min read 375.3K   29.8K   209  
A SolidGraph CAD system source code.
#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);
	sgCore_API      sgCGroup*	Sub(const sgC3DObject& aOb,
											const sgC3DObject& bOb);
	sgCore_API      sgCGroup*	IntersectionContour(const sgC3DObject& aOb,
														const sgC3DObject& bOb);
	sgCore_API      sgCGroup*	Section(const sgC3DObject& obj, 
											const SG_VECTOR& planeNormal, 
											double planeD);
};

namespace  sgKinematic
{
	sgCore_API     sgCObject*  Rotation(const sgC2DObject&  rotObj,
											const SG_POINT& axePnt1,
											const SG_POINT& axePnt2,
											double angl_degree,
											bool isClose);

	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,
											double screw_step,
											double 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,
										double 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,
															double firstParam,
															bool   isClose);
	sgCore_API     sgCObject*  SplineSurfaceFromSections(const sgC2DObject** sections,
															const double* params,
															int sections_count,
															bool isClose);
};


#endif

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions