Data Structures | Defines | Functions

rbezintersd.c File Reference

#include <pthread.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include "pkvaria.h"
#include "pkgeom.h"
#include "pknum.h"
#include "multibs.h"
#include "raybez.h"
Include dependency graph for rbezintersd.c:

Data Structures

struct  rbiHyperDomaind
struct  pc_domain
struct  pci_key

Defines

#define MAX_LEVEL   32
#define EPS   1.0e-11
#define EPS_NT   1.0e-6
#define BALL_R   0.6
#define POINT_BUF_LENGTH   101
#define MAXIT   10
#define EPS   1.0e-10
#define AP_STACK_LENGTH   10
#define BALL   0.9
#define MAX_ITER   7
#define EPS   1.0e-10
#define TOL   5.0e-5
#define BALL   1.0
#define EPS   1.0e-9
#define STACK_LENGTH   32
#define EPS   0.01
#define DELTA   0.25

Functions

vector3d_rbi_GetRBezNVPatchd (RBezPatchTreedp tree, RBezPatchTreeVertexdp vertex)
double _rbi_AuxPCHdpRd (point4d *v, vector3d *w)
boolean _rbi_AuxPConvexHullTestRd (int k1, point4d *p1, int k2, point4d *p2, vector3d *w)
boolean _rbi_PatchConvexHullTestRd (int n1, int m1, point4d *p1, point3d *pcent1, vector3d *nvcent1, int n2, int m2, point4d *p2, point3d *pcent2, vector3d *nvcent2)
boolean _rbi_NormalTestRd (int vn1, int vm1, vector3d *nvcp1, vector3d *nv1, int vn2, int vm2, vector3d *nvcp2, vector3d *nv2)
boolean _rbi_ArcPointsTooFarRd (vector4d *p1, vector4d *p2, double epsilon2)
void _rbi_ComputeAFDFRd (RBezPatchTreedp tree1, RBezPatchTreedp tree2, vector4d *p, point3d *F, double *DF)
boolean _rbi_ImproveArcPointRd (RBezPatchTreedp tree1, RBezPatchTreedp tree2, vector4d *p)
int _rbi_ProcessTheArcRd (RBezPatchTreedp tree1, RBezPatchTreedp tree2, rbiHyperDomaind *hc, vector4d *ppar, double epsilon2, rbiArcOutd *outproc, void *usrptr)
void _rbi_ExtractCurveRd (int n, int m, point4d *pcp, int nc, int *cdeg, point4d *ccp)
boolean _rbi_PCConvexHullTestRd (RBezPatchTreedp ptree, RBezCurveTreedp ctree, pc_domain *ha)
int _rbi_PCHodogTestRd (RBezPatchTreedp ptree, RBezCurveTreedp ctree, pc_domain *ha, point3d *kk)
void _rbi_ComputeFDFRd (int n, int m, point4d *pcp, int d, point4d *ccp, point3d *x, point3d *F, double *DF)
boolean _rbi_PCNewtonRd (RBezPatchTreedp ptree, RBezCurveTreedp ctree, pc_domain *ha, point3d *x)
int _rbi_AssignPCIntersParamRd (RBezPatchTreedp ptree, RBezCurveTreedp ctree, pc_domain *ha, double t, point3d *x, point3d *kk, vector4d *ip)
void _rbi_IdentifySolutionsRd (vector4d *ppar, int *nppar)
void _rbi_FindRBezCurvePCentd (RBezCurveTreedp tree, RBezCurveTreeVertexdp vertex)
RBezCurveTreeVertexdp _rbi_GetRBezCurveLeftVertexd (RBezCurveTreedp tree, RBezCurveTreeVertexdp vertex)
RBezCurveTreeVertexdp _rbi_GetRBezCurveRightVertexd (RBezCurveTreedp tree, RBezCurveTreeVertexdp vertex)
boolean _rbi_DividePCDomainRd (RBezPatchTreedp ptree, RBezCurveTreedp ctree, pc_domain *ha, pc_domain *hb)
int _rbi_OtherSingularityRd (pci_key *pcii, RBezPatchTreedp ptree, RBezCurveTreedp ctree, pc_domain *hc, double tsing)
int _rbi_FindPCIntersRd (pci_key *pcii, int cdeg, point4d *ccp, int nc, int level, vector4d *ppar, int *nppar)
int _rbi_TryIntersArcRd (RBezPatchTreedp tree1, RBezPatchTreedp tree2, rbiHyperDomaind *hc, vector4d *ppar, int *singcurve)
int _rbi_FindIntersectionArcRd (RBezPatchTreedp tree1, RBezPatchTreedp tree2, rbiHyperDomaind *hc, double epsilon2, rbiArcOutd *outproc, void *usrptr)
boolean _rbi_DivideDomainRd (RBezPatchTreedp tree1, RBezPatchTreedp tree2, rbiHyperDomaind *hca, rbiHyperDomaind *hcb)
boolean rbi_FindRBezIntersectiond (int n1, int m1, point4d *p1, int n2, int m2, point4d *p2, double epsilon, byte maxlevel, rbiArcOutd *outproc, void *usrptr)

Define Documentation

