IPObjectStruct *MCExtractIsoSurface(const char *FileName,
                                        int DataType,
                                        IrtPtType CubeDim,
                                        int Width,
                                        int Height,
                                        int Depth,
                                        int SkipFactor,
                                        CagdRType IsoVal)
    IPObjectStruct *MCExtractIsoSurface2(const TrivTVStruct *CTV,
                                         int Axis,
                                         CagdBType TrivarNormals,
                                         IrtPtType CubeDim,
                                         int SkipFactor,
                                         CagdRType SamplingFactor,
                                         CagdRType IsoVal)
    IPObjectStruct *MCExtractIsoSurface3(IPObjectStruct *ImageList,
                                         IrtPtType CubeDim,
                                         int SkipFactor,
                                         CagdRType IsoVal)
    IPObjectStruct *MCExtractIsoSurface4(const void **ImageVector,
                                         const int *Size,
                                         TrivImagePixelType PixelType,
                                         IrtPtType CubeDim,
                                         int SkipFactor,
                                         CagdRType IsoVal)
    int MCImprovePointOnIsoSrf(MCImprovePointOnIsoSrfInfoStruct
                                                             *MCImprovePointOnIS,
                               IrtPtType Pt,
                               const IrtPtType CubeDim,
                               CagdRType IsoVal,
                               CagdRType Tolerance,
                               CagdRType AllowedError)
    void MCImprovePointOnIsoSrfPostlude(MCImprovePointOnIsoSrfInfoStruct
                                                            *MCImprovePointOnIS)
    MCImprovePointOnIsoSrfInfoStruct *MCImprovePointOnIsoSrfPrelude(
                                                           const TrivTVStruct *TV)
    MCPolygonStruct *MCThresholdCube(MCCubeCornerScalarStruct *CCS,
                                     IrtRType Threshold)
    CagdCrvStruct *TrivAdapIsoExtractCrvs(const TrivTVStruct *Trivar,
                                          TrivTVDirType SrfDir,
                                          CagdRType Epsilon,
                                          int InitialDiv,
                                          CagdSrfDirType CrvDir,
                                          CagdRType CntrEps)
    TrimSrfStruct *TrivAdapIsoExtractSrfs(const TrivTVStruct *Trivar,
                                          TrivTVDirType Dir,
                                          CagdRType Epsilon,
                                          int InitialDiv,
                                          CagdRType CntrEps)
    TrivTVStruct *TrivAlgebraicProdTV(const CagdCrvStruct *Crv,
                                      const CagdSrfStruct *Srf)
    TrivTVStruct *TrivAlgebraicSumTV(const CagdCrvStruct *Crv,
                                     const CagdSrfStruct *Srf)
    void TrivBlendFilletProperties(TrivTVStruct **FilletTV,
                                   const CagdSrfStruct *PrimSrf1,
                                   const CagdSrfStruct *PrimSrf2)
CagdPtStruct *TrivBndryCrnrsFromTV(const TrivTVStruct *TV)
CagdCrvStruct *TrivBndryEdgesFromTV(const TrivTVStruct *TV)
    CagdSrfStruct **TrivBndrySrfsFromTVToData(const TrivTVStruct *TV,
                                              int OrientBoundary,
                                              CagdSrfStruct **Srfs)
    CagdSrfStruct *TrivBndrySrfsFromTVs(const TrivTVStruct *Trivars,
                                        CagdRType Eps,
                                        int OrientBoundary)
    TrivTVStruct *TrivBspPeriodicTVNew(int ULength,
                                       int VLength,
                                       int WLength,
                                       int UOrder,
                                       int VOrder,
                                       int WOrder,
                                       CagdBType UPeriodic,
                                       CagdBType VPeriodic,
                                       CagdBType WPeriodic,
                                       CagdPointType PType)
TrivTVStruct *TrivBspTVDegreeRaise(const TrivTVStruct *TV, TrivTVDirType Dir)
    TrivTVStruct *TrivBspTVDerive(const TrivTVStruct *TV,
                                  TrivTVDirType Dir,
                                  CagdBType DeriveScalar)
TrivTVStruct *TrivBspTVDeriveScalar(const TrivTVStruct *TV, TrivTVDirType Dir)
CagdBType TrivBspTVHasBezierKVs(const TrivTVStruct *TV)
CagdBType TrivBspTVHasOpenEC(const TrivTVStruct *TV)
    TrivTVStruct *TrivBspTVKnotInsertNDiff(const TrivTVStruct *TV,
                                           TrivTVDirType Dir,
                                           int Replace,
                                           const CagdRType *t,
                                           int n)
    TrivTVStruct *TrivBspTVNew(int ULength,
                               int VLength,
                               int WLength,
                               int UOrder,
                               int VOrder,
                               int WOrder,
                               CagdPointType PType)
    CagdCrvStruct *TrivBzrComposeTVCrv(const TrivTVStruct *TV,
                                       const CagdCrvStruct *Crv)
    CagdSrfStruct *TrivBzrComposeTVSrf(const TrivTVStruct *TV,
                                       const CagdSrfStruct *Srf)
TrivTVStruct *TrivBzrTVDegreeRaise(const TrivTVStruct *TV, TrivTVDirType Dir)
    TrivTVStruct *TrivBzrTVDerive(const TrivTVStruct *TV,
                                  TrivTVDirType Dir,
                                  CagdBType DeriveScalar)
