BRL-CAD
Find Parametric Surface Coordinates of 3D Point

point pullback. More...

Collaboration diagram for Find Parametric Surface Coordinates of 3D Point:

Files

file  pullback.h
 

Namespaces

namespace  brlcad
 

Data Structures

struct  pbc_data
 

Typedefs

typedef struct pbc_data PBCData
 

Functions

int IsAtSingularity (const ON_Surface *surf, double u, double v, double tol=1e-6)
 
int IsAtSingularity (const ON_Surface *surf, const ON_2dPoint &pt, double tol=1e-6)
 
int IsAtSeam (const ON_Surface *surf, int dir, double u, double v, double tol=0.0)
 
int IsAtSeam (const ON_Surface *surf, double u, double v, double tol=0.0)
 
int IsAtSeam (const ON_Surface *surf, int dir, const ON_2dPoint &pt, double tol=0.0)
 
int IsAtSeam (const ON_Surface *surf, const ON_2dPoint &pt, double tol=0.0)
 
ON_2dPoint UnwrapUVPoint (const ON_Surface *surf, const ON_2dPoint &pt, double tol=0.0)
 
double DistToNearestClosedSeam (const ON_Surface *surf, const ON_2dPoint &pt)
 
void SwapUVSeamPoint (const ON_Surface *surf, ON_2dPoint &p, int hint=3)
 
void ForceToClosestSeam (const ON_Surface *surf, ON_2dPoint &pt, double tol=0.0)
 
bool Find3DCurveSeamCrossing (PBCData &data, double t0, double t1, double offset, double &seam_t, ON_2dPoint &from, ON_2dPoint &to, double tol=0.0, double same_point_tol=BREP_SAME_POINT_TOLERANCE, double within_distance_tol=BREP_EDGE_MISS_TOLERANCE)
 
bool FindTrimSeamCrossing (const ON_BrepTrim &trim, double t0, double t1, double &seam_t, ON_2dPoint &from, ON_2dPoint &to, double tol=0.0)
 
bool surface_GetClosestPoint3dFirstOrder (const ON_Surface *surf, const ON_3dPoint &p, ON_2dPoint &p2d, ON_3dPoint &p3d, double &current_distance, int quadrant=0, double same_point_tol=BREP_SAME_POINT_TOLERANCE, double within_distance_tol=BREP_EDGE_MISS_TOLERANCE)
 
bool trim_GetClosestPoint3dFirstOrder (const ON_BrepTrim &trim, const ON_3dPoint &p, ON_2dPoint &p2d, double &t, double &distance, const ON_Interval *interval, double same_point_tol=BREP_SAME_POINT_TOLERANCE, double within_distance_tol=BREP_EDGE_MISS_TOLERANCE)
 
bool ConsecutivePointsCrossClosedSeam (const ON_Surface *surf, const ON_2dPoint &pt, const ON_2dPoint &prev_pt, int &udir, int &vdir, double tol=1e-6)
 
PBCDatapullback_samples (const ON_Surface *surf, const ON_Curve *curve, double tolerance=1.0e-6, double flatness=1.0e-3, double same_point_tol=BREP_SAME_POINT_TOLERANCE, double within_distance_tol=BREP_EDGE_MISS_TOLERANCE)
 
bool check_pullback_data (std::list< PBCData * > &pbcs)
 
int check_pullback_singularity_bridge (const ON_Surface *surf, const ON_2dPoint &p1, const ON_2dPoint &p2)
 
bool ON_NurbsCurve_GetClosestPoint (double *t, ON_3dPoint *cp, const ON_NurbsCurve *nc, const ON_3dPoint &p, double maximum_distance=0.0, const ON_Interval *sub_domain=NULL)
 
bool ON_TrimCurve_GetClosestPoint (double *t, const ON_BrepTrim *trim, const ON_3dPoint &p, double maximum_distance=0.0, const ON_Interval *sub_domain=NULL)
 
bool ON_NurbsCurve_ClosestPointToLineSegment (double *dist, double *t, const ON_NurbsCurve *nc, const ON_Line &l, double maximum_distance=0.0, const ON_Interval *subdomain=NULL)
 

Detailed Description

point pullback.

Typedef Documentation

◆ PBCData

typedef struct pbc_data PBCData

Function Documentation

◆ IsAtSingularity() [1/2]

int IsAtSingularity ( const ON_Surface *  surf,
double  u,
double  v,
double  tol = 1e-6 
)

◆ IsAtSingularity() [2/2]

int IsAtSingularity ( const ON_Surface *  surf,
const ON_2dPoint &  pt,
double  tol = 1e-6 
)

◆ IsAtSeam() [1/4]

int IsAtSeam ( const ON_Surface *  surf,
int  dir,
double  u,
double  v,
double  tol = 0.0 
)

