AABB tree: one attempt to obtain better spacing in html doc.

This commit is contained in:
Pierre Alliez 2009-07-14 07:15:05 +00:00
parent 0e25638992
commit 6bd3cd7c0d
2 changed files with 17 additions and 13 deletions

View File

@ -3,6 +3,8 @@
The main entry point to the component is the class \ccc{AABB_tree} which represents a static AABB tree constructed from an iterator range of geometric data. Once instantiated an AABB tree can be queried for intersection and distance queries.\\
\paragraph{Intersections.} Assume for example that the tree contains triangle primitives. The tree can be queried for intersection against line objects (rays, segments or line) in various ways. We distinguish intersection \emph{tests} which do not construct any intersection objects, from \emph{intersections} which construct the intersection objects.\\
Tests:
@ -13,14 +15,16 @@ Tests:
\item Function \ccc{any_intersected_primitive} returns the first encountered intersecting primitive id (if any) without constructing the corresponding intersection object, and stops after the first encountered intersection. Note that the traversal order of the tree is such that first herein does not refer to any particular ordering of the intersections with respect to the query.
\end{itemize}
Constructions:
\begin{itemize}
\item Function \ccc{all_intersections} detects and constructs all intersection objects with the input primitives.
\item Function \ccc{any_intersection} detects and constructs the first encountered intersection and constructs the corresponding object. This function is fast as it stops after the first encountered intersection.
\end{itemize}
\paragraph{Distance.} An AABB tree computes the closest point from a given point query to the input primitives through the function \ccc{closest_point(query)}. In addition, it can compute the id of the closest primitive from a given point query through the function \ccc{closest_point_and_primitive(query)}, i.e., the id of the primitive which realizes the minimum distance from the point query.\\
The AABB tree uses a secondary search structure to speed up the distance queries. The construction of this secondary structure should be requested by the user by a call to \ccc{accelerate_distance_queries} before the first the distance computation. This data structure is not generated by default because it is used only for distance computations.
\paragraph{Distance.} An AABB tree computes the closest point from a given point query to the input primitives through the function \ccc{closest_point(query)}. In addition, it can compute the id of the closest primitive from a given point query through the function \ccc{closest_point_and_primitive(query)}, i.e., the id of the primitive which realizes the minimum distance from the point query. The AABB tree uses a secondary search structure to speed up the distance queries. The construction of this secondary structure should be requested by the user by a call to \ccc{accelerate_distance_queries} before the first the distance computation. This data structure is not generated by default because it is used only for distance computations.

View File

@ -61,16 +61,16 @@ Class \ccRefName\ is a static data structure for efficient intersection and dist
void rebuild(InputIterator begin,
InputIterator beyond);}
{Clears the current tree and rebuilds it from scratch. See constructor above for the parameters. }
\ccGlue
\ccMethod{void clear();}
{Clears the AABB tree. }
\ccGlue
\ccMethod{Bounding_box bbox();}
{Returns the axis-aligned bounding box of the whole tree. }
\ccGlue
\ccMethod{size_type size();}
{Returns the number of primitives in the tree. }
\ccGlue
\ccMethod{bool empty();}
{Returns \ccc{true}, iff tree contains no primitive. }
@ -80,17 +80,17 @@ Class \ccRefName\ is a static data structure for efficient intersection and dist
\ccMethod{template <class Query>
bool do_intersect(const Query& query);}
{Returns \ccc{true}, iff the query intersects at least one of the input primitives. Type \ccc{Query} must be a type for which \ccc{do_intersect} predicates are defined in the \ccc{AT} class.}
\ccGlue
\ccMethod{template <class Query>
size_type number_of_intersected_primitives(const Query& query);}
{Returns the number of primitives intersected by the query. Type \ccc{Query} must be a type for which \ccc{do_intersect} predicates are defined in the \ccc{AT} class.}
\ccGlue
\ccMethod{template <class Query, class OutputIterator>
OutputIterator
all_intersected_primitives(const Query& query,
OutputIterator out);}
{Outputs to the iterator the list of all intersected primitives ids. This function does not compute the intersection points and is hence faster than the function \ccc{all_intersections} function below. Type \ccc{Query} must be a type for which \ccc{do_intersect} predicates are defined in the \ccc{AT} class.}
\ccGlue
\ccMethod{template <class Query>
boost::optional<Primitive::Id>
any_intersected_primitive(const Query& query);}
@ -105,7 +105,7 @@ Class \ccRefName\ is a static data structure for efficient intersection and dist
all_intersections(const Query& query,
OutputIterator out);}
{Outputs to the iterator the list of all intersections between the query and input data, as objects of type \ccc{Object_and_primitive_id}. Type \ccc{Query} must be a type for which \ccc{do_intersect} predicates and intersections are defined in the \ccc{AT} class.}
\ccGlue
\ccMethod{template <class Query>
boost::optional<Object_and_primitive_id>
any_intersection(const Query& query);}
@ -119,11 +119,11 @@ Class \ccRefName\ is a static data structure for efficient intersection and dist
\ccMethod{FT
squared_distance(const Point& query);}
{Returns the minimum squared distance between the query point and all input primitives. Method \ccc{accelerate_distance_queries} should be called before the first distance query, so that an internal secondary search structure is build, for improving performance.}
\ccGlue
\ccMethod{Point
closest_point(const Point& query);}
{Returns the point in the union of all input primitives which is closest to the query. In case there are several closest points, one arbitrarily chosen closest point is returned. Method \ccc{accelerate_distance_queries} should be called before the first distance query, so that an internal secondary search structure is build, for improving performance.}
\ccGlue
\ccMethod{Point_and_primitive_id
closest_point_and_primitive(const Point& query);}
{Returns a \ccc{Point_and_primitive_id} which realizes the smallest distance between the query point and all input primitives. Method \ccc{accelerate_distance_queries} should be called before the first distance query, so that an internal secondary search structure is build, for improving performance.}