TrivTVStruct *TrivBzrTVDeriveScalar(const TrivTVStruct *TV, TrivTVDirType Dir)
    TrivTVStruct *TrivBzrTVNew(int ULength,
                               int VLength,
                               int WLength,
                               CagdPointType PType)
TrivTVStruct *TrivCnvrtBsp2BzrTV(const TrivTVStruct *TV)
TrivTVStruct *TrivCnvrtBzr2BspTV(const TrivTVStruct *TV)
    TrivTVStruct *TrivCnvrtCrvToTV(const CagdCrvStruct *Crv,
                                   TrivTVDirType Dir)
TrivTVStruct *TrivCnvrtFloat2OpenTV(const TrivTVStruct *TV)
TrivTVStruct *TrivCnvrtPeriodic2FloatTV(const TrivTVStruct *TV)
TrivTVStruct *TrivCnvrtSrfToTV(const CagdSrfStruct *Srf, TrivTVDirType Dir)
TrivTVStruct *TrivCoerceTVTo(const TrivTVStruct *TV, CagdPointType PType)
TrivTVStruct *TrivCoerceTVsTo(const TrivTVStruct *TV, CagdPointType PType)
    IPObjectStruct *TrivComposeOneObjectInTVBzr(const IPObjectStruct *PObj,
                                                const TrivTVStruct *DeformTV)
    CagdCrvStruct *TrivComposeTVCrv(const TrivTVStruct *TV,
                                    const CagdCrvStruct *Crv)
    CagdSrfStruct *TrivComposeTVSrf(const TrivTVStruct *TV,
                                    const CagdSrfStruct *Srf)
    TrivTVStruct *TrivComposeTVTV(const TrivTVStruct *TV1,
                                  const TrivTVStruct *TV2)
    IPObjectStruct *TrivComposeTileObjectInTV(const IPObjectStruct *PObj,
                                              const TrivTVStruct *DeformTV,
                                              IrtRType UTimes,
                                              IrtRType VTimes,
                                              IrtRType WTimes,
                                              int FitObj,
                                              IrtRType CropBoundaries)
    IPObjectStruct *TrivComposeTileObjectInTVBzr(const IPObjectStruct *PObj,
                                                 const TrivTVStruct *DeformTV,
                                                 IrtRType UTimes,
                                                 IrtRType VTimes,
                                                 IrtRType WTimes,
                                                 int FitObj)
    CagdCrvStruct *TrivCoverIsoSurfaceUsingStrokes(TrivTVStruct *CTV,
                                                   int NumStrokes,
                                                   int StrokeType,
                                                   CagdPType MinMaxPwrLen,
                                                   CagdRType StepSize,
                                                   CagdRType IsoVal,
                                                   CagdVType ViewDir)
void TrivDbg(const void *Obj)
void TrivDbgDsp(const void *Obj)
const char *TrivDescribeError(TrivFatalErrorType ErrorNum)
    TrivTVStruct *TrivEditSingleTVPt(const TrivTVStruct *TV,
                                     CagdCtlPtStruct *CtlPt,
                                     int UIndex,
                                     int VIndex,
                                     int WIndex,
                                     CagdBType Write)
    CagdBType TrivEvalCurvature(TrivTVCurvEvalGenInfoStruct *TrivTVCurvature,
                                CagdPType Pos,
                                CagdRType *PCurv1,
                                CagdRType *PCurv2,
                                CagdVType PDir1,
                                CagdVType PDir2)
    CagdBType TrivEvalGradient(TrivTVCurvEvalGenInfoStruct *TrivTVCurvature,
                               CagdPType Pos, CagdVType Gradient)
    CagdBType TrivEvalHessian(TrivTVCurvEvalGenInfoStruct
                                  *TrivTVCurvature,
                              CagdPType Pos, CagdVType Hessian[3])
void TrivEvalTVCurvaturePostlude(TrivTVCurvEvalGenInfoStruct *TrivTVCurvature)
TrivTVCurvEvalGenInfoStruct *TrivEvalTVCurvaturePrelude(const TrivTVStruct *TV)
CagdSrfStruct *TrivExtractSleeveSrf(const TrivTVStruct *TV)
TrivTVStruct *TrivExtrudeTV(const CagdSrfStruct *Srf, const CagdVecStruct *Vec)
    TrivTVStruct *TrivExtrudeTV2(const CagdSrfStruct *Srf,
                                 const CagdCrvStruct *Crv)
    void TrivFFDCtlMeshUsingTV(CagdRType **Points,
                               int Length,
                               CagdPointType PType,
                               const TrivTVStruct *DeformTV)
    IPObjectStruct *TrivFFDObjectTV(IPObjectStruct *PObj,
                                    const TrivTVStruct *DeformTV)
    int TrivFFDTileCropBndries(IPObjectStruct *BndryTiles[3][3][3],
                               const IPObjectStruct *Tile,
                               IrtHmgnMatType Mat,
                               IrtRType CropBoundaries)
void TrivFFDTileFreeBndries(IPObjectStruct *BndryTiles[3][3][3])
    IPObjectStruct *TrivFFDTileObjectInTV(const IPObjectStruct *PObj,
                                          const TrivTVStruct *DeformTV,
                                          IrtRType UTimes,
                                          IrtRType VTimes,
                                          IrtRType WTimes,
                                          int FitObj,
                                          IrtRType CropBoundaries,
                                          IrtRType MaxEdgeLen)
