Subversion Repositories gelsvn

Rev

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

#ifndef __FACE_H__
#define __FACE_H__

#include "templates.h"

namespace HMesh
{
        typedef Face_template<Iters> Face;
        typedef Iters::FaceList FaceList;
        typedef Iters::FaceIter FaceIter;
        typedef Iters::HalfEdgeIter HalfEdgeIter;

        /** Null Element for face lists. This is used as the value of an iterator
                        that points to nothing. */
        extern FaceIter NULL_FACE_ITER;

        /// Compute the number of edges of a face
        int no_edges(FaceIter v);

        /** Compute the normal of a face. If the face is not a triangle,
                        the normal is not defined, but computed using the first three
                        vertices of the face. */
        CGLA::Vec3f get_normal(FaceIter f);

        /** Compute the area of a face. */
        float get_area(FaceIter f);
                
        /** Compute the centre of a face */
        CGLA::Vec3f get_centre(FaceIter f);

}
#endif