home *** CD-ROM | disk | FTP | other *** search
- /*****************************************************************************
- * "Irit" - the 3d polygonal solid modeller. *
- * *
- * Written by: Gershon Elber Ver 0.2, Mar. 1990 *
- ******************************************************************************
- * Module to provide the required interfact for the cagd library for the *
- * free form surfaces and curves. *
- *****************************************************************************/
-
- #ifndef FREEFORM_H
- #define FREEFORM_H
-
- int GetDrawCtlPt(void);
- int GetFourPerFlat(void);
- ObjectStruct *GenBezierSurfaceObject(ObjectStruct *LstObjList);
- ObjectStruct *GenBezierCurveObject(ObjectStruct *PtObjList);
- ObjectStruct *GenBsplineSurfaceObject(RealType *UOrder, RealType *VOrder,
- ObjectStruct *LstObjList, ObjectStruct *KntObjList);
- ObjectStruct *GenBsplineCurveObject(RealType *ROrder, ObjectStruct *PtObjList,
- ObjectStruct *KntObjList);
- ObjectStruct *DivideSurfaceObject(ObjectStruct *SrfObj, RealType *Dir,
- RealType *ParamVal);
- ObjectStruct *RegionFromSurfaceObject(ObjectStruct *SrfObj, RealType *RDir,
- RealType *ParamVal1, RealType *ParamVal2);
- ObjectStruct *DivideCurveObject(ObjectStruct *CrvObj, RealType *ParamVal);
- ObjectStruct *RegionFromCurveObject(ObjectStruct *CrvObj,
- RealType *ParamVal1, RealType *ParamVal2);
- ObjectStruct *RefineSurfaceObject(ObjectStruct *SrfObj, RealType *Dir,
- RealType *Replace, ObjectStruct *KnotsObj);
- ObjectStruct *RefineCurveObject(ObjectStruct *CrvObj, RealType *Replace,
- ObjectStruct *KnotsObj);
- ObjectStruct *EvalSurfaceObject(ObjectStruct *SrfObj, RealType *u, RealType *v);
- ObjectStruct *EvalCurveObject(ObjectStruct *CrvObj, RealType *t);
- ObjectStruct *NormalSurfaceObject(ObjectStruct *SrfObj, RealType *u,
- RealType *v);
- ObjectStruct *TangentSurfaceObject(ObjectStruct *SrfObj, RealType *Dir,
- RealType *u, RealType *v);
- ObjectStruct *TangentCurveObject(ObjectStruct *CrvObj, RealType *t);
- ObjectStruct *CurveFromSrfMesh(ObjectStruct *SrfObj, RealType *Dir,
- RealType *Index);
- ObjectStruct *CurveFromSurface(ObjectStruct *SrfObj, RealType *Dir,
- RealType *ParamVal);
- ObjectStruct *CurveReverse(ObjectStruct *CrvObj);
- ObjectStruct *SurfaceReverse(ObjectStruct *SrfObj);
- void ComputeCurveIsoLines(ObjectStruct *PObj);
- void ComputeSurfaceIsoLines(ObjectStruct *PObj);
- void ComputeSurfacePolygons(ObjectStruct *PObj);
- ObjectStruct *Geometry2Polygons(ObjectStruct *Obj);
- ObjectStruct *Geometry2Polylines(ObjectStruct *Obj);
- ObjectStruct *GenCircleCurveObject(VectorType Position, RealType *Radius);
- ObjectStruct *GenArcCurveObject(VectorType Start, VectorType Center,
- VectorType End);
- ObjectStruct *GenRuledSrfObject(ObjectStruct *Crv1, ObjectStruct *Crv2);
- ObjectStruct *GenBoolSumSrfObject(ObjectStruct *Crv1, ObjectStruct *Crv2,
- ObjectStruct *Crv3, ObjectStruct *Crv4);
- ObjectStruct *GenSrfFromCrvsObject(ObjectStruct *CrvList);
- ObjectStruct *GenSweepSrfObject(ObjectStruct *CrossSection, ObjectStruct *Axis,
- ObjectStruct *ScalingCrv, RealType *Scale);
- ObjectStruct *GenOffsetObject(ObjectStruct *Obj, RealType *Offset);
- ObjectStruct *MergeCurvesAndCtlPoints(ObjectStruct *PObj1, ObjectStruct *PObj2);
- ObjectStruct *EditCrvControlPoint(ObjectStruct *PObjCrv, ObjectStruct *PObjPt,
- RealType *Index);
- ObjectStruct *EditSrfControlPoint(ObjectStruct *PObjSrf, ObjectStruct *PObjPt,
- RealType *UIndex, RealType *VIndex);
- ObjectStruct *RaiseCurveObject(ObjectStruct *PObjCrv, RealType *Order);
- ObjectStruct *RaiseSurfaceObject(ObjectStruct *PObjSrf, RealType *RDir,
- RealType *RNewOrder );
-
- #endif /* FREEFORM_H */
-
-
-