compute_star

This commit is contained in:
Olivier Devillers 2011-05-11 11:37:16 +00:00
parent 0f15bc8a38
commit 3d1f9a7206
3 changed files with 59 additions and 51 deletions

View File

@ -27,7 +27,7 @@ Regular_complex Regular_triangulation
------------------ ------------------
/is_finite/! is_infinite/ /is_finite/! is_infinite/
is_boundary_facet flag stuff, really documented ? : is_boundary_facet
*) code done : *) code done :
-------------- --------------
@ -46,12 +46,13 @@ is_boundary_facet
/contract_face/collapse_face/ /contract_face/collapse_face/
/full_cell_of/full_cell/ /full_cell_of/full_cell/
*) to remove (comment) : *) to remove (comment) :
------------------------ ------------------------
gather_incident_faces gather_incident_faces
gather_incident_upper_faces (sam: I find them useful!) gather_incident_upper_faces (sam: I find them useful! olivier: ok)
__________________________________________________________________________ALL __________________________________________________________________________ALL

View File

@ -246,7 +246,7 @@ Returns the (probably modified) output iterator.
} }
\ccMethod{template< typename OutputIterator > OutputIterator \ccMethod{template< typename OutputIterator > OutputIterator
compute_star(const Face & f, OutputIterator out) const;} star(const Face & f, OutputIterator out) const;}
{Insert in \ccc{out} all the cells that share at least one vertex with the \ccc{Face {Insert in \ccc{out} all the cells that share at least one vertex with the \ccc{Face
f}. Returns the (probably modified) output iterator. f}. Returns the (probably modified) output iterator.
%\ccPrecond\ccc{is_full_cell(f.full_cell())}. %\ccPrecond\ccc{is_full_cell(f.full_cell())}.
@ -261,29 +261,31 @@ constructed.
\ccPrecond$0 < d$. \ccPrecond$0 < d$.
} }
% \ccMethod{template< typename OutputIterator > OutputIterator \ccMethod{template< typename OutputIterator > OutputIterator
% incident_upper_faces(Vertex_const_handle v, int d, OutputIterator incident_upper_faces(Vertex_const_handle v, int d, OutputIterator
% out);}{Constructs all the \textbf{upper} \ccc{Face}s of dimension \ccc{d} out);}{Constructs all the \textbf{upper} \ccc{Face}s of dimension \ccc{d}
% incident to \ccc{Vertex} v and inserts them in the \ccc{OutputIterator out}.\\ incident to \ccc{Vertex} v and inserts them in the \ccc{OutputIterator out}.\\
% Assuming some total ordering on the vertices of the triangulation (which is Assuming some total ordering on the vertices of the triangulation (which is
% invariant as long as no vertex is inserted in or removed from the triangulation), a invariant as long as no vertex is inserted in or removed from the triangulation), a
% \ccc{Face} incident to \ccc{v} is an \emph{upper} \ccc{Face} if and only if \ccc{Face} incident to \ccc{v} is an \emph{upper} \ccc{Face} if and only if
% its vertices occur at \ccc{v} or beyond \ccc{v} in the ordering.\\ In its vertices occur at \ccc{v} or beyond \ccc{v} in the ordering.\\ In
% particular, taking the disjoint union of the upper \ccc{Face}s of dimension particular, taking the disjoint union of the upper \ccc{Face}s of dimension
% \ccc{d} incident to every vertex of the triangulation yields exactly the set of \ccc{d} incident to every vertex of the triangulation yields exactly the set of
% faces of dimension \ccc{d} of the triangulation.\\ The constructed \ccc{Faces} are faces of dimension \ccc{d} of the triangulation.\\ The constructed \ccc{Faces} are
% lexicographically ordered using the vertex order as base ordering. In order to lexicographically ordered using the vertex order as base ordering. In order to
% make it easy to find the infinite \ccc{Faces}, the latter ordering makes the make it easy to find the infinite \ccc{Faces}, the latter ordering makes the
% vertex at infinity the smallest vertex; so calling the method on a finite vertex at infinity the smallest vertex; so calling the method on a finite
% vertex will construct only finite faces and calling it on the vertex at vertex will construct only finite faces and calling it on the vertex at
% infinity will produce all infinite \ccc{d}-faces. (Elle est pas belle, la vie infinity will produce all infinite \ccc{d}-faces. (Elle est pas belle, la vie
% ?) If \ccc{d >=} \ccVar.\ccc{current_dimension()}, then no \ccc{Face} is ?) If $d\geq $\ccVar.\ccc{current_dimension()}, then no \ccc{Face} is
% constructed.\ccPrecond\ccc{0 < d}.} constructed.
\ccPrecond$0 < d$.
}
% \ccGlue\ccMethod{template< typename OutputIterator, typename Comparator > \ccGlue\ccMethod{template< typename OutputIterator, typename Comparator >
% OutputIterator incident_upper_faces(Vertex_const_handle v, const int d, OutputIterator incident_upper_faces(Vertex_const_handle v, const int d,
% OutputIterator out, Comparator cmp);} {Same as above, but uses \ccc{cmp} as OutputIterator out, Comparator cmp);} {Same as above, but uses \ccc{cmp} as
% the vertex ordering to define the upper faces.} the vertex ordering to define the upper faces.}
\ccHeading{Faces and Facets} % - - - - - - - - - - - - - - - - - - - - FACETS \ccHeading{Faces and Facets} % - - - - - - - - - - - - - - - - - - - - FACETS

