Всем привет, реализовую структуру half-edge. Нашел такой каркас этой структуры,

но я не могу понять одного: в каком месте сохранять координаты вершин?

struct HalfEdgeHandle { int64_t index = -1; };
struct VertexHandle { int64_t index = -1; };
struct FaceHandle { int64_t index = -1; };

struct HalfEdge{
//The face it belongs to, is invalid (== -1) if a boundary half-edge
FaceHandle fh;
//The vertex it points to is always valid
VertexHandle dst;
HalfEdgeHandle twin;
//The next HalfEdge in the CCW order is always valid
HalfEdgeHandle next;
//The previous HalfEdge in the CCW order can be stored for the optimization purposes. For the triangle meshes prev = next->next->next
HalfEdgeHandle prev;
};

struct Face{
//One of the HalfEdges belonging to the Face, always valid
HalfEdgeHandle heh;
};

struct Vertex{
//An outgoing HalfEdge from this vertex. It is == -1 if the vertex is isolated
HalfEdgeHandle heh;
};

class HalfEdgeTable{
public:
VertexHandle addVertex(glm::vec3 position);
FaceHandle addFace(VertexHandle vh0, VertexHandle vh1, VertexHandle vh2);
//Builds twins for half-edges. This function must be called in the end
void connectTwins();public: const
std::vector<Vertex>& getVertices() const;
const std::vector<Face>& getFaces() const;
private:
// TODO
};

1 ответов

8 просмотров

логика мне говорит, что в Vertex?

Похожие вопросы

Обсуждают сегодня

> Примечательно, что новый владелец удаляет из GitHub любые жалобы, указывающие на подозрительную активность или смену владельца, и, видимо, рассчитывает на то, что пользовате...
Alex Sherbakov
2
Коллеги, добрый день. Есть такой вопрос: Есть модуль, который надо запустить через супервизор как дочерний процесс. Пока инстансов было нужно 8, всё было окей, но когда их ст...
Δημήτηρ
4
я часов 15 назад начал пытаться написать хоть что-то напоминающее ос и у меня есть проблема, которую я пытаюсь решить последние часов 5: есть крч 2 исходника с минимальным код...
Al1to
17
Как убрать предупреждение с минимальным количеством костылей?)
Jaroshevskii
7
Ребят, а вот такой вопрос: если я владелец бота анонимного чата, в котором, например, имеются подписки, используя какую-нибудь ЮКассу (или тому подобное, в общем с налогами, в...
Eugene Неелов
8
Всем привет ребят! Мб кто-то сталкивался? adminСomponents .get("searchСomponents", use: searchComponents) .openAPI( summary: ...
Admin Adminov
2
а у тг (бот) апи вообще есть статусная страница, кстати?
e\\/gen
5
Всем привет. А никто не в курсе у бота может быть заблокированна возможность принимать звезды? На одном боте вызываю sendInvoice с нужными параметрами все ок, на втором дела...
John Doe
2
Кто-нибудь пробовал использовать встроенный в Vapor Validation, чтобы проверить 2 поля одновременно? Хотел на него перевести часть кода, чтобы глаза не мозолило в запросах, но...
Seryoga
3
За последнее время были какие-то изменения в работе ботов, принимающие заявки в каналы? Давно делал бота, сейчас открыл логи, а там сплошь Forbidden: bot can't initiate conve...
Lencore
1
Карта сайта