void TrivFatalError(TrivFatalErrorType ErrID)
void TrivFreeInverseQueries(struct TrivInverseQueryStruct *Handle)
    int TrivIGAAddBoundaryFace(TrivIGAArrangementID ArgmntID,
                               const TrivTVStruct *TV,
                               TrivTVBndryType Boundary,
                               TrivIGANodeBoundaryType NodeBoundary,
                               const char *BoundaryAxisConditions,
                               CagdRType Value)
    int TrivIGAAddBoundaryFace2(TrivIGAArrangementID ArgmntID,
                                const TrivTVStruct *TV,
                                TrivTVBndryType BoundaryType,
                                TrivIGANodeBoundaryType NodeBoundaryType,
                                const char *BoundaryAxisConditions,
                                CagdRType Value)
    int TrivIGAAddBoundaryFaceByPt(TrivIGAArrangementID ArgmntID,
                                   const TrivTVStruct *TV,
                                   const CagdPType Pt,
                                   TrivIGANodeBoundaryType NodeBoundary,
                                   const char *BoundaryAxisConditions,
                                   CagdRType Value)
    int TrivIGAAddBoundaryNode(TrivIGAArrangementID ArgmntID,
                               TrivIGATVID TV,
                               int CtrlPointIndex)
    TrivIGAMaterialID TrivIGAAddMaterial(TrivIGAArrangementID ArgmntID,
                                         TrivIGAMaterialStruct *Material)
    TrivIGATVID TrivIGAAddTrivar(TrivIGAArrangementID ArgmntID,
                                 const TrivTVStruct *TV,
                                 int ID)
    static TrivTVStruct *TrivIGAApplyDomainAndSeeding(TrivIGAArrangementID ArgmntID,
                                                      TrivTVStruct *TV)
int TrivIGAArrangementComplete(TrivIGAArrangementID ArgmntID)
    TrivIGATVID TrivIGADataManagerAddTrivariate(TrivIGAArrangementID ArgmntID,
                                                TrivTVStruct *TV,
                                                int ID)
    TrivIGAArrangementID TrivIGADataManagerAllocateArrangement(
                                                           TrivIGADataManager *DM)
int TrivIGADataManagerFreeArrangement(TrivIGAArrangementID ArrngmntID)
    TrivIGAArrangementStruct *TrivIGADataManagerGetArrangement(
                                                  TrivIGAArrangementID ArrngmntID)
    TrivIGAArrangementID TrivIGADataManagerGetArrangementID(
                                                     TrivIGAArrangementStruct *H)
TrivIGATVStruct *TrivIGADataManagerGetIGATrivariate(TrivIGATVID TVID)
TrivIGATVID TrivIGADataManagerGetTrivID(const TrivTVStruct *TV)
TrivTVStruct *TrivIGADataManagerGetTrivariate(TrivIGATVID TVID)
const char *TrivIGADescribeError(TrivIGAErrorType ErrorNum)
    int TrivIGAExportToXML(TrivIGAArrangementID ArgmntID,
                           const char *FileName,
                           const char *TemplateFileName)
    TrivIGATVID TrivIGAExtrudeTV(TrivIGAArrangementID ArgmntID,
                                 const CagdSrfStruct *Srf,
                                 const IrtVecType Vec,
                                 int ID)
    TrivIGATVID TrivIGAExtrudeTV2(TrivIGAArrangementID ArgmntID,
                                  const CagdSrfStruct *Srf,
                                  const CagdCrvStruct *Crv,
                                  int ID)
int TrivIGAFreeArrangement(TrivIGAArrangementID ArgmntID)
    void TrivIGAGenNeighboringConstraints(TrivIGAArrangementID ArgmntID,
                                          void *CallbackData,
                                          TrivIGANeighboringConstraintCallBackType
                                                    NeighboringConstraintCallBack)
TrivIGATVID *TrivIGAGetAllTVs(TrivIGAArrangementID ArgmntID)
    int *TrivIGAGetBoundaryFaceByPtToData(TrivIGAArrangementID ArgmntID,
                                          const TrivTVStruct *TV,
                                          const CagdPType Pt,
                                          int *ReturnedIDs)
    TrivIGACtrlPtStruct *TrivIGAGetBzrElementCtrlPts(
                                             TrivIGAArrangementID ArgmntID,
                                             const TrivTVStruct *TV,
                                             int IndexU,
                                             int IndexV,
                                             int IndexW)
    CagdCtlPtStruct *TrivIGAGetCtlPt(TrivIGAArrangementID ArgmntID,
                                     int CtlPtID,
                                     CagdCtlPtStruct *CtlPt)
    int *TrivIGAGetCtlPtIDRange(TrivIGAArrangementID ArgmntID,
                                const TrivTVStruct *TV,
                                int *IDs)
    int *TrivIGAGetEdgeNeighboringTVs(TrivIGAArrangementID ArgmntID,
                                      const TrivTVStruct *TV)
    int TrivIGAGetFaceNeighboringTVs(TrivIGAArrangementID ArgmntID,
                                     const TrivTVStruct *TV,
                                     TrivIGAAdjacencyInfoStruct *AdjInfo)
int *TrivIGAGetGlblMaxIDs(TrivIGAArrangementID ArgmntID, int *IDs)
    const CagdRType *TrivIGAGetKnotInterval(TrivIGAArrangementID ArgmntID,
                                            const TrivTVStruct *TV,
                                            TrivTVDirType Dir,
                                            int BzrIntervalIndex)
    TrivIGAErrorType TrivIGAGetLastError(TrivIGAArrangementID ArgmntID,
                                         int Reset)
    TrivIGAMaterialID TrivIGAGetMaterial(TrivIGAArrangementID ArgmntID,
                                         TrivIGATVID TVID)
    int TrivIGAGetNumBzrElements(TrivIGAArrangementID ArgmntID,
                                 const TrivTVStruct *TV,
                                 int *NumU,
                                 int *NumV,
                                 int *NumW)
TrivTVStruct *TrivIGAGetTV(TrivIGAArrangementID ArgmntID, TrivIGATVID TVID)
int *TrivIGAGetTVCtlPtsIndices(TrivIGAArrangementID ArgmntID, TrivIGATVID TVID)
    CagdSrfStruct *TrivIGAGetTVFaceAsSrf(TrivIGAArrangementID ArgmntID,
                                         TrivIGATVID TVID,
                                         int FaceID)
    int *TrivIGAGetTVFaceCtlPtsIDs(TrivIGAArrangementID ArgmntID,
                                   TrivIGATVID TVID,
                                   int FaceID)
    int *TrivIGAGetVrtxNeighboringTVs(TrivIGAArrangementID ArgmntID,
                                      const TrivTVStruct *TV)
    int TrivIGALoadMaterialFromXML(TrivIGAArrangementID ArgmntID,
                                   const char *FileName)
    int TrivIGALoadMaterialXML(const char *FileName,
                               TrivIGAMaterialStruct **Materials,
                               int *NumMaterials)
int TrivIGANewArrangement(TrivIGAArrangementID *NewArgmntID)
    int TrivIGANewField(TrivIGAArrangementID ArgmntID,
                        const char *FieldAttributes)
    TrivIGAMaterialID TrivIGANewMaterial(TrivIGAArrangementID ArgmntID,
                                         const char *MaterialStr)
TrivIGATVStruct *TrivIGANewTV(TrivIGAArrangementID ArgmntID, TrivTVStruct *TV)
TrivIGAMaterialStruct *TrivIGAParseMaterial(const char *MaterialStr)
    int TrivIGAPrintTVContent(TrivIGAArrangementID ArgmntID,
                              const TrivTVStruct *TV)
    int TrivIGASetCtrlPtsPositions(TrivIGAArrangementID ArgmntID,
                                   int NumCtrlPts,
                                   const TrivIGACtrlPtStruct *Vals)
    int TrivIGASetDefaultDomain(TrivIGAArrangementID ArgmntID,
                                TrivTVDirType Dir,
                                CagdRType Min,
                                CagdRType Max)
    int TrivIGASetDefaultSeeding(TrivIGAArrangementID ArgmntID,
                                 TrivTVDirType Dir,
                                 CagdRType Alpha,
                                 int NumIntervals)
    TrivIGATVStruct *TrivIGATDegreeRaise(TrivIGAArrangementID ArgmntID,
                                         TrivIGATVID TVID,
                                         TrivTVDirType Dir)
    CagdRType *TrivIGATVEvalBasis(TrivIGAArrangementID ArgmntID,
                                  const TrivTVStruct *TV,
                                  TrivIGAEvalType EvalType,
                                  TrivTVDirType Dir,
                                  int Index,
                                  CagdRType t,
                                  CagdRType *Basis)
    const TrivIGACtrlPtStruct *TrivIGATVEvalToData(TrivIGAArrangementID ArgmntID,
                                                   const TrivTVStruct *TV,
                                                   TrivIGAEvalType EvalType,
                                                   int IndexU,
                                                   int IndexV,
                                                   int IndexW,
                                                   CagdRType U,
                                                   CagdRType V,
                                                   CagdRType W,
                                                   TrivIGACtrlPtStruct *CtlPt)
    TrivIGATVID TrivIGATVFromSurfaces(TrivIGAArrangementID ArgmntID,
                                      const CagdSrfStruct *SrfList,
                                      int OtherOrder,
                                      CagdBType IsInterpolating,
                                      int ID)
    TrivIGATVID TrivIGATVFromSurfaces2(TrivIGAArrangementID ArgmntID,
                                       const CagdSrfStruct *Srf,
                                       IrtHmgnMatType Transforms[],
                                       int NumTransforms,
                                       unsigned int OtherOrder,
                                       CagdBType IsInterpolating,
                                       int ID)
    TrivIGATVStruct *TrivIGATVRefine(TrivIGAArrangementID ArgmntID,
                                     TrivIGATVID TVID,
                                     TrivTVDirType Dir,
                                     CagdRType t)
    TrivIGATVID TrivIGATVofRevol(TrivIGAArrangementID ArgmntID,
                                 const CagdSrfStruct *Srf,
                                 const IrtPtType AxisPoint,
                                 const IrtVecType AxisVector,
                                 CagdRType StartAngle,
                                 CagdRType EndAngle,
                                 CagdBType IsRational,
                                 int ID)
    int TrivIGAUpdateCtrlPtsPositions(TrivIGAArrangementID ArgmntID,
                                      int NumCtrlPts,
                                      const TrivIGACtrlPtStruct *DeltaVals)
    TrivIGATVStruct *TrivIGAUpdateTV(TrivIGAArrangementID ArgmntID,
                                     TrivTVStruct *ExistingTV,
                                     TrivTVStruct *NewTV)
    int TrivIgaGenOneFaceNeighboringConstraints(
                                         TrivIGAArrangementID ArgmntID,
                                         TrivIGANeighboringConstraintCallBackType
                                                   NeighboringConstraintCallBack,
                                         const TrivTVStruct *TV1,
                                         int FaceID1,
                                         const TrivTVStruct *TV2,
                                         int FaceID2,
                                         void *CallbackData)
