public static extern int TrivIGATVofRevol(int ArgmntID, CagdSrfStruct *Srf, IrtPtType *AxisPoint, IrtVecType *AxisVector, double StartAngleRad, double EndAngleRads, int IsRational, int ID);
public static extern TrivTVStruct *TrivExtrudeTV(CagdSrfStruct *Srf, CagdVecStruct *Vec);
public static extern TrimSrfStruct *TrimSrfsFromTrimPlsHierarchy(IPPolygonStruct *TopLevel, IPPolygonStruct *TrimPls, CagdSrfStruct *Srf);
public static extern TrimSrfStruct *TrimSrfsFromContours2(CagdSrfStruct *Srf, CagdCrvStruct *CCntrs);
public static extern CagdCrvStruct *TrimEvalTrimCrvToEuclid2(CagdSrfStruct *Srf, CagdCrvStruct *UVCrv, CagdCrvStruct **UVCrvLinear);
public static extern MdlTrimSrfStruct *MdlTrimSrfNew2(CagdSrfStruct *Srf, CagdCrvStruct **LoopList, int NumLoops, int HasTopLvlTrim);
public static extern MdlModelStruct *MdlAddSrf2Mdl(MdlModelStruct *Mdl, CagdSrfStruct *Srf);
public static extern TrimSrfStruct *MdlClipSrfByPlane(CagdSrfStruct *Srf, IrtPlnType *Pln);
public static extern CagdSrfStruct *TrivBzrComposeTVSrf(TrivTVStruct *TV, CagdSrfStruct *Srf);
public static extern TrivTVStruct *TrivTVOfRevAxis(CagdSrfStruct *Srf, TrivP4DType AxisPoint, TrivV4DType AxisVector, int PolyApprox);
public static extern TrivTVStruct *TrivTVOfRevPolynomialApprox(CagdSrfStruct *Srf);
public static extern TrivTVStruct *TrivTVOfRev2(CagdSrfStruct *Srf, int PolyApprox, double StartAngle, double EndAngle);
public static extern TrivTVStruct *TrivTVOfRev(CagdSrfStruct *Srf);
public static extern TrivTVStruct *TrivZTwistExtrudeSrf(CagdSrfStruct *Srf, int Rational, double ZPitch);
public static extern TrivTVStruct *TrivExtrudeTV2(CagdSrfStruct *Srf, CagdCrvStruct *Crv);
public static extern MdlModelStruct *MdlPrimListOfSrfs2Model(CagdSrfStruct *Srfs, int *n);
public static extern CagdCrvStruct *MdlInterSrfByPlane(CagdSrfStruct *Trf, IrtPlnType *Pln);
public static extern TrivTVStruct *TrivAlgebraicProdTV(CagdCrvStruct *Crv, CagdSrfStruct *Srf);
public static extern MdlModelStruct *MdlCnvrtSrf2Mdl(CagdSrfStruct *Srf);
public static extern TrivTVStruct *TrivSwungAlgSumTV(CagdCrvStruct *Crv, CagdSrfStruct *Srf);
public static extern MdlTrimSrfStruct *MdlTrimSrfNew(CagdSrfStruct *Srf, MdlLoopStruct *LoopList, int HasTopLvlTrim, int UpdateBackTSrfPtrs);
public static extern IPPolygonStruct *IPSurface2CtlMesh(CagdSrfStruct *Srf);
public static extern CagdCrvStruct *TrimEvalTrimCrvToEuclid(CagdSrfStruct *Srf, CagdCrvStruct *UVCrv);
public static extern IPPolygonStruct *IPSurface2Polygons(CagdSrfStruct *Srf, int FourPerFlat, double FineNess, int ComputeUV, int ComputeNrml, int Optimal);
public static extern TrimSrfStruct *TrimSrfsFromContours(CagdSrfStruct *Srf, IPPolygonStruct *Cntrs);
public static extern CagdSrfStruct *IPSurfacesToCubicBzrSrfs(CagdSrfStruct *Srfs, CagdSrfStruct **NoConvertionSrfs);
public static extern IPPolygonStruct *TrimValidateNewTrimCntrs(CagdSrfStruct *Srf, IPPolygonStruct *Cntrs);
public static extern IPObjectStruct *IPGenSrfObject(byte *Name, CagdSrfStruct *Srf, IPObjectStruct *Pnext);
public static extern TrimSrfStruct *TrimSrfNew3(CagdSrfStruct *Srf, CagdCrvStruct *TrimCrvList, int HasTopLvlTrim);
public static extern IPObjectStruct *IPGenSRFObject(CagdSrfStruct *Srf);