◆ IsAtSeam() [2/4]

int IsAtSeam ( const ON_Surface *  surf,
double  u,
double  v,
double  tol = 0.0 
)

◆ IsAtSeam() [3/4]

int IsAtSeam ( const ON_Surface *  surf,
int  dir,
const ON_2dPoint &  pt,
double  tol = 0.0 
)

◆ IsAtSeam() [4/4]

int IsAtSeam ( const ON_Surface *  surf,
const ON_2dPoint &  pt,
double  tol = 0.0 
)

◆ UnwrapUVPoint()

ON_2dPoint UnwrapUVPoint ( const ON_Surface *  surf,
const ON_2dPoint &  pt,
double  tol = 0.0 
)

◆ DistToNearestClosedSeam()

double DistToNearestClosedSeam ( const ON_Surface *  surf,
const ON_2dPoint &  pt 
)

◆ SwapUVSeamPoint()

void SwapUVSeamPoint ( const ON_Surface *  surf,
ON_2dPoint &  p,
int  hint = 3 
)

◆ ForceToClosestSeam()

void ForceToClosestSeam ( const ON_Surface *  surf,
ON_2dPoint &  pt,
double  tol = 0.0 
)

◆ Find3DCurveSeamCrossing()

bool Find3DCurveSeamCrossing ( PBCData data,
double  t0,
double  t1,
double  offset,
double &  seam_t,
ON_2dPoint &  from,
ON_2dPoint &  to,
double  tol = 0.0,
double  same_point_tol = BREP_SAME_POINT_TOLERANCE,
double  within_distance_tol = BREP_EDGE_MISS_TOLERANCE 
)

◆ FindTrimSeamCrossing()

bool FindTrimSeamCrossing ( const ON_BrepTrim &  trim,
double  t0,
double  t1,
double &  seam_t,
ON_2dPoint &  from,
ON_2dPoint &  to,
double  tol = 0.0 
)

◆ surface_GetClosestPoint3dFirstOrder()

bool surface_GetClosestPoint3dFirstOrder ( const ON_Surface *  surf,
const ON_3dPoint &  p,
ON_2dPoint &  p2d,
ON_3dPoint &  p3d,
double &  current_distance,
int  quadrant = 0,
double  same_point_tol = BREP_SAME_POINT_TOLERANCE,
double  within_distance_tol = BREP_EDGE_MISS_TOLERANCE 
)

◆ trim_GetClosestPoint3dFirstOrder()

bool trim_GetClosestPoint3dFirstOrder ( const ON_BrepTrim &  trim,
const ON_3dPoint &  p,
ON_2dPoint &  p2d,
double &  t,
double &  distance,
const ON_Interval *  interval,
double  same_point_tol = BREP_SAME_POINT_TOLERANCE,
double  within_distance_tol = BREP_EDGE_MISS_TOLERANCE 
)

◆ ConsecutivePointsCrossClosedSeam()

bool ConsecutivePointsCrossClosedSeam ( const ON_Surface *  surf,
const ON_2dPoint &  pt,
const ON_2dPoint &  prev_pt,
int &  udir,
int &  vdir,
double  tol = 1e-6 
)

◆ pullback_samples()

PBCData * pullback_samples ( const ON_Surface *  surf,
const ON_Curve *  curve,
double  tolerance = 1.0e-6,
double  flatness = 1.0e-3,
double  same_point_tol = BREP_SAME_POINT_TOLERANCE,
double  within_distance_tol = BREP_EDGE_MISS_TOLERANCE 
)

◆ check_pullback_data()

bool check_pullback_data ( std::list< PBCData * > &  pbcs)

◆ check_pullback_singularity_bridge()

int check_pullback_singularity_bridge ( const ON_Surface *  surf,
const ON_2dPoint &  p1,
const ON_2dPoint &  p2 
)

◆ ON_NurbsCurve_GetClosestPoint()

bool ON_NurbsCurve_GetClosestPoint ( double *  t,
ON_3dPoint *  cp,
const ON_NurbsCurve *  nc,
const ON_3dPoint &  p,
double  maximum_distance = 0.0,
const ON_Interval *  sub_domain = NULL 
)

◆ ON_TrimCurve_GetClosestPoint()

bool ON_TrimCurve_GetClosestPoint ( double *  t,
const ON_BrepTrim *  trim,
const ON_3dPoint &  p,
double  maximum_distance = 0.0,
const ON_Interval *  sub_domain = NULL 
)

◆ ON_NurbsCurve_ClosestPointToLineSegment()

bool ON_NurbsCurve_ClosestPointToLineSegment ( double *  dist,
double *  t,
const ON_NurbsCurve *  nc,
const ON_Line &  l,
double  maximum_distance = 0.0,
const ON_Interval *  subdomain = NULL 
)