Subversion Repositories gelsvn

Rev

Rev 39 | Go to most recent revision | Blame | Last modification | View Log | RSS feed

#ifndef __VERTEX_H__
#define __VERTEX_H__

#include "templates.h"


namespace HMesh
{
        typedef Vertex_template<Iters> Vertex;
        typedef Iters::VertexList VertexList;
        typedef Iters::VertexIter VertexIter;

        /** Null Element for vertex lists. This is used as the value of an iterator
                        that points to nothing. */
        extern VertexIter NULL_VERTEX_ITER;

        /// Compute valency, i.e. number of incident edges.
        int valency(VertexIter v);

        /** Compute the vertex normal. This function computes the angle
                        weighted sum of incident face normals. */
        const CGLA::Vec3f normal(VertexIter v);

        /** Returns true if the two argument vertices are in each other's 
                        one-rings. */
        bool is_connected(VertexIter v1, VertexIter v2);

        /** Returns true if the vertex is a boundary vertex. */
        bool is_boundary(VertexIter v);

        /** Check and enforce boundary consistency. */
        void check_boundary_consistency(VertexIter v);



}
#endif