Всем привет, реализовую структуру 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 ответов

16 просмотров

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

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

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

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта