MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / LoadClassPolygon

Function LoadClassPolygon

src/Core/Bindings/obe/Transform/Transform.cpp:61–119  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

59 bindMovable["getPosition"] = &obe::Transform::Movable::getPosition;
60 }
61 void LoadClassPolygon(sol::state_view state)
62 {
63 sol::table TransformNamespace = state["obe"]["Transform"].get<sol::table>();
64 sol::usertype<obe::Transform::Polygon> bindPolygon
65 = TransformNamespace.new_usertype<obe::Transform::Polygon>("Polygon",
66 sol::call_constructor, sol::default_constructor, sol::base_classes,
67 sol::bases<obe::Transform::UnitBasedObject, obe::Transform::Movable>());
68 bindPolygon["addPoint"] = sol::overload(
69 [](obe::Transform::Polygon* self, const obe::Transform::UnitVector& position)
70 -> void { return self->addPoint(position); },
71 [](obe::Transform::Polygon* self, const obe::Transform::UnitVector& position,
72 int pointIndex) -> void { return self->addPoint(position, pointIndex); });
73 bindPolygon["findClosestSegment"] = &obe::Transform::Polygon::findClosestSegment;
74 bindPolygon["findClosestPoint"] = sol::overload(
75 [](obe::Transform::Polygon* self, const obe::Transform::UnitVector& position)
76 -> obe::Transform::PolygonPoint& {
77 return self->findClosestPoint(position);
78 },
79 [](obe::Transform::Polygon* self, const obe::Transform::UnitVector& position,
80 bool neighbor) -> obe::Transform::PolygonPoint& {
81 return self->findClosestPoint(position, neighbor);
82 },
83 [](obe::Transform::Polygon* self, const obe::Transform::UnitVector& position,
84 bool neighbor,
85 const std::vector<obe::Transform::point_index_t>& excludedPoints)
86 -> obe::Transform::PolygonPoint& {
87 return self->findClosestPoint(position, neighbor, excludedPoints);
88 });
89 bindPolygon["getAllPoints"] = &obe::Transform::Polygon::getAllPoints;
90 bindPolygon["getCentroid"] = &obe::Transform::Polygon::getCentroid;
91 bindPolygon["getPointsAmount"] = &obe::Transform::Polygon::getPointsAmount;
92 bindPolygon["getPosition"] = &obe::Transform::Polygon::getPosition;
93 bindPolygon["getRotation"] = &obe::Transform::Polygon::getRotation;
94 bindPolygon["getSegment"] = &obe::Transform::Polygon::getSegment;
95 bindPolygon["getSegmentContainingPoint"] = sol::overload(
96 [](obe::Transform::Polygon* self, const obe::Transform::UnitVector& position)
97 -> std::optional<obe::Transform::PolygonSegment> {
98 return self->getSegmentContainingPoint(position);
99 },
100 [](obe::Transform::Polygon* self, const obe::Transform::UnitVector& position,
101 double tolerance) -> std::optional<obe::Transform::PolygonSegment> {
102 return self->getSegmentContainingPoint(position, tolerance);
103 });
104 bindPolygon["isCentroidAroundPosition"]
105 = &obe::Transform::Polygon::isCentroidAroundPosition;
106 bindPolygon["getPointAroundPosition"]
107 = &obe::Transform::Polygon::getPointAroundPosition;
108 bindPolygon["move"] = &obe::Transform::Polygon::move;
109 bindPolygon["rotate"] = &obe::Transform::Polygon::rotate;
110 bindPolygon["setPosition"] = &obe::Transform::Polygon::setPosition;
111 bindPolygon["setRotation"] = &obe::Transform::Polygon::setRotation;
112 bindPolygon["setPositionFromCentroid"]
113 = &obe::Transform::Polygon::setPositionFromCentroid;
114 bindPolygon[sol::meta_function::index] = &obe::Transform::Polygon::operator[];
115 bindPolygon["get"] = &obe::Transform::Polygon::get;
116 bindPolygon["getBoundingBox"] = &obe::Transform::Polygon::getBoundingBox;
117 bindPolygon["DefaultTolerance"]
118 = sol::var(obe::Transform::Polygon::DefaultTolerance);

Callers

nothing calls this directly

Calls 4

overloadFunction · 0.85
varFunction · 0.85
addPointMethod · 0.80

Tested by

no test coverage detected