openMSX
|
Public Member Functions | |
void | Init (const ImVec2 *points, int points_count, void *scratch_buffer) |
void | GetNextTriangle (unsigned int out_triangle[3]) |
void | BuildNodes (const ImVec2 *points, int points_count) |
void | BuildReflexes () |
void | BuildEars () |
void | FlipNodeList () |
bool | IsEar (int i0, int i1, int i2, const ImVec2 &v0, const ImVec2 &v1, const ImVec2 &v2) const |
void | ReclassifyNode (ImTriangulatorNode *node) |
Static Public Member Functions | |
static int | EstimateTriangleCount (int points_count) |
static int | EstimateScratchBufferSize (int points_count) |
Public Attributes | |
int | _TrianglesLeft = 0 |
ImTriangulatorNode * | _Nodes = NULL |
ImTriangulatorNodeSpan | _Ears |
ImTriangulatorNodeSpan | _Reflexes |
Definition at line 1786 of file imgui_draw.cc.
void ImTriangulator::BuildEars | ( | ) |
Definition at line 1850 of file imgui_draw.cc.
References _Ears, _Nodes, _TrianglesLeft, ImTriangulatorNodeType_Convex, ImTriangulatorNodeType_Ear, ImTriangulatorNode::Index, IsEar(), ImTriangulatorNode::Next, ImTriangulatorNode::Pos, ImTriangulatorNode::Prev, ImTriangulatorNodeSpan::push_back(), and ImTriangulatorNode::Type.
Referenced by GetNextTriangle(), and Init().
void ImTriangulator::BuildNodes | ( | const ImVec2 * | points, |
int | points_count | ||
) |
Definition at line 1824 of file imgui_draw.cc.
References _Nodes, ImTriangulatorNodeType_Convex, ImTriangulatorNode::Index, ImTriangulatorNode::Next, ImTriangulatorNode::Pos, ImTriangulatorNode::Prev, and ImTriangulatorNode::Type.
Referenced by Init().
void ImTriangulator::BuildReflexes | ( | ) |
Definition at line 1838 of file imgui_draw.cc.
References _Nodes, _Reflexes, _TrianglesLeft, ImTriangulatorNodeType_Reflex, ImTriangulatorNode::Next, ImTriangulatorNode::Pos, ImTriangulatorNode::Prev, ImTriangulatorNodeSpan::push_back(), and ImTriangulatorNode::Type.
Referenced by GetNextTriangle(), and Init().
|
inlinestatic |
Definition at line 1789 of file imgui_draw.cc.
|
inlinestatic |
Definition at line 1788 of file imgui_draw.cc.
Referenced by Init().
void ImTriangulator::FlipNodeList | ( | ) |
Definition at line 1901 of file imgui_draw.cc.
References _Nodes, ImTriangulatorNode::Next, and ImTriangulatorNode::Prev.
Referenced by GetNextTriangle().
void ImTriangulator::GetNextTriangle | ( | unsigned int | out_triangle[3] | ) |
Definition at line 1864 of file imgui_draw.cc.
References _Ears, _Nodes, _Reflexes, _TrianglesLeft, BuildEars(), BuildReflexes(), ImTriangulatorNodeSpan::Data, FlipNodeList(), ImTriangulatorNodeType_Convex, ImTriangulatorNode::Index, ImTriangulatorNode::Next, ImTriangulatorNode::Prev, ReclassifyNode(), ImTriangulatorNodeSpan::Size, ImTriangulatorNode::Type, and ImTriangulatorNode::Unlink().
void ImTriangulator::Init | ( | const ImVec2 * | points, |
int | points_count, | ||
void * | scratch_buffer | ||
) |
Definition at line 1812 of file imgui_draw.cc.
References _Ears, _Nodes, _Reflexes, _TrianglesLeft, BuildEars(), BuildNodes(), BuildReflexes(), ImTriangulatorNodeSpan::Data, and EstimateTriangleCount().
bool ImTriangulator::IsEar | ( | int | i0, |
int | i1, | ||
int | i2, | ||
const ImVec2 & | v0, | ||
const ImVec2 & | v1, | ||
const ImVec2 & | v2 | ||
) | const |
Definition at line 1924 of file imgui_draw.cc.
References _Reflexes, ImTriangulatorNodeSpan::Data, ImTriangleContainsPoint(), ImTriangulatorNode::Index, ImTriangulatorNode::Pos, and ImTriangulatorNodeSpan::Size.
Referenced by BuildEars(), and ReclassifyNode().
void ImTriangulator::ReclassifyNode | ( | ImTriangulatorNode * | node | ) |
Definition at line 1937 of file imgui_draw.cc.
References _Ears, _Reflexes, ImTriangulatorNodeSpan::find_erase_unsorted(), ImTriangulatorNodeType_Convex, ImTriangulatorNodeType_Ear, ImTriangulatorNodeType_Reflex, ImTriangulatorNode::Index, IsEar(), ImTriangulatorNode::Next, ImTriangulatorNode::Pos, ImTriangulatorNode::Prev, ImTriangulatorNodeSpan::push_back(), and ImTriangulatorNode::Type.
Referenced by GetNextTriangle().
ImTriangulatorNodeSpan ImTriangulator::_Ears |
Definition at line 1805 of file imgui_draw.cc.
Referenced by BuildEars(), GetNextTriangle(), Init(), and ReclassifyNode().
ImTriangulatorNode* ImTriangulator::_Nodes = NULL |
Definition at line 1804 of file imgui_draw.cc.
Referenced by BuildEars(), BuildNodes(), BuildReflexes(), FlipNodeList(), GetNextTriangle(), and Init().
ImTriangulatorNodeSpan ImTriangulator::_Reflexes |
Definition at line 1806 of file imgui_draw.cc.
Referenced by BuildReflexes(), GetNextTriangle(), Init(), IsEar(), and ReclassifyNode().
int ImTriangulator::_TrianglesLeft = 0 |
Definition at line 1803 of file imgui_draw.cc.
Referenced by BuildEars(), BuildReflexes(), GetNextTriangle(), and Init().