#define AP_STACK_LENGTH   10
#define BALL   0.9
#define BALL   1.0
#define BALL_R   0.6
#define DELTA   0.25
#define EPS   0.01
#define EPS   1.0e-11
#define EPS   1.0e-10
#define EPS   1.0e-10
#define EPS   1.0e-9
#define EPS_NT   1.0e-6
#define MAX_ITER   7
#define MAX_LEVEL   32
#define MAXIT   10
#define POINT_BUF_LENGTH   101
#define STACK_LENGTH   32
#define TOL   5.0e-5

Function Documentation

boolean _rbi_ArcPointsTooFarRd ( vector4d p1,
vector4d p2,
double  epsilon2 
)
int _rbi_AssignPCIntersParamRd ( RBezPatchTreedp  ptree,
RBezCurveTreedp  ctree,
pc_domain ha,
double  t,
point3d x,
point3d kk,
vector4d ip 
)
double _rbi_AuxPCHdpRd ( point4d v,
vector3d w 
)
boolean _rbi_AuxPConvexHullTestRd ( int  k1,
point4d p1,
int  k2,
point4d p2,
vector3d w 
)
void _rbi_ComputeAFDFRd ( RBezPatchTreedp  tree1,
RBezPatchTreedp  tree2,
vector4d p,
point3d F,
double *  DF 
)
void _rbi_ComputeFDFRd ( int  n,
int  m,
point4d pcp,
int  d,
point4d ccp,
point3d x,
point3d F,
double *  DF 
)
boolean _rbi_DivideDomainRd ( RBezPatchTreedp  tree1,
RBezPatchTreedp  tree2,
rbiHyperDomaind hca,
rbiHyperDomaind hcb 
)
boolean _rbi_DividePCDomainRd ( RBezPatchTreedp  ptree,
RBezCurveTreedp  ctree,
pc_domain ha,
pc_domain hb 
)
void _rbi_ExtractCurveRd ( int  n,
int  m,
point4d pcp,
int  nc,
int *  cdeg,
point4d ccp 
)
int _rbi_FindIntersectionArcRd ( RBezPatchTreedp  tree1,
RBezPatchTreedp  tree2,
rbiHyperDomaind hc,
double  epsilon2,
rbiArcOutd outproc,
void *  usrptr 
)
int _rbi_FindPCIntersRd ( pci_key pcii,
int  cdeg,
point4d ccp,
int  nc,
int  level,
vector4d ppar,
int *  nppar 
)
void _rbi_FindRBezCurvePCentd ( RBezCurveTreedp  tree,
RBezCurveTreeVertexdp  vertex 
)
RBezCurveTreeVertexdp _rbi_GetRBezCurveLeftVertexd ( RBezCurveTreedp  tree,
RBezCurveTreeVertexdp  vertex 
)
RBezCurveTreeVertexdp _rbi_GetRBezCurveRightVertexd ( RBezCurveTreedp  tree,
RBezCurveTreeVertexdp  vertex 
)
vector3d* _rbi_GetRBezNVPatchd ( RBezPatchTreedp  tree,
RBezPatchTreeVertexdp  vertex 
)
void _rbi_IdentifySolutionsRd ( vector4d ppar,
int *  nppar 
)
boolean _rbi_ImproveArcPointRd ( RBezPatchTreedp  tree1,
RBezPatchTreedp  tree2,
vector4d p 
)
boolean _rbi_NormalTestRd ( int  vn1,
int  vm1,
vector3d nvcp1,
vector3d nv1,
int  vn2,
int  vm2,
vector3d nvcp2,
vector3d nv2 
)
int _rbi_OtherSingularityRd ( pci_key pcii,
RBezPatchTreedp  ptree,
RBezCurveTreedp  ctree,
pc_domain hc,
double  tsing 
)
boolean _rbi_PatchConvexHullTestRd ( int  n1,
int  m1,
point4d p1,
point3d pcent1,
vector3d nvcent1,
int  n2,
int  m2,
point4d p2,
point3d pcent2,
vector3d nvcent2 
)
boolean _rbi_PCConvexHullTestRd ( RBezPatchTreedp  ptree,
RBezCurveTreedp  ctree,
pc_domain ha 
)
int _rbi_PCHodogTestRd ( RBezPatchTreedp  ptree,
RBezCurveTreedp  ctree,
pc_domain ha,
point3d kk 
)
boolean _rbi_PCNewtonRd ( RBezPatchTreedp  ptree,
RBezCurveTreedp  ctree,
pc_domain ha,
point3d x 
)
int _rbi_ProcessTheArcRd ( RBezPatchTreedp  tree1,
RBezPatchTreedp  tree2,
rbiHyperDomaind hc,
vector4d ppar,
double  epsilon2,
rbiArcOutd outproc,
void *  usrptr 
)
int _rbi_TryIntersArcRd ( RBezPatchTreedp  tree1,
RBezPatchTreedp  tree2,
rbiHyperDomaind hc,
vector4d ppar,
int *  singcurve 
)
boolean rbi_FindRBezIntersectiond ( int  n1,
int  m1,
point4d p1,
int  n2,
int  m2,
point4d p2,
double  epsilon,
byte  maxlevel,
rbiArcOutd outproc,
void *  usrptr 
)