Cogs.Core
Public Member Functions | Protected Member Functions | Protected Attributes | Static Private Member Functions | Private Attributes | Friends | List of all members
Cogs::Core::TerrainProvider::BaseRasterSource Class Referenceabstract
Inheritance diagram for Cogs::Core::TerrainProvider::BaseRasterSource:
Cogs::Core::TerrainProvider::IRasterSource Cogs::Core::TerrainProvider::ColorRasterSource Cogs::Core::TerrainProvider::FloatRasterSource Cogs::Core::TerrainProvider::HTTPRasterSource Cogs::Core::TerrainProvider::NullRasterSource Cogs::Core::TerrainProvider::WCSRasterSource Cogs::Core::TerrainProvider::WMSRasterSource

Public Member Functions

 BaseRasterSource (Context *context)
 
Cogs::RasterSourceParameters getParameters () const override
 
const CoordSysgetCoordSys () const
 
ErrorCode getErrorCode () const final
 
void setErrorCode (ErrorCode newErrorCode)
 
- Public Member Functions inherited from Cogs::Core::TerrainProvider::IRasterSource
virtual Cogs::RasterSourceParameters getParameters () const =0
 
virtual ErrorCode getErrorCode () const =0
 
uint64_t id () const
 

Protected Member Functions

bool init (const BaseConfig &conf, std::unique_ptr< ICache > &&icache)
 
void getConfig (BaseConfig &conf) const
 
void addTile (const Cogs::Memory::MemoryBuffer &contents, MimeType kind, Request *req, StringView debugLog)
 
void addTileFailure (Request *req, StringView debugLog)
 
virtual void requestTile (Request *req)=0
 

Protected Attributes

Contextcontext = nullptr
 
Extent extent
 
Tiling tiling
 
CoordSys coordsys
 
TextureFormat textureFormat = TextureFormat::Unknown
 
StringRef name = NoString
 
float noDataValue = std::numeric_limits<float>::quiet_NaN()
 
bool emitDebugLog = true
 

Static Private Member Functions

static bool tileRequestCallbackFunc (void *userData, TileLoadCallback tileLoadCallback, int level, int x, int y)
 

Private Attributes

std::unique_ptr< ICachecache
 
class StashServicestashService = nullptr
 
struct {
   Cogs::Mutex   mutex
 
   Cogs::Collections::Pool< Request >   store
 
   std::unordered_set< uint64_t >   inFlight
 
   IntrusiveList   hasHandleTask
 
   IntrusiveList   waitingForProvider
 
requests
 
struct {
   Cogs::Mutex   mutex
 
