20#ifdef DEBUG_BOUNDING_SPHERES
50 m_needUpdateVBOs = (
nullptr != m_heights);
57 for (
int i = 0; i < NUM_KIDS; i++) {
58 if (m_kids[i].get() == child)
return i;
67 return (m_v0 + x * (1.0 - y) * (m_v1 - m_v0) + x * y * (m_v2 - m_v0) + (1.0 - x) * y * (m_v3 - m_v0)).
Normalized();
76 for (
int i = 0; i < NUM_KIDS; i++) {
77 merge &= m_kids[i]->canBeMerged();
80 merge &= !(m_HasJobRequest);
92 inline bool HasHeightData()
const {
return (m_heights.get() !=
nullptr); }
95 static const int NUM_KIDS = 4;
98 const vector3d m_v0, m_v1, m_v2, m_v3;
99 std::unique_ptr<double[]> m_heights;
100 std::unique_ptr<vector3f[]> m_normals;
101 std::unique_ptr<Color3ub[]> m_colors;
102 std::unique_ptr<Graphics::MeshObject> m_patchMesh;
103 std::unique_ptr<GeoPatch> m_kids[NUM_KIDS];
106 double m_roughLength;
107 vector3d m_clipCentroid, m_centroid;
110 bool m_needUpdateVBOs;
114 bool m_HasJobRequest;
115#ifdef DEBUG_BOUNDING_SPHERES
116 std::unique_ptr<Graphics::Drawables::Sphere3D> m_boundsphere;
Definition GeoPatchJobs.h:258
Definition GeoPatchContext.h:18
Definition GeoPatchID.h:9
vector3d GetSpherePoint(const double x, const double y) const
Definition GeoPatch.h:65
void UpdateVBOs(Graphics::Renderer *renderer)
Definition GeoPatch.cpp:84
void Render(Graphics::Renderer *r, const vector3d &campos, const matrix4x4d &modelView, const Graphics::Frustum &frustum)
Definition GeoPatch.cpp:263
void NeedToUpdateVBOs()
Definition GeoPatch.h:48
bool canBeMerged() const
Definition GeoPatch.h:72
void ReceiveJobHandle(Job::Handle job)
Definition GeoPatch.cpp:463
void ReceiveHeightmaps(SQuadSplitResult *psr)
Definition GeoPatch.cpp:399
~GeoPatch()
Definition GeoPatch.cpp:73
void RequestSinglePatch()
Definition GeoPatch.cpp:388
void LODUpdate(const vector3d &campos, const Graphics::Frustum &frustum)
Definition GeoPatch.cpp:320
void ReceiveHeightResult(const SSplitResultData &data)
Definition GeoPatch.cpp:443
bool HasHeightData() const
Definition GeoPatch.h:92
void ReceiveHeightmap(const SSingleSplitResult *psr)
Definition GeoPatch.cpp:432
int GetChildIdx(const GeoPatch *child) const
Definition GeoPatch.h:55
Definition GeoSphere.h:29
Definition RefCounted.h:36
Definition GeoPatchJobs.h:170
Definition GeoPatchJobs.h:213
vector3 Normalized() const
Definition vector3.h:125
Definition Background.h:14
Definition GeoPatchJobs.h:127