Data Structures | Defines | Functions

rbezintersf.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 rbezintersf.c:

Data Structures

struct  rbiHyperDomainf
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

vector3f_rbi_GetRBezNVPatchf (RBezPatchTreefp tree, RBezPatchTreeVertexfp vertex)
float _rbi_AuxPCHdpRf (point4f *v, vector3f *w)
boolean _rbi_AuxPConvexHullTestRf (int k1, point4f *p1, int k2, point4f *p2, vector3f *w)
boolean _rbi_PatchConvexHullTestRf (int n1, int m1, point4f *p1, point3f *pcent1, vector3f *nvcent1, int n2, int m2, point4f *p2, point3f *pcent2, vector3f *nvcent2)
boolean _rbi_NormalTestRf (int vn1, int vm1, vector3f *nvcp1, vector3f *nv1, int vn2, int vm2, vector3f *nvcp2, vector3f *nv2)
boolean _rbi_ArcPointsTooFarRf (vector4f *p1, vector4f *p2, float epsilon2)
void _rbi_ComputeAFDFRf (RBezPatchTreefp tree1, RBezPatchTreefp tree2, vector4f *p, point3f *F, float *DF)
boolean _rbi_ImproveArcPointRf (RBezPatchTreefp tree1, RBezPatchTreefp tree2, vector4f *p)
int _rbi_ProcessTheArcRf (RBezPatchTreefp tree1, RBezPatchTreefp tree2, rbiHyperDomainf *hc, vector4f *ppar, float epsilon2, rbiArcOutf *outproc, void *usrptr)
void _rbi_ExtractCurveRf (int n, int m, point4f *pcp, int nc, int *cdeg, point4f *ccp)
boolean _rbi_PCConvexHullTestRf (RBezPatchTreefp ptree, RBezCurveTreefp ctree, pc_domain *ha)
int _rbi_PCHodogTestRf (RBezPatchTreefp ptree, RBezCurveTreefp ctree, pc_domain *ha, point3f *kk)
void _rbi_ComputeFDFRf (int n, int m, point4f *pcp, int d, point4f *ccp, point3f *x, point3f *F, float *DF)
boolean _rbi_PCNewtonRf (RBezPatchTreefp ptree, RBezCurveTreefp ctree, pc_domain *ha, point3f *x)
int _rbi_AssignPCIntersParamRf (RBezPatchTreefp ptree, RBezCurveTreefp ctree, pc_domain *ha, float t, point3f *x, point3f *kk, vector4f *ip)
void _rbi_IdentifySolutionsRf (vector4f *ppar, int *nppar)
void _rbi_FindRBezCurvePCentf (RBezCurveTreefp tree, RBezCurveTreeVertexfp vertex)
RBezCurveTreeVertexfp _rbi_GetRBezCurveLeftVertexf (RBezCurveTreefp tree, RBezCurveTreeVertexfp vertex)
RBezCurveTreeVertexfp _rbi_GetRBezCurveRightVertexf (RBezCurveTreefp tree, RBezCurveTreeVertexfp vertex)
boolean _rbi_DividePCDomainRf (RBezPatchTreefp ptree, RBezCurveTreefp ctree, pc_domain *ha, pc_domain *hb)
int _rbi_OtherSingularityRf (pci_key *pcii, RBezPatchTreefp ptree, RBezCurveTreefp ctree, pc_domain *hc, float tsing)
int _rbi_FindPCIntersRf (pci_key *pcii, int cdeg, point4f *ccp, int nc, int level, vector4f *ppar, int *nppar)
int _rbi_TryIntersArcRf (RBezPatchTreefp tree1, RBezPatchTreefp tree2, rbiHyperDomainf *hc, vector4f *ppar, int *singcurve)
int _rbi_FindIntersectionArcRf (RBezPatchTreefp tree1, RBezPatchTreefp tree2, rbiHyperDomainf *hc, float epsilon2, rbiArcOutf *outproc, void *usrptr)
boolean _rbi_DivideDomainRf (RBezPatchTreefp tree1, RBezPatchTreefp tree2, rbiHyperDomainf *hca, rbiHyperDomainf *hcb)
boolean rbi_FindRBezIntersectionf (int n1, int m1, point4f *p1, int n2, int m2, point4f *p2, float epsilon, byte maxlevel, rbiArcOutf *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_ArcPointsTooFarRf ( vector4f p1,
vector4f p2,
float  epsilon2 
)
int _rbi_AssignPCIntersParamRf ( RBezPatchTreefp  ptree,
RBezCurveTreefp  ctree,
pc_domain ha,
float  t,
point3f x,
point3f kk,
vector4f ip 
)
float _rbi_AuxPCHdpRf ( point4f v,
vector3f w 
)
boolean _rbi_AuxPConvexHullTestRf ( int  k1,
point4f p1,
int  k2,
point4f p2,
vector3f w 
)
void _rbi_ComputeAFDFRf ( RBezPatchTreefp  tree1,
RBezPatchTreefp  tree2,
vector4f p,
point3f F,
float *  DF 
)
void _rbi_ComputeFDFRf ( int  n,
int  m,
point4f pcp,
int  d,
point4f ccp,
point3f x,
point3f F,
float *  DF 
)
boolean _rbi_DivideDomainRf ( RBezPatchTreefp  tree1,
RBezPatchTreefp  tree2,
rbiHyperDomainf hca,
rbiHyperDomainf hcb 
)
boolean _rbi_DividePCDomainRf ( RBezPatchTreefp  ptree,
RBezCurveTreefp  ctree,
pc_domain ha,
pc_domain hb 
)
void _rbi_ExtractCurveRf ( int  n,
int  m,
point4f pcp,
int  nc,
int *  cdeg,
point4f ccp 
)
int _rbi_FindIntersectionArcRf ( RBezPatchTreefp  tree1,
RBezPatchTreefp  tree2,
rbiHyperDomainf hc,
float  epsilon2,
rbiArcOutf outproc,
void *  usrptr 
)
int _rbi_FindPCIntersRf ( pci_key pcii,
int  cdeg,
point4f ccp,
int  nc,
int  level,
vector4f ppar,
int *  nppar 
)
void _rbi_FindRBezCurvePCentf ( RBezCurveTreefp  tree,
RBezCurveTreeVertexfp  vertex 
)
RBezCurveTreeVertexfp _rbi_GetRBezCurveLeftVertexf ( RBezCurveTreefp  tree,
RBezCurveTreeVertexfp  vertex 
)
RBezCurveTreeVertexfp _rbi_GetRBezCurveRightVertexf ( RBezCurveTreefp  tree,
RBezCurveTreeVertexfp  vertex 
)
vector3f* _rbi_GetRBezNVPatchf ( RBezPatchTreefp  tree,
RBezPatchTreeVertexfp  vertex 
)
void _rbi_IdentifySolutionsRf ( vector4f ppar,
int *  nppar 
)
boolean _rbi_ImproveArcPointRf ( RBezPatchTreefp  tree1,
RBezPatchTreefp  tree2,
vector4f p 
)
boolean _rbi_NormalTestRf ( int  vn1,
int  vm1,
vector3f nvcp1,
vector3f nv1,
int  vn2,
int  vm2,
vector3f nvcp2,
vector3f nv2 
)
int _rbi_OtherSingularityRf ( pci_key pcii,
RBezPatchTreefp  ptree,
RBezCurveTreefp  ctree,
pc_domain hc,
float  tsing 
)
boolean _rbi_PatchConvexHullTestRf ( int  n1,
int  m1,
point4f p1,
point3f pcent1,
vector3f nvcent1,
int  n2,
int  m2,
point4f p2,
point3f pcent2,
vector3f nvcent2 
)
boolean _rbi_PCConvexHullTestRf ( RBezPatchTreefp  ptree,
RBezCurveTreefp  ctree,
pc_domain ha 
)
int _rbi_PCHodogTestRf ( RBezPatchTreefp  ptree,
RBezCurveTreefp  ctree,
pc_domain ha,
point3f kk 
)
boolean _rbi_PCNewtonRf ( RBezPatchTreefp  ptree,
RBezCurveTreefp  ctree,
pc_domain ha,
point3f x 
)
int _rbi_ProcessTheArcRf ( RBezPatchTreefp  tree1,
RBezPatchTreefp  tree2,
rbiHyperDomainf hc,
vector4f ppar,
float  epsilon2,
rbiArcOutf outproc,
void *  usrptr 
)
int _rbi_TryIntersArcRf ( RBezPatchTreefp  tree1,
RBezPatchTreefp  tree2,
rbiHyperDomainf hc,
vector4f ppar,
int *  singcurve 
)
boolean rbi_FindRBezIntersectionf ( int  n1,
int  m1,
point4f p1,
int  n2,
int  m2,
point4f p2,
float  epsilon,
byte  maxlevel,
rbiArcOutf outproc,
void *  usrptr 
)