Classes | |
struct | Alg2DElem |
Struct that represents a monomial in two variables. More... | |
class | AlgObj2DInt |
Class for 2-dimensional algebraic intersection objects. More... | |
struct | Alg3DElem |
Struct that represents a monomial in three variables. More... | |
class | AlgObj3DInt |
Class for 3-dimensional algebraic intersection objects. More... | |
class | AlgObjectInt |
This class is a purely abstract base class, providing an interface to the algebraic intersection objects. More... | |
struct | BoundaryFunctionInt |
This struct is a helper struct that bundles boundary information for an object of type ParamFunctionInt. More... | |
struct | BoundaryGeomInt |
This struct is a helper struct that bundles boundary information for an object of type ParamGeomInt. More... | |
class | ComplexityInfo |
This class contains statistical information used to check whether an intersection problem is simplified during recursive subdivision. More... | |
class | CvCvIntersector |
Class that performs intersection between two parametric curves. More... | |
class | CvPtIntersector |
This class performs intersection between a parametric curve and a point. More... | |
class | CylinderInt |
Class for cylindrical algebraic intersection objects. More... | |
class | GeomObjectInt |
This class is an abstract base class providing an interface to the "intersection objects". More... | |
class | GeoTol |
Class handling various tolerances. More... | |
class | Zero_Parameter_Span_Error |
class | IntersectionCurve |
Object describing the curve that results from an intersection of two geometrical objects. More... | |
class | DegeneratedIntersectionCurve |
IntersectionCurve that is degenerated into a single point. More... | |
class | NonEvaluableIntersectionCurve |
IntersectionCurve that cannot be evaluated. More... | |
class | IsoparametricIntersectionCurve |
IntersectionCurve defined by an isoparametric curve that can be picked from the underlying object. More... | |
class | InterpolatedIntersectionCurve |
IntersectionCurve that is defined by Hermite interpolation of a number of guidepoints. More... | |
class | IntersectionLink |
This class represents a link between two intersection points. More... | |
class | IntersectionPoint |
Object describing a point located on the intersection of two geometrical objects. More... | |
struct | CachedInterval |
Helper struct for saving bracketed bounds of influence areas. More... | |
struct | IntPtInfo |
Struct that holds diagnostic information about an intersection point. More... | |
class | IntersectionPool |
Class providing access to the intersection points and surfaces related to a particular subproblem. More... | |
struct | BoundaryIntersectionData |
Helper struct to be used with IntersectionPool::intersectAlongCommonBoundary(). More... | |
struct | raw_pointer_comp |
class | CrossesValue |
class | TestInDomain |
class | ClosestPointCalculator |
class | LockedDirDistFunc |
class | ConnectionFunctor |
class | Intersector |
This class is an abstract class providing an interface to the intersection functionality in GoTools. More... | |
class | Intersector2Obj |
This class is an abstract class providing an interface to the intersection functionality in GoTools. More... | |
class | IntersectorAlgPar |
This class is an interface class used to compute the intersection between an algebraic object and a parametric object. More... | |
class | IntersectorFuncConst |
This class is an interface class for finding the intersection between a parametric function (with range R) and a constant. More... | |
class | Line2DInt |
Class representing an algebraic line in 2-dimensional space. More... | |
class | Par0FuncIntersector |
This class is performing intersections between two constants. More... | |
class | Par1FuncIntersector |
This class is performing intersections between a 1-dimensional parametric curve and a constant. More... | |
class | Par2FuncIntersector |
This class is performing intersections between a 1-dimensional parametric surface and a constant. More... | |
class | Param0FunctionInt |
This is a class that represents the "intersection object" of a scalar (a "0-variate" function). More... | |
class | Param1FunctionInt |
Class that represents an "intersection object" of a parametric curve of dimension 1. More... | |
class | Param2FunctionInt |
Class that represents the "intersection object" of a parametric surface of dimension 1. More... | |
class | ParamCurveInt |
This class represents the "intersection object" of a parametric curve. More... | |
class | ParamFunctionInt |
This class is a base class providing an interface to the parametric "intersection objects" with 1-dimensional range. More... | |
class | ParamGeomInt |
This class is a base class providing an interface to the parametric "intersection objects". More... | |
class | ParamObjectInt |
This class is a base class providing an interface to the "intersection objects". More... | |
class | ParamPointInt |
Class representing the "intersection object" of a parametric curve. More... | |
class | ParamSurfaceInt |
Class that represents the "intersection object" of a parametric surface. More... | |
class | PlaneInt |
Class representing planar algebraic intersection objects. More... | |
class | PtPtIntersector |
This class performs intersection between two points. More... | |
struct | SecondOrderProperties |
class | SfCvIntersector |
This class performs intersection between a parametric surface and a parametric curve. More... | |
class | SfPtIntersector |
This class performs intersection between a parametric surface and a point. More... | |
struct | SingBox |
struct | SingUnion |
class | SfSelfIntersector |
This class finds self-intersections for a parametric surface. More... | |
class | SfSfIntersector |
This class performs intersection between two parametric surfaces. More... | |
class | SingularityInfo |
This class contains information about singularities in an intersection problem. More... | |
class | SphereInt |
Class representing spherical algebraic intersection objects. More... | |
class | Spline1FunctionInt |
Class that represents the "intersection object" of a spline curve of dimension 1. More... | |
class | Spline2FunctionInt |
This class represents the "intersection object" of a spline surface of dimension 1. More... | |
class | SplineCurveInt |
Class representing the "intersection object" of a spline curve. More... | |
class | SplineSurfaceInt |
This class represents the "intersection object" of a spline surface. More... | |
class | SurfaceAssembly |
Namespaces | |
namespace | IntersectionUtils |
Various functions related to the intersection algorithms. | |
Enumerations | |
enum | EvalKind |
enum | TangentDomain |
enum | EstimateDirection |
enum | IntPtClassification { DIR_UNDEF = 0, DIR_IN, DIR_OUT, DIR_PARALLEL, DIR_PERPENDICULAR, DIR_HIGHLY_SINGULAR, DIR_TOUCH } |
Enumeration used to classify the direction of an intersection curve passing through an intersection point with respect to surface boundaries. More... | |
enum | IntPtLocation { LOC_OUTSIDE_BOTH = 0, LOC_INSIDE_BOTH, LOC_EDGE_ONE, LOC_CORNER_ONE, LOC_CORNER_BOTH, LOC_EDGE_BOTH } |
Enumeration used to classify the location of an intersection point in the parameter domain of the object. More... | |
enum | LinkType { LINK_UNDEFINED = 0, SIMPLE_CONE, SIMPLE_MONOTONE, SIMPLE_IMPLICIT, SIMPLE_TWO_POINTS, COINCIDENCE_CVPT, COINCIDENCE_CVCV, COINCIDENCE_SFCV, COINCIDENCE_SFPT, MICRO_CVCV, MICRO_SFPT, MICRO_SFCV, MICRO_SFSF, MICRO_PAR1FUNC, MICRO_PAR2FUNC, LINEAR_CVCV, LINEAR_SFCV, LINEAR_SFSF, MERGED_UNDEFINED, MERGED_SIMPLE_CONE, MERGED_SIMPLE_MONOTONE, MERGED_SIMPLE_CONE_MONOTONE, MERGED_COINCIDENCE_SFCV_SFCV, DEG_TRIANGLE, POST_ITERATE, BRANCH_CONNECTION, COMPLEX_SFSF, SPLIT_LINK, REPAIRED_MISSING_LINK, INSIDE_OUTSIDE_SINGULARITY_BOX } |
A classification of IntersectionLink objects. More... | |
enum | SingularityClassification |
This enum classifies the type of singularity. | |
enum | SingularityType { ORDINARY_POINT = 0, TANGENTIAL_POINT, ISOLATED_POINT, BRANCH_POINT, HIGHER_ORDER_POINT } |
A classification of an IntersectionPoint, based on the nature of the intersection on which it lies. More... | |
enum | SubdivisionClassification |
This enum classifies the type of subdivision. | |
Functions | |
int | checkCoincide (ParamCurveInt *curve, double start, double end, boost::shared_ptr< GeoTol > tol, ParamCurveInt *other, double other_start, double other_end) |
Check if two curves are coinciding between parameters start and end on this curve, and other_start and other_end on the other curve. | |
int | checkCoincide (ParamCurveInt *curve, double start, double end, ParamSurfaceInt *surf, Point su_start, Point su_end, boost::shared_ptr< GeoTol > tol) |
Check if this curve is coinciding between parameters start and end, with the ParamSurface between parameters su_start and su_end. | |
int | checkCoincide (ParamCurveInt *curve, double start, double end, SplineSurfaceInt *surf, const Point &su_start, const Point &su_end, boost::shared_ptr< GeoTol > tol) |
Check if this curve is coinciding between parameters start and end, with the SplineSurface between parameters su_start and su_end. | |
int | checkCoincide (Param1FunctionInt *func1, double start, double end, Param0FunctionInt *C, boost::shared_ptr< GeoTol > tol) |
Check if this function is coinciding between parameters start and end, with the Point. | |
int | checkCoincide (ParamSurfaceInt *surf1, ParamSurfaceInt *surf2, std::vector< double > &par_loop, const boost::shared_ptr< GeoTol > tol) |
by the parameter values of the intersection points representing it | |
template<class iterator> | |
boost::shared_ptr< IntersectionCurve > | constructIntersectionCurve (const iterator begin, const iterator end) |
void | debug_write_line (const Point &p1, const Point &p2, const char *fname) |
void | debug_write_point (const Point &p1, const char *fname) |
bool | no_parent (const boost::shared_ptr< IntersectionPoint > &p) |
IntersectionPoint * | flip_intersecting_objects (IntersectionPoint *p) |
bool | link_is_iso_in (boost::shared_ptr< IntersectionLink > link, int dir) |
bool | link_is_iso (boost::shared_ptr< IntersectionLink > link) |
bool | link_is_iso_in_other_than (boost::shared_ptr< IntersectionLink > link, int dir) |
template<class T1, class T2> | |
bool | compare_first (const std::pair< T1, T2 > &x, const std::pair< T1, T2 > &y) |
void | add_reachables_from (const IntersectionPoint *pt, const IntersectionPoint *last_pt, std::set< IntersectionPoint * > &result) |
void | estimate_seed_by_interpolation (const IntersectionPoint *p1, const IntersectionPoint *p2, int fixed_dir, double fixed_value, double *result) |
void | determine_seed (double *par, int par_start, int par_end, const Point &pt, const IntersectionPoint *const ip1, const IntersectionPoint *const ip2) |
int | find_point_in (IntersectionPoint *p, const std::vector< boost::shared_ptr< IntersectionPoint > > &vec) |
boost::shared_ptr< const CurveOnSurface > | make_curve_on_surface (boost::shared_ptr< const ParamSurface > surf, double u_start, double v_start, double u_end, double v_end, double p_start, double p_end) |
void | extract_chains (const std::vector< boost::shared_ptr< IntersectionPoint > > pts, std::vector< std::vector< boost::shared_ptr< IntersectionPoint > > > &chains) |