All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Eegeo::Streaming::DirectionIndependentCameraFrustumStreamingVolume Class Reference
Inheritance diagram for Eegeo::Streaming::DirectionIndependentCameraFrustumStreamingVolume:
Eegeo::Streaming::CameraFrustumStreamingVolume Eegeo::Streaming::IStreamingVolume

Public Member Functions

 DirectionIndependentCameraFrustumStreamingVolume (const Eegeo::Streaming::ResourceCeilingProvider &resourceCeilingProvider, const std::vector< double > &lodRefinementAltitudes, int deepestLevelForAltitudeLodRefinement, const Rendering::EnvironmentFlatteningService &environmentFlatteningService)
 
bool IntersectsKey (const MortonKey &key, bool &canRefineIntersectedKey, double &intersectedNodeDepthSortSignedDistance) override
 
void updateStreamingVolume (Eegeo::dv3 ecefCentre, const std::vector< Geometry::Plane > &frustumPlanes, float fovRadians) override
 
bool intersectsOriginRelativeSphere (float sphereRadius, const v3 &sphereCentreRelativePos) override
 
- Public Member Functions inherited from Eegeo::Streaming::CameraFrustumStreamingVolume
const Geometry::Frustumfrustum () const
 
const Eegeo::dv3origin () const
 
const Eegeo::v3viewDirection () const
 
float fovRadians () const
 
uint inactivePlaneFlags () const
 
 CameraFrustumStreamingVolume (const Eegeo::Streaming::ResourceCeilingProvider &resourceCeilingProvider, const std::vector< double > &lodRefinementAltitudes, int deepestLevelForAltitudeLodRefinement, const Rendering::EnvironmentFlatteningService &environmentFlatteningService)
 
void ResetVolume (const dv3 &ecefInterestPoint)
 
void setInactivePlaneFlags (uint inactivePlaneFlags)
 
bool intersectsSphere (double sphereRadius, double sphereCentreX, double sphereCentreY, double sphereCentreZ)
 
void setDeepestLevelForAltitudeLodRefinement (int level)
 
void SetForceMaximumRefinement (bool forceMaximumRefinement)
 
bool GetForceMaximumRefinement () const
 

Protected Member Functions

bool intersectsUprightCylinder (double cylinderRadius, double cylinderHeight, double cylinderBaseCentreX, double cylinderBaseCentreY, double cylinderBaseCentreZ) override
 
- Protected Member Functions inherited from Eegeo::Streaming::CameraFrustumStreamingVolume
bool shouldDivideAtDepth (int nodeDepth, double cellCameraSpaceError)
 
int calculateMostDetailedLodLevel (double cameraAltitude)
 
int calculateLodLevelForAltitude (double altitude)
 
void calculateVisibilityThresholds ()
 

Protected Attributes

float m_frustumRadius
 
- Protected Attributes inherited from Eegeo::Streaming::CameraFrustumStreamingVolume
const
Eegeo::Streaming::ResourceCeilingProvider
m_resourceCeilingProvider
 
Eegeo::dv3 m_origin
 
Geometry::Frustum m_frustum
 
float m_fovRadians
 
Eegeo::v3 m_viewDirection
 
uint m_inactivePlaneFlags
 
int m_sphereTestsPerformed
 
int m_cylinderTestsPerformed
 
double m_sagittaAtCylinderTestMinNodeDepth
 
float m_ceilingHeight
 
double m_cellRefineDistance
 
double m_depthSortBias
 
int m_deepestLevelForAltitudeLodRefinement
 
Eegeo::dv3 m_cameraWorldPosition
 
Eegeo::dv3 m_cameraWorldPositionNormal
 
double m_viewDependentScale
 
float m_halfCeilingHeight
 
float m_earthRadiusPlusHalfCeiling
 
float m_earthRadiusPlusCeilingSq
 
float m_halfCeilingHeightSq
 
float m_cylinderHeight
 
float m_earthCentreToCylinderBase
 
double m_cameraAltitude
 
double m_cameraSpaceErrorDenominatorMult
 
int m_stackItemIndex
 
int m_currentMostDetailedLodLevel
 
std::vector< double > m_lodRefinementAltitudes
 
std::vector
< CameraFrustumStreamingVolumeQuadtreeNodeVisitParams
m_stack
 
std::vector< double > m_visibilityThresholdsByDepth
 
bool m_forceMaximumRefinement
 
const
Rendering::EnvironmentFlatteningService
m_environmentFlatteningService
 

Additional Inherited Members

- Static Public Attributes inherited from Eegeo::Streaming::CameraFrustumStreamingVolume
static const int PLANE_FLAGS_ALL = 0x3F
 

The documentation for this class was generated from the following files: