static std::pair<Graph::HalfEdge *, Graph::HalfEdge *> getRandomOpposingEdges( Graph::Face &face, FRandomStream &random) { // Get all the edges in the face. std::vector<Graph::HalfEdge *> edges; edges.reserve(4u); auto &firstEdge = Graph::GetHalfEdge(face); auto *edge = &firstEdge; do { edges.emplace_back(edge); edge = &Graph::GetNextInFace(*edge); } while (edge != &firstEdge); check(edges.size() == 4u); auto randomIndex = random.RandRange(0, edges.size() - 1); return {edges[randomIndex], edges[(randomIndex + 2u) % edges.size()]}; }
bool UKismetMathLibrary::RandomBoolFromStream(const FRandomStream& Stream) { return (Stream.RandRange(0,1) == 1) ? true : false; }
int32 UKismetMathLibrary::RandomIntegerInRangeFromStream(int32 Min, int32 Max, const FRandomStream& Stream) { return Stream.RandRange(Min, Max); }