Subversion Repositories gelsvn

Rev

Rev 595 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 595 Rev 600
Line 67... Line 67...
67
                   const int* indices);
67
                   const int* indices);
68
 
68
 
69
        /// Build a manifold from a TriMesh
69
        /// Build a manifold from a TriMesh
70
        void build(const Geometry::TriMesh& mesh);
70
        void build(const Geometry::TriMesh& mesh);
71
        
71
        
72
        /// Add a face to the Manifold
72
        /** Add a face to the Manifold.
-
 
73
         This function is provided a vector of points in space and transforms it into a single 
-
 
74
         polygonal face calling build. It is purely for convenience. */
73
        FaceID add_face(std::vector<Manifold::Vec> points);
75
        FaceID add_face(std::vector<Manifold::Vec> points);
74
 
76
 
75
//        /** Removes a face from the Manifold. If it is an interior face it is simply replaces
77
        /** Removes a face from the Manifold. If it is an interior face it is simply replaces
76
//         by an InvalidFaceID. If the face contains boundary edges, these go away. */
78
         by an InvalidFaceID. If the face contains boundary edges, these are removed. Situations
-
 
79
         may arise where the mesh is no longer manifold because the situation at a boundary vertex
-
 
80
         is not homeomorphic to a half disk. This, we can probably ignore since from the data
-
 
81
         structure point of view it is not really a problem that a vertex is incident on two holes - 
-
 
82
        a hole can be seen as a special type of face. The function returns false if the FaceID is 
-
 
83
         not valid, otherwise the function must complete. */
77
//        bool remove_face(FaceID fid);
84
        bool remove_face(FaceID fid);
78
//
85
 
79
//        /** Remove an edge from the Manifold.
86
        /** Remove an edge from the Manifold.
80
//         This function will remove the faces on either side and the edge itself in the process. */
87
            This function will remove the faces on either side and the edge itself in the process. Thus,
-
 
88
         it is a simple application of remove_face. */
81
//        bool remove_edge(HalfEdgeID hid);
89
            bool remove_edge(HalfEdgeID hid);
82
//
90
 
83
//        /** Remove a vertex from the Manifold.
91
        /** Remove a vertex from the Manifold.
84
//         This function merges all faces around the vertex into one and then removes 
92
         This function merges all faces around the vertex into one and then removes 
85
//         this resulting face. */
93
         this resulting face. */
86
//        bool remove_vertex(VertexID vid);
94
        bool remove_vertex(VertexID vid);
87
        
95
        
88
        /// number of  vertices
96
        /// number of  vertices
89
        size_t no_vertices() const { return kernel.no_vertices();}
97
        size_t no_vertices() const { return kernel.no_vertices();}
90
        /// number of active faces
98
        /// number of active faces
91
        size_t no_faces() const { return kernel.no_faces();}
99
        size_t no_faces() const { return kernel.no_faces();}