1#ifndef EmbreeTargetManager_h
2#define EmbreeTargetManager_h
12#include "EmbreeTargetShape.h"
42 void free(
const QString &shapeFile);
46 bool inCache(
const QString &shapeFile)
const;
82 : m_fullFilePath(fullPath),
86 QString m_fullFilePath;
Class for managing the construction and destruction of EmbreeTargetShapes.
int maxCacheSize() const
Return the maximum number of stored EmbreeTargetShapes.
void removeTargetShape(const QString &shapeFile)
Method for removing an EmbreeTargetShape from the internal cache.
EmbreeTargetShape * create(const QString &shapeFile)
Get a pointer to an EmbreeTargetShape containing the information from a shape file.
static void DieAtExit()
Exit termination routine.
EmbreeTargetManager()
This constructor will initialize the EmbreeTargetManager object to default values.
QString fullFilePath(const QString &filePath) const
Helper function that takes a file path and returns the full file path.
bool inCache(const QString &shapeFile) const
Check if there is an already created EmbreeTargetShape for a file.
void free(const QString &shapeFile)
Notify the manager that an EmbreeTargetShape is no longer in use.
int m_maxCacheSize
!< The cache of created target shapes.
void setMaxCacheSize(const int &numShapes)
Set the maximum number of stored EmbreeTargetShapes.
static EmbreeTargetManager * getInstance()
Retrieve reference to Singleton instance of this object.
int currentCacheSize() const
Return the number of currently stored EmbreeTargetShapes.
static EmbreeTargetManager * m_maker
Initialize the singleton factory pointer.
QMap< QString, EmbreeTargetShapeContainer > m_targeCache
!< Pointer to the singleton factory.
~EmbreeTargetManager()
Destructor that frees all of the EmbreeTargetShapes managed by this object.
Embree Target Shape for planetary bodies.
This is free and unencumbered software released into the public domain.
Reference counting container for EmbreeTargetShapes.
EmbreeTargetShape * m_targetShape
!< The full path to the file used to construct the EmbreeTargetShape.
EmbreeTargetShapeContainer(const QString &fullPath, EmbreeTargetShape *targetShape)
Constructs a container for a target shape and path.
int m_referenceCount
!< The EmbreeTargetShape.
EmbreeTargetShapeContainer()
Default constructor.