gCAD3D 2.40
ut_bez.c File Reference

Bezier-Curve - Utilityfunctions. More...

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "../ut/ut_geo.h"
#include "../ut/ut_math.h"
#include "../ut/func_types.h"

Macros

#define bcvtabSiz   100
 

Functions

int UT3D_pt_int2bcv (int *nxp, Point *xptab, int ptxMax, CurvBez *bcv1, CurvBez *bcv2, Memspc *memSeg1, double tol)
 
int UT3D_pt_intlnbcv (int *nxp, Point *xptab, int ptxMax, Line *ln, CurvBez *bcv, Memspc *memSeg1, double tol)
 
int UT3D_pt_intplbez (int *pNr, Point *pa, Plane *pln, CurvBez *bcv, Memspc *memSeg1, double tol)
 
int UT3D_pta_bez (int *ptNr, Point *pTab, CurvBez *bez, int ptMax, double tol)
 
int UT3D_bez_bsplseg (CurvBez *bcv, double segs, double sege, int numkn, double *kvtab, int numcp, Point *cptab)
 
int UT3D_bez_convcps_r1 (int *num, Point *ptab, double segs, int numkn, double *kvtab)
 
int UT3D_bez_convcps_r2 (Point *ptab, Point *cptab, int num1, Point *ptab1, double segs, double sege, int numkn, double *kvtab)
 
int UT3D_bez_subdiv (CurvBez *bcv1, CurvBez *bcv2, Memspc *memSeg1, CurvBez *bcv, double t)
 
int UT3D_bez_eval_Pt (Point *pt, CurvBez *bcv, double t)
 
int UT3D_bez_trabezm3 (CurvBez *bcvt, Memspc *memSeg1, CurvBez *bcv, Mat_4x3 mata)
 
int UT3D_bez_deriv1 (CurvBez *bcvd, Memspc *memSeg1, CurvBez *bcv)
 
int UT3D_pol_bez (Polynom3 *polbcv, Memspc *memSeg1, CurvBez *bcv)
 
int UT2D_bez_pol (CurvBez2 *bcv2, Memspc *memSeg1, Polynom1 *pol)
 
int UT2D_zeros_bez (int *nz, double *ztab, Memspc *memSeg1, CurvBez2 *bcv2, double tol)
 
int UT2D_bez_subdiv (CurvBez2 *bcv1, CurvBez2 *bcv2, Memspc *memSeg1, CurvBez2 *bcv, double t)
 
int UT3D_pt_projptbez (int *np, Point *ptab, double *ttab, Memspc *memSeg1, CurvBez *bcv, Point *pt)
 
int UT3D_bez_bspl__ (ObjGX *bezTab, Memspc *memSeg1, CurvBSpl *bspl)
 

Detailed Description

Bezier-Curve - Utilityfunctions.

=====================================================
List_functions_start:
UT3D_pt_projptbez project point onto Bezier curve
UT3D_pt_int2bcv intersect 2 Bezier curves
UT3D_pt_intlnbcv intersect line with Bezier curve
UT3D_pt_intplbez Intersect Plane / BezierCurve
UT3D_pta_bez make Polygon from Bezier-Curve
UT3D_bez_bspl__ Bezier curves <-- b-spline curve
UT3D_bez_bsplseg Bezier curve <-- b-spline curve segment
UT3D_bez_convcps_r1 convert control points by rule 1
UT3D_bez_convcps_r2 convert control points by rule 2
UT3D_bez_subdiv subdivide Bezier curve ("zerschneiden")
UT3D_bez_eval_Pt evaluate a Bezier curve point
UT3D_bez_trabezm3 transformation of a Bezier curve
UT3D_bez_deriv1 1. derivation Bezier curve <-- Bezier curve
UT3D_pol_bez x,y,z - polynomials <-- Bezier curve
UT2D_bez_pol 2D-Bezier curve <-- polynomial
UT2D_zeros_bez zeros of a 2D-Bezier curve (Nulldurchgaenge)
UT2D_bez_subdiv subdivide 2D-Bezier curve
List_functions_end:
=====================================================

Macro Definition Documentation

#define bcvtabSiz   100

Function Documentation

int UT3D_pt_int2bcv ( int *  nxp,
Point xptab,
int  ptxMax,
CurvBez bcv1,
CurvBez bcv2,
Memspc memSeg1,
double  tol 
)
int UT3D_pt_intlnbcv ( int *  nxp,
Point xptab,
int  ptxMax,
Line ln,
CurvBez bcv,
Memspc memSeg1,
double  tol 
)
int UT3D_pt_intplbez ( int *  pNr,
Point pa,
Plane pln,
CurvBez bcv,
Memspc memSeg1,
double  tol 
)
int UT3D_pta_bez ( int *  ptNr,
Point pTab,
CurvBez bez,
int  ptMax,
double  tol 
)
int UT3D_bez_bsplseg ( CurvBez bcv,
double  segs,
double  sege,
int  numkn,
double *  kvtab,
int  numcp,
Point cptab 
)
int UT3D_bez_convcps_r1 ( int *  num,
Point ptab,
double  segs,
int  numkn,
double *  kvtab 
)
int UT3D_bez_convcps_r2 ( Point ptab,
Point cptab,
int  num1,
Point ptab1,
double  segs,
double  sege,
int  numkn,
double *  kvtab 
)
int UT3D_bez_subdiv ( CurvBez bcv1,
CurvBez bcv2,
Memspc memSeg1,
CurvBez bcv,
double  t 
)
int UT3D_bez_eval_Pt ( Point pt,
CurvBez bcv,
double  t 
)
int UT3D_bez_trabezm3 ( CurvBez bcvt,
Memspc memSeg1,
CurvBez bcv,
Mat_4x3  mata 
)
int UT3D_bez_deriv1 ( CurvBez bcvd,
Memspc memSeg1,
CurvBez bcv 
)
int UT3D_pol_bez ( Polynom3 polbcv,
Memspc memSeg1,
CurvBez bcv 
)
int UT2D_bez_pol ( CurvBez2 bcv2,
Memspc memSeg1,
Polynom1 pol 
)
int UT2D_zeros_bez ( int *  nz,
double *  ztab,
Memspc memSeg1,
CurvBez2 bcv2,
double  tol 
)
int UT2D_bez_subdiv ( CurvBez2 bcv1,
CurvBez2 bcv2,
Memspc memSeg1,
CurvBez2 bcv,
double  t 
)
int UT3D_pt_projptbez ( int *  np,
Point ptab,
double *  ttab,
Memspc memSeg1,
CurvBez bcv,
Point pt 
)
int UT3D_bez_bspl__ ( ObjGX bezTab,
Memspc memSeg1,
CurvBSpl bspl 
)