template class geode::EdgedCurveModifier

Overview

#include <edged_curve_modifier.h>

template <index_t dimension>
class EdgedCurveModifier: public geode::VertexSetModifier
{
public:
    // construction

    EdgedCurveModifier(
        const EdgedCurve<dimension>& curve,
        EdgedCurveBuilder<dimension>& builder
        );

    EdgedCurveModifier(EdgedCurveModifier&& other);

    // methods

    bool is_edge_active(index_t edge_id) const;
    index_t collapse_edge(index_t edge_id, const Point<dimension>& point);
    index_t split_edge(index_t edge_id, const Point<dimension>& point);
    std::vector<index_t> clean_edges();
    std::vector<index_t> clean_vertices();
    std::tuple<std::vector<index_t>, std::vector<index_t>> clean();
};

Inherited Members

public:
    // methods

    index_t updated_vertex(index_t vertex_id) const;

Detailed Documentation

Methods

index_t collapse_edge(index_t edge_id, const Point<dimension>& point)

Collapse an edge.

Parameters:

edge_id

Index of the edge to collapse.

point

Coordinates of the collapse point.

Returns:

the index of the collapse vertex.

index_t split_edge(index_t edge_id, const Point<dimension>& point)

Split an edge.

Parameters:

edge_id

Index of the edge to split.

point

Coordinates of the new point.

Returns:

the index of the new vertex.

std::vector<index_t> clean_edges()

Clean up the mesh removing inactive edges

Returns:

old2new mappings for edges

std::vector<index_t> clean_vertices()

Clean up the mesh removing isolated vertices

Returns:

old2new mappings for vertices

std::tuple<std::vector<index_t>, std::vector<index_t>> clean()

Clean up the mesh removing inactive edges, isolated vertices.

Returns:

old2new mappings for edges and vertices.