This commit is contained in:
watrabi
2025-10-28 14:05:46 -04:00
parent 977f1ff4b8
commit c93494f795
452 changed files with 47860 additions and 152 deletions
+46
View File
@@ -0,0 +1,46 @@
/* Copyright 2003-2005 ROBLOX Corporation, All Rights Reserved */
#pragma once
#include "V8World/CellContact.h"
namespace RBX {
class Poly;
class BallPlaneConnector;
class BallEdgeConnector;
class BallVertexConnector;
namespace POLY {
class Face;
class Edge;
class Vertex;
}
class BallCellContact
: public CellMeshContact
, public Allocator<BallCellContact>
{
private:
const POLY::Face* getFarthestPlane(float& planeToCenter, const Vector3& ballInCell);
const POLY::Edge* getClosestEdge(const POLY::Face* face, float& edgeToCenter, const Vector3& ballInCell);
const POLY::Edge* getClosestInVoronoiEdge(const POLY::Face* face, float& edgeToCenter, const Vector3& ballInCell);
const POLY::Vertex* getClosestVertex(const POLY::Edge* edge, float& vertexToCenter, const Vector3& ballInCell);
BallPlaneConnector* newBallPlaneConnector(const POLY::Face* face);
BallEdgeConnector* newBallEdgeConnector(const POLY::Edge* edge);
BallVertexConnector* newBallVertexConnector(const POLY::Vertex* vertex);
const Ball* ball() const;
const Poly* poly() const;
/*override*/ void findClosestFeatures(ConnectorArray& newConnectors);
public:
BallCellContact(Primitive* p0, Primitive* p1, const Vector3int16& cell);
~BallCellContact();
void generateDataForMovingAssemblyStage(void); /*override*/
};
} // namespace