TrivTVStruct *TrivInterpTrivar(const TrivTVStruct *TV)
    int TrivInverseQuery(struct TrivInverseQueryStruct *Handle,
                         const CagdRType *XYZPos,
                         CagdRType *UVWParams,
                         int InitialGuess)
int TrivInverseQueryPolys(IPObjectStruct *PlObj, const TrivTVStruct *TV)
CagdBType TrivIsTVClosed(const TrivTVStruct *TV, int Dim)
    TrivTVStruct *TrivLoadVolumeIntoTV(const char *FileName,
                                       int DataType,
                                       IrtVecType VolSize,
                                       IrtVecType Orders)
TrivTVStruct *TrivMakeTVArrngmntCompatible(const TrivTVStruct *TVList)
    CagdBType TrivMakeTVsCompatible(TrivTVStruct **TV1,
                                    TrivTVStruct **TV2,
                                    CagdBType SameUOrder,
                                    CagdBType SameVOrder,
                                    CagdBType SameWOrder,
                                    CagdBType SameUKV,
                                    CagdBType SameVKV,
                                    CagdBType SameWKV)
int TrivMakeTVsCompatibleDomain(const TrivTVStruct *TV1, TrivTVStruct **TV2)
    TrivTVStruct *TrivMergeTVTV(const TrivTVStruct *CTV1,
                                const TrivTVStruct *CTV2,
                                TrivTVDirType Dir,
                                CagdBType Discont)
    TrivTVStruct *TrivNSPrimBox(CagdRType MinX,
                                CagdRType MinY,
                                CagdRType MinZ,
                                CagdRType MaxX,
                                CagdRType MaxY,
                                CagdRType MaxZ)
    TrivTVStruct *TrivNSPrimCone(const CagdVType Center,
                                 CagdRType Radius,
                                 CagdRType Height,
                                 CagdBType Rational,
                                 CagdRType InternalCubeSize)
    TrivTVStruct *TrivNSPrimCone2(const CagdVType Center,
                                  CagdRType MajorRadius,
                                  CagdRType MinorRadius,
                                  CagdRType Height,
                                  CagdBType Rational,
                                  CagdRType InternalCubeSize)
    TrivTVStruct *TrivNSPrimCylinder(const CagdVType Center,
                                     CagdRType Radius,
                                     CagdRType Height,
                                     CagdBType Rational,
                                     CagdRType InternalCubeSize)
    TrivTVStruct *TrivNSPrimGenBox(const CagdPType P000,
                                   const CagdPType P001,
                                   const CagdPType P010,
                                   const CagdPType P011,
                                   const CagdPType P100,
                                   const CagdPType P101,
                                   const CagdPType P110,
                                   const CagdPType P111)
    TrivTVStruct *TrivNSPrimSphere(const CagdVType Center,
                                   CagdRType Radius,
                                   CagdBType Rational,
                                   CagdRType InternalCubeSize)
    TrivTVStruct *TrivNSPrimTorus(const CagdVType Center,
                                  CagdRType MajorRadius,
                                  CagdRType MinorRadius,
                                  CagdBType Rational,
                                  CagdRType InternalCubeSize)
    CagdBType TrivParamInDomain(const TrivTVStruct *TV,
                                CagdRType t,
                                TrivTVDirType Dir)
    CagdBType TrivParamsInDomain(const TrivTVStruct *TV,
                                 CagdRType u,
                                 CagdRType v,
                                 CagdRType w)
    int TrivPlaneFrom4Points(const TrivP4DType Pt1,
                             const TrivP4DType Pt2,
                             const TrivP4DType Pt3,
                             const TrivP4DType Pt4,
                             TrivPln4DType Plane)
    struct TrivInverseQueryStruct *TrivPrepInverseQueries(const TrivTVStruct
                                                                         *Trivar)
    TrivTVStruct *TrivPrimCone(const CagdVType Center,
                               CagdRType Radius,
                               CagdRType Height,
                               CagdBType Rational)
    TrivTVStruct *TrivPrimCone2(const CagdVType Center,
                                CagdRType MajorRadius,
                                CagdRType MinorRadius,
                                CagdRType Height,
                                CagdBType Rational)
    TrivTVStruct *TrivPrimCylinder(const CagdVType Center,
                                   CagdRType Radius,
                                   CagdRType Height,
                                   CagdBType Rational)
    TrivTVStruct *TrivPrimSphere(const CagdVType Center,
                                 CagdRType Radius,
                                 CagdBType Rational)
    TrivTVStruct *TrivPrimSphere2(const CagdVType Center,
                                  CagdRType Radius,
                                  CagdBType Rational)
    TrivTVStruct *TrivPrimTorus(const CagdVType Center,
                                CagdRType MajorRadius,
                                CagdRType MinorRadius,
                                CagdBType Rational)
    TrivTVStruct *TrivPwrTVNew(int ULength,
                               int VLength,
                               int WLength,
                               CagdPointType PType)
    TrivTVStruct *TrivRuledTV(const CagdSrfStruct *CSrf1,
                              const CagdSrfStruct *CSrf2,
                              int OtherOrder,
                              int OtherLen)