   ErrorCode   errorCode = ErrorCode::NoError
 
state
 

Friends

class HandleRequestTask
 

Additional Inherited Members

- Public Types inherited from Cogs::Core::TerrainProvider::IRasterSource
enum struct  ErrorCode {
  NoError , Done , FailedToOpenDiskCache , FailedToCreateDiskCache ,
  MismatchedDiskCache , NoHTTPService
}
 

Detailed Description

Definition at line 93 of file BaseRasterSource.h.

Constructor & Destructor Documentation

◆ BaseRasterSource()

Cogs::Core::TerrainProvider::BaseRasterSource::BaseRasterSource ( Context context)

Definition at line 150 of file BaseRasterSource.cpp.

◆ ~BaseRasterSource()

Cogs::Core::TerrainProvider::BaseRasterSource::~BaseRasterSource ( )
virtual

Definition at line 158 of file BaseRasterSource.cpp.

Member Function Documentation

◆ addTile()

void Cogs::Core::TerrainProvider::BaseRasterSource::addTile ( const Cogs::Memory::MemoryBuffer contents,
MimeType  kind,
Request req,
StringView  debugLog 
)
protected

Definition at line 268 of file BaseRasterSource.cpp.

◆ addTileFailure()

void Cogs::Core::TerrainProvider::BaseRasterSource::addTileFailure ( Request req,
StringView  debugLog 
)
protected

Definition at line 284 of file BaseRasterSource.cpp.

◆ getConfig()

void Cogs::Core::TerrainProvider::BaseRasterSource::getConfig ( BaseConfig conf) const
protected

Definition at line 232 of file BaseRasterSource.cpp.

◆ getCoordSys()

const CoordSys & Cogs::Core::TerrainProvider::BaseRasterSource::getCoordSys ( ) const
inline

Definition at line 100 of file BaseRasterSource.h.

◆ getErrorCode()

Cogs::Core::TerrainProvider::IRasterSource::ErrorCode Cogs::Core::TerrainProvider::BaseRasterSource::getErrorCode ( ) const
finalvirtual

Implements Cogs::Core::TerrainProvider::IRasterSource.

Definition at line 175 of file BaseRasterSource.cpp.

◆ getParameters()

Cogs::RasterSourceParameters Cogs::Core::TerrainProvider::BaseRasterSource::getParameters ( ) const
overridevirtual

Implements Cogs::Core::TerrainProvider::IRasterSource.

Definition at line 241 of file BaseRasterSource.cpp.

◆ init()

bool Cogs::Core::TerrainProvider::BaseRasterSource::init ( const BaseConfig conf,
std::unique_ptr< ICache > &&  icache 
)
protected

Definition at line 189 of file BaseRasterSource.cpp.

◆ setErrorCode()

void Cogs::Core::TerrainProvider::BaseRasterSource::setErrorCode ( ErrorCode  newErrorCode)

Definition at line 181 of file BaseRasterSource.cpp.

◆ tileRequestCallbackFunc()

bool Cogs::Core::TerrainProvider::BaseRasterSource::tileRequestCallbackFunc ( void *  userData,
TileLoadCallback  tileLoadCallback,
int  level,
int  x,
int  y 
)
staticprivate

Definition at line 302 of file BaseRasterSource.cpp.

Friends And Related Function Documentation

◆ HandleRequestTask

friend class HandleRequestTask
friend

Definition at line 95 of file BaseRasterSource.h.

Member Data Documentation

◆ cache

std::unique_ptr<ICache> Cogs::Core::TerrainProvider::BaseRasterSource::cache
private

Definition at line 121 of file BaseRasterSource.h.

◆ context

Context* Cogs::Core::TerrainProvider::BaseRasterSource::context = nullptr
protected

Definition at line 111 of file BaseRasterSource.h.

◆ coordsys

CoordSys Cogs::Core::TerrainProvider::BaseRasterSource::coordsys
protected

Definition at line 114 of file BaseRasterSource.h.

◆ emitDebugLog

bool Cogs::Core::TerrainProvider::BaseRasterSource::emitDebugLog = true
protected

Definition at line 118 of file BaseRasterSource.h.

◆ errorCode

ErrorCode Cogs::Core::TerrainProvider::BaseRasterSource::errorCode = ErrorCode::NoError

Definition at line 160 of file BaseRasterSource.h.

◆ extent

Extent Cogs::Core::TerrainProvider::BaseRasterSource::extent
protected

Definition at line 112 of file BaseRasterSource.h.

◆ hasHandleTask

IntrusiveList Cogs::Core::TerrainProvider::BaseRasterSource::hasHandleTask

Definition at line 154 of file BaseRasterSource.h.

◆ inFlight

std::unordered_set<uint64_t> Cogs::Core::TerrainProvider::BaseRasterSource::inFlight

Definition at line 153 of file BaseRasterSource.h.

◆ mutex

Cogs::Mutex Cogs::Core::TerrainProvider::BaseRasterSource::mutex
mutable

Definition at line 151 of file BaseRasterSource.h.

◆ name

StringRef Cogs::Core::TerrainProvider::BaseRasterSource::name = NoString
protected

Definition at line 116 of file BaseRasterSource.h.

◆ noDataValue

float Cogs::Core::TerrainProvider::BaseRasterSource::noDataValue = std::numeric_limits<float>::quiet_NaN()
protected

Definition at line 117 of file BaseRasterSource.h.

◆ stashService

class StashService* Cogs::Core::TerrainProvider::BaseRasterSource::stashService = nullptr
private

Definition at line 122 of file BaseRasterSource.h.

◆ store

Cogs::Collections::Pool<Request> Cogs::Core::TerrainProvider::BaseRasterSource::store

Definition at line 152 of file BaseRasterSource.h.

◆ textureFormat

TextureFormat Cogs::Core::TerrainProvider::BaseRasterSource::textureFormat = TextureFormat::Unknown
protected

Definition at line 115 of file BaseRasterSource.h.

◆ tiling

Tiling Cogs::Core::TerrainProvider::BaseRasterSource::tiling
protected

Definition at line 113 of file BaseRasterSource.h.

◆ waitingForProvider

IntrusiveList Cogs::Core::TerrainProvider::BaseRasterSource::waitingForProvider

Definition at line 155 of file BaseRasterSource.h.


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