View File

@ -189,38 +189,43 @@ Returns the (probably modified) output iterator.
} }
\ccMethod{template< typename OutputIterator > OutputIterator \ccMethod{template< typename OutputIterator > OutputIterator
compute_star(const Face & f, OutputIterator out) const;} star(const Face & f, OutputIterator out) const;}
{Insert in \ccc{out} all the full cells that share at least one vertex with the \ccc{Face {Insert in \ccc{out} all the full cells that share at least one vertex with the \ccc{Face
f}. Returns the (probably modified) output iterator. f}. Returns the (probably modified) output iterator.
%\ccPrecond\ccc{is_full_cell(f.full_cell())}. %\ccPrecond\ccc{is_full_cell(f.full_cell())}.
} }
% \ccMethod{template< typename OutputIterator > OutputIterator \ccMethod{template< typename OutputIterator > OutputIterator
% gather_incident_faces(Vertex_const_handle v, const int d, OutputIterator incident_faces(Vertex_const_handle v, const int d, OutputIterator
% out);}{Constructs all the \ccc{Face}s of dimension \ccc{d} incident to out);}{Constructs all the \ccc{Face}s of dimension \ccc{d} incident to
% \ccc{Vertex} v and inserts them in the \ccc{OutputIterator out}. If \ccc{d \ccc{Vertex} v and inserts them in the \ccc{OutputIterator out}. If \ccc{d
% >=} \ccVar.\ccc{current_dimension()}, then no \ccc{Face} is >=} \ccVar.\ccc{current_dimension()}, then no \ccc{Face} is
% constructed.\ccPrecond\ccc{0 < d}.} constructed.
\ccPrecond\ccc{0 < d}.
}
% \ccMethod{template< typename OutputIterator > OutputIterator \ccMethod{template< typename OutputIterator > OutputIterator
% gather_incident_upper_faces(Vertex_const_handle v, const int d, OutputIterator incident_upper_faces(Vertex_const_handle v, const int d, OutputIterator
% out);}{Constructs all the \textbf{upper} \ccc{Face}s of dimension \ccc{d} out);}{Constructs all the \textbf{upper} \ccc{Face}s of dimension \ccc{d}
% incident to \ccc{Vertex} v and inserts them in the \ccc{OutputIterator out}.\\ incident to \ccc{Vertex} v and inserts them in the \ccc{OutputIterator out}.\\
% Assuming some total ordering on the vertices of the complex (which is Assuming some total ordering on the vertices of the complex (which is
% invariant as long as no vertex is inserted in or removed from the complex), a invariant as long as no vertex is inserted in or removed from the complex), a
% \ccc{Face} incident to \ccc{v} is an \emph{upper} \ccc{Face} if and only if \ccc{Face} incident to \ccc{v} is an \emph{upper} \ccc{Face} if and only if
% its vertices occur at \ccc{v} or beyond \ccc{v} in the ordering.\\ In its vertices occur at \ccc{v} or beyond \ccc{v} in the ordering.\\ In
% particular, taking the disjoint union of the upper \ccc{Face}s of dimension particular, taking the disjoint union of the upper \ccc{Face}s of dimension
% \ccc{d} incident to every vertex of the complex yields exactly the set of \ccc{d} incident to every vertex of the complex yields exactly the set of
% faces of dimension \ccc{d} of the complex.\\ The constructed \ccc{Faces} are faces of dimension \ccc{d} of the complex.\\ The constructed \ccc{Faces} are
% lexicographically ordered (using the vertex order as base ordering). If \ccc{d lexicographically ordered (using the vertex order as base
% >=} \ccVar.\ccc{current_dimension()}, then no \ccc{Face} is ordering). If
% constructed.\ccPrecond\ccc{0 < d}.} $d\geq$\ccVar.\ccc{current_dimension()}, then no \ccc{Face} is
constructed.
\ccPrecond\ccc{0 < d}.
}
% \ccGlue\ccMethod{template< typename OutputIterator, typename Comparator > \ccGlue\ccMethod{template< typename OutputIterator, typename Comparator >
% OutputIterator gather_incident_upper_faces(Vertex_const_handle v, const int d, OutputIterator incident_upper_faces(Vertex_const_handle v, const int d,
% OutputIterator out, Comparator cmp);} {Same as above, but uses \ccc{cmp} as OutputIterator out, Comparator cmp);} {Same as above, but uses \ccc{cmp} as
% the vertex ordering to define the upper faces.} the vertex ordering to define the upper faces.}
\ccHeading{Accessing the vertices} % --------------------- ACCESS TO VERTICES \ccHeading{Accessing the vertices} % --------------------- ACCESS TO VERTICES