TrivSetErrorFuncType TrivSetFatalErrorFunc(TrivSetErrorFuncType ErrorFunc)
CagdRType TrivSrfArea(const CagdSrfStruct *Srf, CagdBType VolType)
    CagdSrfStruct *TrivSrfFromMesh(const TrivTVStruct *TV,
                                   int Index,
                                   TrivTVDirType Dir)
    CagdSrfStruct *TrivSrfFromTV(const TrivTVStruct *TV,
                                 CagdRType t,
                                 TrivTVDirType Dir,
                                 int OrientBoundary)
    void TrivSrfToMesh(const CagdSrfStruct *Srf,
                       int Index,
                       TrivTVDirType Dir,
                       TrivTVStruct *TV)
    TrivTVStruct *TrivSweepTV(const CagdSrfStruct *CrossSection,
                              const CagdCrvStruct *Axis,
                              const CagdCrvStruct *ScalingCrv,
                              CagdRType Scale,
                              const VoidPtr Frame,
                              int FrameOption)
    TrivTVStruct *TrivSweepTVC1(const CagdSrfStruct *CrossSection,
                                const CagdCrvStruct *Axis,
                                const CagdCrvStruct *ScalingCrv,
                                CagdRType Scale,
                                const VoidPtr Frame,
                                int FrameOption,
                                CagdCrvCornerType CornerType,
                                CagdRType C1DiscontCropTol)
    CagdSrfStruct *TrivSweepTVError(const TrivTVStruct *SweepTV,
                                    const CagdSrfStruct *CrossSection,
                                    const CagdCrvStruct *Axis,
                                    const CagdCrvStruct *ScalingCrv,
                                    CagdRType Scale)
    TrivTVStruct *TrivSwungAlgSumTV(const CagdCrvStruct *Crv,
                                    const CagdSrfStruct *Srf)
CagdPolylineStruct *TrivTV2CtrlMesh(const TrivTVStruct *Trivar)
TrivTVStruct *TrivTVAdd(const TrivTVStruct *TV1, const TrivTVStruct *TV2)
CagdBBoxStruct *TrivTVBBox(const TrivTVStruct *TV, CagdBBoxStruct *BBox)
void TrivTVBlockEvalDone(TrivTVBlockEvalGenInfoStruct *TVBlock)
    TrivTVBlockEvalGenInfoStruct *TrivTVBlockEvalInit(CagdRType *UKnotVector,
                                                      CagdRType *VKnotVector,
                                                      CagdRType *WKnotVector,
                                                      int Lengths[3],
                                                      int Orders[3],
                                                      int BlockSizes[3],
                                                      CagdPType *Params,
                                                      int NumOfParams[3])
    TrivTVBlockEvalStruct *TrivTVBlockEvalOnce(
                                            TrivTVBlockEvalGenInfoStruct *TVBlock,
                                            int i,
                                            int j,
                                            int k)
    void TrivTVBlockEvalSetMesh(TrivTVBlockEvalGenInfoStruct *TVBlock,
                                CagdPType *Mesh)
    TrivTVStruct *TrivTVBlossomDegreeRaise(const TrivTVStruct *TV,
                                           TrivTVDirType Dir)
    TrivTVStruct *TrivTVBlossomDegreeRaiseN(const TrivTVStruct *TV,
                                            int NewUOrder,
                                            int NewVOrder,
                                            int NewWOrder)
TrivTVStruct *TrivTVCopy(const TrivTVStruct *TV)
TrivTVStruct *TrivTVCopyList(const TrivTVStruct *TVList)
TrivTVStruct *TrivTVCrossProd(const TrivTVStruct *TV1, const TrivTVStruct *TV2)
TrivTVStruct *TrivTVDegreeRaise(const TrivTVStruct *TV, TrivTVDirType Dir)
    TrivTVStruct *TrivTVDegreeRaiseN(const TrivTVStruct *TV,
                                     TrivTVDirType Dir,
                                     int NewOrder)
TrivTVStruct *TrivTVDerive(const TrivTVStruct *TV, TrivTVDirType Dir)
TrivTVStruct *TrivTVDeriveScalar(const TrivTVStruct *TV, TrivTVDirType Dir)
    void TrivTVDomain(const TrivTVStruct *TV,
                      CagdRType *UMin,
                      CagdRType *UMax,
                      CagdRType *VMin,
                      CagdRType *VMax,
                      CagdRType *WMin,
                      CagdRType *WMax)
TrivTVStruct *TrivTVDotProd(const TrivTVStruct *TV1, const TrivTVStruct *TV2)
    CagdRType *TrivTVEval2Malloc(const TrivTVStruct *TV,
                                 CagdRType u,
                                 CagdRType v,
                                 CagdRType w)
    void TrivTVEval2ToData(const TrivTVStruct *TV,
                           CagdRType u,
                           CagdRType v,
                           CagdRType w,
                           CagdRType *Pt)
    CagdRType TrivTVEvalJacobian(const TrivTVStruct *TV,
                                 CagdRType u,
                                 CagdRType v,
                                 CagdRType w)
    CagdRType *TrivTVEvalMalloc(const TrivTVStruct *TV,
                                CagdRType u,
                                CagdRType v,
                                CagdRType w)
    void TrivTVEvalToData(const TrivTVStruct *TV,
                          CagdRType u,
                          CagdRType v,
                          CagdRType w,
                          CagdRType *Pt)
    void TrivTVEvalToDataOld(const TrivTVStruct *TV,
                             CagdRType u,
                             CagdRType v,
                             CagdRType w,
                             CagdRType *Pt)
    TrivTVStruct *TrivTVFillet(const CagdSrfStruct *Srf1List,
                               const CagdSrfStruct *Srf2List,
                               CagdRType RailDist,
                               int R1Orient,
                               int R2Orient,
                               CagdRType TanScale,
                               int ApproxCrvsCtlPts,
                               CagdRType Tol,
                               CagdRType NumerTol,
                               TrivFilletingMethodType FilletingMethod,
                               CagdBType PreciseFillet,
                               CagdSrfStruct **PrimSrfs1,
                               CagdSrfStruct **PrimSrfs2)
