Aggiunta superclasse UpdateTopology templated sui container e con funzioni sui container

This commit is contained in:
ganovelli 2006-06-29 13:07:33 +00:00
parent fe085b09ef
commit 29b18eb3c0
1 changed files with 21 additions and 2 deletions

View File

@ -23,6 +23,8 @@
/**************************************************************************** /****************************************************************************
History History
$Log: not supported by cvs2svn $
Revision 1.1 2004/16/04 14:32 pietroni Revision 1.1 2004/16/04 14:32 pietroni
Initial commit Initial commit
@ -163,7 +165,7 @@ public:
@param STL_TETRA_CONT (Template Parameter) Specifies the type of the tetrahedrons container any the tetrahedrons type. @param STL_TETRA_CONT (Template Parameter) Specifies the type of the tetrahedrons container any the tetrahedrons type.
*/ */
template < class STL_VERT_CONT ,class STL_TETRA_CONT > template < class STL_VERT_CONT ,class STL_TETRA_CONT >
class UpdateTetraTopology class UpdateTopologyBase
{ {
public: public:
@ -328,7 +330,7 @@ static void TestVTTopology(VertexContainer &vert,TetraContainer &tetra)
**/ **/
//@{ //@{
///Build the Tetrahedron-Tetrahedron Topology (by Face) ///Build the Tetrahedron-Tetrahedron Topology (by Face)
static void TTTopology(VertexContainer &vert,TetraContainer &tetra) static void TTTopology(const VertexContainer &vert,TetraContainer &tetra)
{ {
vector <Facet<VertexType,TetraType> > VF; vector <Facet<VertexType,TetraType> > VF;
VertexType* v0; VertexType* v0;
@ -398,6 +400,8 @@ static void TTTopology(VertexContainer &vert,TetraContainer &tetra)
} }
} }
///Connect trought Tetrahedron-Tetrahedron Topology t0 and t1 with faces i0 and i1 ///Connect trought Tetrahedron-Tetrahedron Topology t0 and t1 with faces i0 and i1
static void _AttachTTTopology(TetraType *t0,int i0,TetraType *t1,int i1) static void _AttachTTTopology(TetraType *t0,int i0,TetraType *t1,int i1)
{ {
@ -690,6 +694,21 @@ static bool IsExternEdge(TetraType *t,int edge)
} }
}; // end class }; // end class
template <class TetraMeshType>
class UpdateTopology: public UpdateTopologyBase<typename TetraMeshType::VertexContainer,
typename TetraMeshType::TetraContainer>{
public:
static void TTTopology(TetraMeshType & tmesh){
UpdateTopologyBase<typename TetraMeshType::VertexContainer,typename TetraMeshType::TetraContainer>::
TTTopology(tmesh.vert,tmesh.tetra);
}
static void VTTopology(TetraMeshType & tmesh){
UpdateTopologyBase<typename TetraMeshType::VertexContainer,typename TetraMeshType::TetraContainer>::
TTTopology(tmesh.vert,tmesh.tetra);
}
};
/*@}*/ /*@}*/
} // End namespace } // End namespace