Classes | |
struct | Go::Alg2DElem |
Struct that represents a monomial in two variables. More... | |
class | Go::AlgObj2DInt |
Class for 2-dimensional algebraic intersection objects. More... | |
struct | Go::Alg3DElem |
Struct that represents a monomial in three variables. More... | |
class | Go::AlgObj3DInt |
Class for 3-dimensional algebraic intersection objects. More... | |
class | Go::AlgObjectInt |
This class is a purely abstract base class, providing an interface to the algebraic intersection objects. More... | |
struct | Go::BoundaryFunctionInt |
This struct is a helper struct that bundles boundary information for an object of type ParamFunctionInt. More... | |
struct | Go::BoundaryGeomInt |
This struct is a helper struct that bundles boundary information for an object of type ParamGeomInt. More... | |
class | Go::ComplexityInfo |
This class contains statistical information used to check whether an intersection problem is simplified during recursive subdivision. More... | |
class | Go::CvCvIntersector |
Class that performs intersection between two parametric curves. More... | |
class | Go::CvPtIntersector |
This class performs intersection between a parametric curve and a point. More... | |
class | Go::CylinderInt |
Class for cylindrical algebraic intersection objects. More... | |
class | Go::GeomObjectInt |
This class is an abstract base class providing an interface to the "intersection objects". More... | |
class | Go::GeoTol |
Class handling various tolerances. More... | |
class | Go::Zero_Parameter_Span_Error |
class | Go::IntersectionCurve |
Object describing the curve that results from an intersection of two geometrical objects. More... | |
class | Go::DegeneratedIntersectionCurve |
IntersectionCurve that is degenerated into a single point. More... | |
class | Go::NonEvaluableIntersectionCurve |
IntersectionCurve that cannot be evaluated. More... | |
class | Go::IsoparametricIntersectionCurve |
IntersectionCurve defined by an isoparametric curve that can be picked from the underlying object. More... | |
class | Go::InterpolatedIntersectionCurve |
IntersectionCurve that is defined by Hermite interpolation of a number of guidepoints. More... | |
class | Go::IntersectionLink |
This class represents a link between two intersection points. More... | |
class | Go::IntersectionPoint |
Object describing a point located on the intersection of two geometrical objects. More... | |
struct | Go::CachedInterval |
Helper struct for saving bracketed bounds of influence areas. More... | |
struct | Go::IntPtInfo |
Struct that holds diagnostic information about an intersection point. More... | |
class | Go::IntersectionPool |
Class providing access to the intersection points and surfaces related to a particular subproblem. More... | |
struct | Go::BoundaryIntersectionData |
Helper struct to be used with IntersectionPool::intersectAlongCommonBoundary(). More... | |
struct | Go::raw_pointer_comp< T > |
class | Go::CrossesValue |
class | Go::TestInDomain |
class | Go::ClosestPointCalculator |
class | Go::LockedDirDistFunc |
class | Go::ConnectionFunctor |
class | Go::Intersector |
This class is an abstract class providing an interface to the intersection functionality in GoTools. More... | |
class | Go::Intersector2Obj |
This class is an abstract class providing an interface to the intersection functionality in GoTools. More... | |
class | Go::IntersectorAlgPar |
This class is an interface class used to compute the intersection between an algebraic object and a parametric object. More... | |
class | Go::IntersectorFuncConst |
This class is an interface class for finding the intersection between a parametric function (with range R) and a constant. More... | |
class | Go::Line2DInt |
Class representing an algebraic line in 2-dimensional space. More... | |
class | Go::Par0FuncIntersector |
This class is performing intersections between two constants. More... | |
class | Go::Par1FuncIntersector |
This class is performing intersections between a 1-dimensional parametric curve and a constant. More... | |
class | Go::Par2FuncIntersector |
This class is performing intersections between a 1-dimensional parametric surface and a constant. More... | |
class | Go::Param0FunctionInt |
This is a class that represents the "intersection object" of a scalar (a "0-variate" function). More... | |
class | Go::Param1FunctionInt |
Class that represents an "intersection object" of a parametric curve of dimension 1. More... | |
class | Go::Param2FunctionInt |
Class that represents the "intersection object" of a parametric surface of dimension 1. More... | |
class | Go::ParamCurveInt |
This class represents the "intersection object" of a parametric curve. More... | |
class | Go::ParamFunctionInt |
This class is a base class providing an interface to the parametric "intersection objects" with 1-dimensional range. More... | |
class | Go::ParamGeomInt |
This class is a base class providing an interface to the parametric "intersection objects". More... | |
class | Go::ParamObjectInt |
This class is a base class providing an interface to the "intersection objects". More... | |
class | Go::ParamPointInt |
Class representing the "intersection object" of a parametric curve. More... | |
class | Go::ParamSurfaceInt |
Class that represents the "intersection object" of a parametric surface. More... | |
class | Go::PlaneInt |
Class representing planar algebraic intersection objects. More... | |
class | Go::PtPtIntersector |
This class performs intersection between two points. More... | |
struct | Go::SecondOrderProperties |
class | Go::SfCvIntersector |
This class performs intersection between a parametric surface and a parametric curve. More... | |
class | Go::SfPtIntersector |
This class performs intersection between a parametric surface and a point. More... | |
struct | Go::SingBox |
struct | Go::SingUnion |
class | Go::SfSelfIntersector |
This class finds self-intersections for a parametric surface. More... | |
class | Go::SfSfIntersector |
This class performs intersection between two parametric surfaces. More... | |
class | Go::SingularityInfo |
This class contains information about singularities in an intersection problem. More... | |
class | Go::SphereInt |
Class representing spherical algebraic intersection objects. More... | |
class | Go::Spline1FunctionInt |
Class that represents the "intersection object" of a spline curve of dimension 1. More... | |
class | Go::Spline2FunctionInt |
This class represents the "intersection object" of a spline surface of dimension 1. More... | |
class | Go::SplineCurveInt |
Class representing the "intersection object" of a spline curve. More... | |
class | Go::SplineSurfaceInt |
This class represents the "intersection object" of a spline surface. More... | |
class | Go::SurfaceAssembly |
Enumerations | |
enum | NodeStatus |
enum | Go::EvalKind |
enum | Go::TangentDomain |
enum | Go::EstimateDirection |
enum | Go::IntPtClassification { Go::DIR_UNDEF = 0, Go::DIR_IN, Go::DIR_OUT, Go::DIR_PARALLEL, Go::DIR_PERPENDICULAR, Go::DIR_HIGHLY_SINGULAR, Go::DIR_TOUCH } |
Enumeration used to classify the direction of an intersection curve passing through an intersection point with respect to surface boundaries. More... | |
enum | Go::IntPtLocation { Go::LOC_OUTSIDE_BOTH = 0, Go::LOC_INSIDE_BOTH, Go::LOC_EDGE_ONE, Go::LOC_CORNER_ONE, Go::LOC_CORNER_BOTH, Go::LOC_EDGE_BOTH } |
Enumeration used to classify the location of an intersection point in the parameter domain of the object. More... | |
enum | Go::LinkType { Go::LINK_UNDEFINED = 0, Go::SIMPLE_CONE, Go::SIMPLE_MONOTONE, Go::SIMPLE_IMPLICIT, Go::SIMPLE_TWO_POINTS, Go::COINCIDENCE_CVPT, Go::COINCIDENCE_CVCV, Go::COINCIDENCE_SFCV, Go::COINCIDENCE_SFPT, Go::MICRO_CVCV, Go::MICRO_SFPT, Go::MICRO_SFCV, Go::MICRO_SFSF, Go::MICRO_PAR1FUNC, Go::MICRO_PAR2FUNC, Go::LINEAR_CVCV, Go::LINEAR_SFCV, Go::LINEAR_SFSF, Go::MERGED_UNDEFINED, Go::MERGED_SIMPLE_CONE, Go::MERGED_SIMPLE_MONOTONE, Go::MERGED_SIMPLE_CONE_MONOTONE, Go::MERGED_COINCIDENCE_SFCV_SFCV, Go::DEG_TRIANGLE, Go::POST_ITERATE, Go::BRANCH_CONNECTION, Go::COMPLEX_SFSF, Go::SPLIT_LINK, Go::REPAIRED_MISSING_LINK, Go::INSIDE_OUTSIDE_SINGULARITY_BOX } |
A classification of IntersectionLink objects. More... | |
enum | Go::SingularityClassification |
This enum classifies the type of singularity. | |
enum | Go::SingularityType { Go::ORDINARY_POINT = 0, Go::TANGENTIAL_POINT, Go::ISOLATED_POINT, Go::BRANCH_POINT, Go::HIGHER_ORDER_POINT } |
A classification of an IntersectionPoint, based on the nature of the intersection on which it lies. More... | |
enum | Go::SubdivisionClassification |
This enum classifies the type of subdivision. | |
Functions | |
int | Go::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 | Go::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 | Go::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 | Go::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 | Go::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 > | Go::constructIntersectionCurve (const iterator begin, const iterator end) |
void | Go::debug_write_line (const Point &p1, const Point &p2, const char *fname) |
void | Go::debug_write_point (const Point &p1, const char *fname) |
bool | Go::no_parent (const boost::shared_ptr< IntersectionPoint > &p) |
IntersectionPoint * | Go::flip_intersecting_objects (IntersectionPoint *p) |
bool | Go::link_is_iso_in (boost::shared_ptr< IntersectionLink > link, int dir) |
bool | Go::link_is_iso (boost::shared_ptr< IntersectionLink > link) |
bool | Go::link_is_iso_in_other_than (boost::shared_ptr< IntersectionLink > link, int dir) |
template<class T1, class T2> | |
bool | Go::compare_first (const std::pair< T1, T2 > &x, const std::pair< T1, T2 > &y) |
void | Go::add_reachables_from (const IntersectionPoint *pt, const IntersectionPoint *last_pt, std::set< IntersectionPoint * > &result) |
void | Go::estimate_seed_by_interpolation (const IntersectionPoint *p1, const IntersectionPoint *p2, int fixed_dir, double fixed_value, double *result) |
void | Go::determine_seed (double *par, int par_start, int par_end, const Point &pt, const IntersectionPoint *const ip1, const IntersectionPoint *const ip2) |
int | Go::find_point_in (IntersectionPoint *p, const std::vector< boost::shared_ptr< IntersectionPoint > > &vec) |
boost::shared_ptr< const CurveOnSurface > | Go::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 | Go::extract_chains (const std::vector< boost::shared_ptr< IntersectionPoint > > pts, std::vector< std::vector< boost::shared_ptr< IntersectionPoint > > > &chains) |
template<class iterator> | |
static std::vector< int > | Go::IsoparametricIntersectionCurve::resolve_isoparametric_directions (const iterator begin, const iterator end) |
void | Go::IntersectionPool::getIntersectionPoints (std::vector< boost::shared_ptr< IntersectionPoint > > &int_pts) const |
Fill the vector given as argument with shared pointers to all the IntersectionPoints in 'this' IntersectionPool. | |
void | Go::IntersectionPool::getIntersectionCurves (std::vector< boost::shared_ptr< IntersectionCurve > > &int_curves) const |
Fill the argument vector with shared pointers to all the IntersectionCurves in 'this' IntersectionPool. | |
std::vector< boost::shared_ptr< IntersectionPoint > > & | Go::IntersectionPool::getIntersectionPoints () |
Get a reference to the vector containing (shared pointers to) 'this' IntersectionPool's IntersectionPoints. | |
const std::vector< boost::shared_ptr< IntersectionPoint > > & | Go::IntersectionPool::getIntersectionPoints () const |
Get a reference to the vector containing (shared pointers to) 'this' IntersectionPools IntersectionPoint s. | |
const std::vector< boost::shared_ptr< IntersectionCurve > > & | Go::IntersectionPool::getIntersectionCurves () const |
Get a reference to the vector containing (shared pointers to) 'this' IntersectionPools IntersectionCurves. | |
template<class ip_iterator> | |
void | Go::IntersectionPool::addCurves (int nmb_int_cvs, ip_iterator *start_iterators, ip_iterator *end_iterators) |
Add a number of IntersectionCurves to the pool by specifying iterators to the IntersectionPoint making up the curves. | |
template<class ip_iterator> | |
void | Go::IntersectionPool::addCurve (ip_iterator start, ip_iterator end) |
Add one IntersectionCurve to the pool, by specifying a range of IntersectionPoints that make up the curve. | |
int | Go::IntersectionPool::lackingParameter () const |
Get the index of the missing parameter (-1 if none missing). | |
double | Go::IntersectionPool::lackingParameterValue () const |
Get value of missing parameter (if it exists). | |
double | Go::LockedDirDistFunc::operator() (const double *arg) const |
void | Go::LockedDirDistFunc::grad (const double *arg, double *grad) const |
Enumeration used to classify the direction of an intersection curve passing through an intersection point with respect to surface boundaries.
Definition at line 50 of file IntersectionPointUtils.h.
enum Go::IntPtLocation |
Enumeration used to classify the location of an intersection point in the parameter domain of the object.
Definition at line 73 of file IntersectionPointUtils.h.
enum Go::LinkType |
A classification of IntersectionLink objects.
The classification is strictly based on how it was made within the algorithm.
Definition at line 46 of file LinkType.h.
enum Go::SingularityType |
A classification of an IntersectionPoint, based on the nature of the intersection on which it lies.
ORDINARY_POINT | IntersectionPoint lies on normal, transversal intersection. |
TANGENTIAL_POINT | The two intersecting objects are tangent to each other at the location of this IntersectionPoint. |
ISOLATED_POINT | This is an isolated IntersectionPoint (does not lie on an IntersectionCurve or on a partial coincidence area). |
BRANCH_POINT | This is an IntersectionPoint where flere interection curves meet. |
HIGHER_ORDER_POINT | The two objects intersecting at this point have same tangent plane AND curvature. |
Definition at line 42 of file SingularityType.h.
void Go::IntersectionPool::addCurve | ( | ip_iterator | start, | |
ip_iterator | end | |||
) | [inline, inherited] |
Add one IntersectionCurve to the pool, by specifying a range of IntersectionPoints that make up the curve.
start | iterator to the start of the range of IntersectionPoints. | |
end | iterator to the end of the range of IntersectionPoints. |
Definition at line 959 of file IntersectionPool.h.
Referenced by Go::IntersectionPool::addCurves().
void Go::IntersectionPool::addCurves | ( | int | nmb_int_cvs, | |
ip_iterator * | start_iterators, | |||
ip_iterator * | end_iterators | |||
) | [inline, inherited] |
Add a number of IntersectionCurves to the pool by specifying iterators to the IntersectionPoint making up the curves.
nmb_int_cvs | number of curves to add | |
start_iterators | pointer to a range of iterators to IntersectionPoint. The range should have length equal to the number of curves to add. Each iterator represents the start of a range of IntersectionPoints that defines an IntersectionCurve to add to the pool. (The corresponding end of the range is specified by the corresponding iterator in end_iterators. | |
end_iterators | pointer to a range of iterators to IntersectionPoint. The range should have length equal to the number of curves to add. Each iterator represents the one-past-end of a range of IntersectionPoint s that defines an IntersectionCurve to add to the pool. (The corresponding start of the range is specified by the corresponding iterator in start_iterators) |
Definition at line 946 of file IntersectionPool.h.
References Go::IntersectionPool::addCurve().
const std::vector< boost::shared_ptr< IntersectionCurve > > & Go::IntersectionPool::getIntersectionCurves | ( | ) | const [inline, inherited] |
Get a reference to the vector containing (shared pointers to) 'this' IntersectionPools IntersectionCurves.
reference | to vector of shared pointers to IntersectionCurves |
Definition at line 937 of file IntersectionPool.h.
void Go::IntersectionPool::getIntersectionCurves | ( | std::vector< boost::shared_ptr< IntersectionCurve > > & | int_curves | ) | const [inline, inherited] |
Fill the argument vector with shared pointers to all the IntersectionCurves in 'this' IntersectionPool.
int_curves | vector of shared pointers to all of the pool's IntersectionCurves. |
Definition at line 909 of file IntersectionPool.h.
const std::vector< boost::shared_ptr< IntersectionPoint > > & Go::IntersectionPool::getIntersectionPoints | ( | ) | const [inline, inherited] |
Get a reference to the vector containing (shared pointers to) 'this' IntersectionPools IntersectionPoint s.
reference | to vector of shared pointers to IntersectionPoints |
Definition at line 928 of file IntersectionPool.h.
std::vector< boost::shared_ptr< IntersectionPoint > > & Go::IntersectionPool::getIntersectionPoints | ( | ) | [inline, inherited] |
Get a reference to the vector containing (shared pointers to) 'this' IntersectionPool's IntersectionPoints.
reference | to vector of shared pointers to IntersectionPoints |
Definition at line 919 of file IntersectionPool.h.
void Go::IntersectionPool::getIntersectionPoints | ( | std::vector< boost::shared_ptr< IntersectionPoint > > & | int_pts | ) | const [inline, inherited] |
Fill the vector given as argument with shared pointers to all the IntersectionPoints in 'this' IntersectionPool.
int_pts | vector of shared pointers to all of the pool's IntersectionPoints. |
Definition at line 898 of file IntersectionPool.h.
int Go::IntersectionPool::lackingParameter | ( | ) | const [inline, inherited] |
Get the index of the missing parameter (-1 if none missing).
Definition at line 969 of file IntersectionPool.h.
double Go::IntersectionPool::lackingParameterValue | ( | ) | const [inline, inherited] |
Get value of missing parameter (if it exists).
Definition at line 977 of file IntersectionPool.h.