void TrivTVFree(TrivTVStruct *TV)
void TrivTVFreeList(TrivTVStruct *TVList)
    TrivTVStruct *TrivTVFromSrfs(const CagdSrfStruct *SrfList,
                                 int OtherOrder,
                                 CagdEndConditionType OtherEC,
                                 IrtRType *OtherParamVals)
    void TrivTVGenAdjacencyInfo(TrivTVStruct *TVList,
                                TrivTVAdjSrfCmpFuncType SrfCmpFuncPtr,
                                CagdRType SrfGapTol,
                                CagdBType MarkUVWBndry)
    void TrivTVGenAdjacencyInfo2(TrivTVStruct **TVVec,
                                 int NumTVs,
                                 TrivTVAdjSrfCmpFuncType SrfCmpFuncPtr,
                                 CagdRType SrfGapTol,
                                 CagdBType MarkUVWBndry)
    TrivTVStruct *TrivTVInterpPts(const TrivTVStruct *PtGrid,
                                  int UOrder,
                                  int VOrder,
                                  int WOrder,
                                  int TVUSize,
                                  int TVVSize,
                                  int TVWSize)
    TrivTVStruct *TrivTVInterpScatPts(const CagdCtlPtStruct *PtList,
                                      int USize,
                                      int VSize,
                                      int WSize,
                                      int UOrder,
                                      int VOrder,
                                      int WOrder,
                                      CagdRType *UKV,
                                      CagdRType *VKV,
                                      CagdRType *WKV)
    TrivTVStruct *TrivTVInterpolate(const TrivTVStruct *PtGrid,
                                    int ULength,
                                    int VLength,
                                    int WLength,
                                    int UOrder,
                                    int VOrder,
                                    int WOrder)
    TrivTVStruct *TrivTVInterpolateSrfs(const CagdSrfStruct *SrfList,
                                        int OtherOrder,
                                        CagdEndConditionType OtherEC,
                                        CagdParametrizationType OtherParam,
                                        IrtRType *OtherParamVals)
CagdRType *TrivTVInterpolateSrfsChordLenParams(const CagdSrfStruct *SrfList)
TrivTVStruct *TrivTVInvert(const TrivTVStruct *TV)
    CagdBType TrivTVIsMeshC0DiscontAt(const TrivTVStruct *TV,
                                      int Dir,
                                      CagdRType t)
    CagdBType TrivTVIsMeshC1DiscontAt(const TrivTVStruct *TV,
                                      int Dir,
                                      CagdRType t)
    CagdBType TrivTVKnotHasC0Discont(const TrivTVStruct *TV,
                                     TrivTVDirType *Dir,
                                     CagdRType *t)
    CagdBType TrivTVKnotHasC1Discont(const TrivTVStruct *TV,
                                     TrivTVDirType *Dir,
                                     CagdRType *t)
CagdBBoxStruct *TrivTVListBBox(const TrivTVStruct *TVs, CagdBBoxStruct *BBox)
TrivTVStruct *TrivTVListMatTransform(const TrivTVStruct *TVs, CagdMType Mat)
TrivTVStruct *TrivTVMatTransform(const TrivTVStruct *TV, CagdMType Mat)
void TrivTVMatTransform2(TrivTVStruct *TV, CagdMType Mat)
    TrivTVStruct *TrivTVMergeScalar(const TrivTVStruct *TVW,
                                    const TrivTVStruct *TVX,
                                    const TrivTVStruct *TVY,
                                    const TrivTVStruct *TVZ)
TrivTVStruct *TrivTVMergeScalarN(TrivTVStruct * const *TVVec, int NumTVs)
    CagdBType TrivTVMeshC0Continuous(const TrivTVStruct *TV,
                                     TrivTVDirType Dir,
                                     int Idx)
    CagdBType TrivTVMeshC1Continuous(const TrivTVStruct *TV,
                                     TrivTVDirType Dir,
                                     int Idx)
TrivTVStruct *TrivTVMult(const TrivTVStruct *TV1, const TrivTVStruct *TV2)
    CagdRType *TrivTVMultEval(CagdRType *UKnotVector,
                              CagdRType *VKnotVector,
                              CagdRType *WKnotVector,
                              int ULength,
                              int VLength,
                              int WLength,
                              int UOrder,
                              int VOrder,
                              int WOrder,
                              CagdPType *Mesh,
                              CagdPType *Params,
                              int NumOfParams,
                              int *RetSize,
                              CagdBspBasisFuncMultEvalType EvalType)
    TrivTVStruct *TrivTVMultScalar(const TrivTVStruct *TV1,
                                   const TrivTVStruct *TV2)
    TrivTVStruct *TrivTVNew(TrivGeomType GType,
                            CagdPointType PType,
                            int ULength,
                            int VLength,
                            int WLength)
TrivTVStruct *TrivTVOfRev(const CagdSrfStruct *Srf)
    TrivTVStruct *TrivTVOfRev2(const CagdSrfStruct *Srf,
                               CagdBType PolyApprox,
                               CagdRType StartAngle,
                               CagdRType EndAngle)
    TrivTVStruct *TrivTVOfRevAxis(const CagdSrfStruct *Srf,
                                  const TrivV4DType AxisPoint,
                                  const TrivV4DType AxisVector,
                                  CagdBType PolyApprox)
TrivTVStruct *TrivTVOfRevPolynomialApprox(const CagdSrfStruct *Srf)
TrivTVStruct *TrivTVOpenEnd(const TrivTVStruct *TV)
CagdBType TrivTVPointInclusion(TrivTVStruct *TV, const IrtPtType Pt)
void TrivTVPointInclusionFree(TrivTVStruct *TV)
void TrivTVPointInclusionPrep(TrivTVStruct *TV, int n)
    TrivTVStruct *TrivTVRefineAtParams(const TrivTVStruct *TV,
                                       TrivTVDirType Dir,
                                       CagdBType Replace,
                                       CagdRType *t,
                                       int n)
    TrivTVStruct *TrivTVRegionFromTV(const TrivTVStruct *TV,
                                     CagdRType t1,
                                     CagdRType t2,
                                     TrivTVDirType Dir)
    TrivTVStruct *TrivTVReverse2Dirs(const TrivTVStruct *TV,
                                     TrivTVDirType Dir1,
                                     TrivTVDirType Dir2)
TrivTVStruct *TrivTVReverseDir(const TrivTVStruct *TV, TrivTVDirType Dir)
    TrivTVStruct *TrivTVRtnlMult(const TrivTVStruct *TV1X,
                                 const TrivTVStruct *TV1W,
                                 const TrivTVStruct *TV2X,
                                 const TrivTVStruct *TV2W,
                                 CagdBType OperationAdd)
    TrivTVStruct *TrivTVSetDomain(TrivTVStruct *TV,
                                  CagdRType UMin,
                                  CagdRType UMax,
                                  CagdRType VMin,
                                  CagdRType VMax,
                                  CagdRType WMin,
                                  CagdRType WMax)
    TrivTVStruct *TrivTVSetDomain2(TrivTVStruct *TV,
                                   CagdRType Min,
                                   CagdRType Max,
                                   TrivTVDirType Dir)
    void TrivTVSplitScalar(const TrivTVStruct *TV,
                           TrivTVStruct **TVW,
                           TrivTVStruct **TVX,
                           TrivTVStruct **TVY,
                           TrivTVStruct **TVZ)
    TrivTVStruct **TrivTVSplitScalarNToData(const TrivTVStruct *TV,
                                            TrivTVStruct **TVs)
TrivTVStruct *TrivTVSub(const TrivTVStruct *TV1, const TrivTVStruct *TV2)
TrivTVStruct *TrivTVSubdivAtAllC0Discont(const TrivTVStruct *TV)
TrivTVStruct *TrivTVSubdivAtAllC1Discont(const TrivTVStruct *TV)
    TrivTVStruct *TrivTVSubdivAtParam(const TrivTVStruct *TV,
                                      CagdRType t,
                                      TrivTVDirType Dir)
    void TrivTVTransform(TrivTVStruct *TV,
                         const CagdRType *Translate,
                         CagdRType Scale)
TrivTVStruct *TrivTVVecDotProd(const TrivTVStruct *TV, const CagdVType Vec)
CagdRType TrivTVVolume(const TrivTVStruct *TV, CagdBType VolType)
    CagdBType TrivTVsSame(const TrivTVStruct *Tv1,
                          const TrivTVStruct *Tv2,
                          CagdRType Eps)
TrivTVStruct *TrivTVsSubdivAtAllC0Discont(const TrivTVStruct *TVs)
TrivTVStruct *TrivTVsSubdivAtAllC1Discont(const TrivTVStruct *TVs)
    TrivTVStruct *TrivTVsSubdivAtAllDetectedLocations(const TrivTVStruct *TVs,
                                                      TrivTVTestingFuncType
                                                                     TVTestFunc)
TrivTriangleStruct *TrivTriangleCopy(const TrivTriangleStruct *Triangle)
    TrivTriangleStruct *TrivTriangleCopyList(const TrivTriangleStruct
                                                                    *TriangleList)
void TrivTriangleFree(TrivTriangleStruct *Triangle)
void TrivTriangleFreeList(TrivTriangleStruct *TriangleList)
TrivTriangleStruct *TrivTriangleNew(void)
    TrivTVStruct *TrivTrilinearSrf(const CagdPtStruct *Pt000,
                                   const CagdPtStruct *Pt001,
                                   const CagdPtStruct *Pt010,
                                   const CagdPtStruct *Pt011,
                                   const CagdPtStruct *Pt100,
                                   const CagdPtStruct *Pt101,
                                   const CagdPtStruct *Pt110,
                                   const CagdPtStruct *Pt111,
                                   CagdPointType PType)
    TrivTVStruct *TrivTwoTVsMorphing(const TrivTVStruct *TV1,
                                     const TrivTVStruct *TV2,
                                     CagdRType Blend)
    int TrivUpdateBndrySrfinTV(TrivTVStruct *TV,
                               const CagdSrfStruct *Srf,
                               TrivTVBndryType TVBndry)
    void TrivVectCross3Vecs(const TrivV4DType A,
                            const TrivV4DType B,
                            const TrivV4DType C,
                            TrivV4DType Res)
    TrivTVStruct *TrivZTwistExtrudeSrf(const CagdSrfStruct *Srf,
                                       CagdBType Rational,
                                       CagdRType ZPitch)