VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends
makVrv::DtIntervisibilitySettingsManager Class Reference

This manager will manage settings for intervisibility objects.

Inheritance diagram for makVrv::DtIntervisibilitySettingsManager:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtIntervisibilitySettingsManager ()
 
Setters/getters for settings
void setIntervisibilityEnabled (bool enabled)
 
bool intervisibilityEnabled () const
 
void setLeftClickMakesObjectsPermanent (bool enabled)
 
bool leftClickMakesObjectsPermanent () const
 
void setOriginIntervisibilityElevation (double height)
 
double originIntervisibilityElevation () const
 
void setEndPointIntervisibilityElevation (double height)
 
double endPointIntervisibilityElevation () const
 
void setFanModeSamplingRate (double radAngle)
 
double fanModeSamplingRate () const
 
void setEntityFanUpdateRate (double interval)
 
double entityFanUpdateRate () const
 
void setHatLinesEnabled (bool hatEnabled)
 
bool hatLinesEnabled () const
 
void setHatLinesOnSelectionOnly (bool selOnly)
 
bool hatLinesOnSelectionOnly () const
 
void setVisibleColor (float r, float g, float b, float a)
 
void visibleColor (float &r, float &g, float &b, float &a) const
 
void setBlockedColor (float r, float g, float b, float a)
 
void blockedColor (float &r, float &g, float &b, float &a) const
 
void setCircleColor (float r, float g, float b, float a)
 
void circleColor (float &r, float &g, float &b, float &a) const
 
Archiving methods
virtual void setFromRecord (const makArchives::DtIntervisibilitySettingsRecord &rec)
 
virtual void getRecord (makArchives::DtIntervisibilitySettingsRecord &rec) const
 
Methods for checking if object (object type) is attachable.
virtual bool isAttachableObjectType (DtElementEntry::ObjectType t) const
 
virtual bool isAttachableObjectType (DtUniqueID elementId) const
 
- Public Member Functions inherited from makVrv::DtBaseSettingsManager< makArchives::DtIntervisibilitySettingsRecord >
 DtBaseSettingsManager (DtDe &de, const std::string &name, const std::string &displayName, const std::string &ext)
 
virtual ~DtBaseSettingsManager ()
 
virtual void initializeBackup ()
 
virtual bool getOverriddenFactoryRecord (makArchives::DtIntervisibilitySettingsRecord &record) const
 
- Public Member Functions inherited from makVrv::DtCommonBaseSettingsManager< makArchives::DtIntervisibilitySettingsRecord >
 DtCommonBaseSettingsManager (DtDe &de, const std::string &name, const std::string &displayName, const std::string &ext)
 
virtual ~DtCommonBaseSettingsManager ()
 
virtual void autoSaveIfNecessary ()
 
virtual void setAutoSave (bool doit)
 
virtual bool autoSave () const
 
virtual void setUseDefaultSettingsRecord (bool useit)
 
virtual bool useDefaultSettingsRecord () const
 
virtual DtDeSettingssettings ()
 
virtual const DtDeSettingssettings () const
 
virtual DtSettingsBackupsettingsBackup ()
 
virtual const DtSettingsBackupsettingsBackup () const
 
virtual void loadDefaults ()
 
virtual void saveDefaultSettings ()
 
virtual void loadDefaultSettings (bool loadOnlyFactorySettings)
 
virtual void importSettings (const std::string &filePath)
 
virtual void exportSettings (const std::string &filePath) const
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static
DtIntervisibilitySettingsManager
instance (DtDe &de)
 

Public Attributes

Boost signals for changed settings
boost::signalslib::signal
< void(bool)> 
signal_intervisibilityEnabledSet
 
boost::signalslib::signal
< void(bool)> 
signal_leftClickMakesObjectsPermanentSet
 
boost::signalslib::signal
< void(double)> 
signal_originIntervisibilityElevationSet
 
boost::signalslib::signal
< void(double)> 
signal_endPointIntervisibilityElevationSet
 
boost::signalslib::signal
< void(double)> 
signal_fanModeSamplingRateSet
 
boost::signalslib::signal
< void(double)> 
signal_entityFanUpdateRateSet
 
boost::signalslib::signal
< void(bool)> 
signal_hatLinesEnabledSet
 
boost::signalslib::signal
< void(bool)> 
signal_hatLinesOnSelectionOnlySet
 
boost::signalslib::signal
< void(float r, float g, float
b, float a)> 
signal_visibleColorSet
 
boost::signalslib::signal
< void(float r, float g, float
b, float a)> 
signal_blockedColorSet
 
boost::signalslib::signal
< void(float r, float g, float
b, float a)> 
signal_circleColorSet
 

Protected Member Functions

 DtIntervisibilitySettingsManager (DtDe &de)
 
virtual bool applyFactoryOverrides (makArchives::DtIntervisibilitySettingsRecord &rec) const
 

Protected Attributes

bool myIntervisibilityEnabled
 
bool myLeftClickMakesObjectsPermanent
 
bool myHatLinesEnabled
 
bool myHatLinesOnSelectionOnly
 
double myOriginIntervisibilityElevation
 
double myEndPointIntervisibilityElevation
 
double myFanModeSamplingRate
 
double myEntityFanUpdateRate
 
float myVisibleColor [4]
 
float myBlockedColor [4]
 
float myCircleColor [4]
 
- Protected Attributes inherited from makVrv::DtCommonBaseSettingsManager< makArchives::DtIntervisibilitySettingsRecord >
DtSignalConnectionManager myConnections
 
std::string myName
 
std::string myExtension
 
std::string myDisplayName
 
bool myUseDefaultSettingsRecordFlag
 
bool myAutoSaveFlag
 
DtSettingsBackupmySettingsBackup
 
DtDemyDe
 

Friends

template<typename ManagerClass >
ManagerClass & defaultManagerInstanceFunction (DtDe &, bool)
 
template<typename ManagerClass >
void defaultManagerRegisterInstanceFunction (DtDe &, ManagerClass *)
 

Additional Inherited Members

- Protected Types inherited from makVrv::DtBaseSettingsManager< makArchives::DtIntervisibilitySettingsRecord >
typedef DtRecordSettingsBackup
< DtBaseSettingsManager
< makArchives::DtIntervisibilitySettingsRecord >
, makArchives::DtIntervisibilitySettingsRecord
RecordBackupType
 

Constructor & Destructor Documentation

virtual makVrv::DtIntervisibilitySettingsManager::~DtIntervisibilitySettingsManager ( )
virtual

DTOR.

makVrv::DtIntervisibilitySettingsManager::DtIntervisibilitySettingsManager ( DtDe de)
protected

Protected CTOR ( use instance(..) ).

Member Function Documentation

static DtIntervisibilitySettingsManager& makVrv::DtIntervisibilitySettingsManager::instance ( DtDe de)
static

Get an instance of the settings manager.

void makVrv::DtIntervisibilitySettingsManager::setIntervisibilityEnabled ( bool  enabled)

Sets whether intervisibility objects are globally seen/hidden.

bool makVrv::DtIntervisibilitySettingsManager::intervisibilityEnabled ( ) const

Gets whether intervisibility objects are globally seen/hidden.

void makVrv::DtIntervisibilitySettingsManager::setLeftClickMakesObjectsPermanent ( bool  enabled)

Sets whether left-clicking places object or starts a new one.

bool makVrv::DtIntervisibilitySettingsManager::leftClickMakesObjectsPermanent ( ) const

Gets whether left-clicking places object or starts a new one.

void makVrv::DtIntervisibilitySettingsManager::setOriginIntervisibilityElevation ( double  height)

Sets the distance above the origin to place the intervisibility line (in meters).

double makVrv::DtIntervisibilitySettingsManager::originIntervisibilityElevation ( ) const

Gets the distance above the origin the intervisibility line is placed (in meters).

void makVrv::DtIntervisibilitySettingsManager::setEndPointIntervisibilityElevation ( double  height)

Sets the distance above the end point to place the intervisibility line (in meters).

double makVrv::DtIntervisibilitySettingsManager::endPointIntervisibilityElevation ( ) const

Gets the distance above the end point the intervisibility line is placed (in meters).

void makVrv::DtIntervisibilitySettingsManager::setFanModeSamplingRate ( double  radAngle)

Sets the angle between fan mode samples (in radians).

double makVrv::DtIntervisibilitySettingsManager::fanModeSamplingRate ( ) const

Gets the angle between fan mode samples (in radians).

void makVrv::DtIntervisibilitySettingsManager::setEntityFanUpdateRate ( double  interval)

Sets the time between entity fan mode updates (in seconds). Zero (0) default means check as fast as possible.

double makVrv::DtIntervisibilitySettingsManager::entityFanUpdateRate ( ) const

Gets the time between entity fan mode updates (in seconds). Zero (0) default means check as fast as possible.

void makVrv::DtIntervisibilitySettingsManager::setHatLinesEnabled ( bool  hatEnabled)

Sets whether height above terrain lines are enabled.

bool makVrv::DtIntervisibilitySettingsManager::hatLinesEnabled ( ) const

Gets whether height above terrain lines are enabled.

void makVrv::DtIntervisibilitySettingsManager::setHatLinesOnSelectionOnly ( bool  selOnly)

Sets whether HAT lines are shown only when the object is selected.

bool makVrv::DtIntervisibilitySettingsManager::hatLinesOnSelectionOnly ( ) const

Gets whether HAT lines are shown only when the object is selected.

void makVrv::DtIntervisibilitySettingsManager::setVisibleColor ( float  r,
float  g,
float  b,
float  a 
)

Sets the color of the visible portion of the intervisibility line.

void makVrv::DtIntervisibilitySettingsManager::visibleColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const

Gets the color of the visible portion of the intervisibility line.

void makVrv::DtIntervisibilitySettingsManager::setBlockedColor ( float  r,
float  g,
float  b,
float  a 
)

Sets the color of the blocked portion of the intervisibility line.

void makVrv::DtIntervisibilitySettingsManager::blockedColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const

Gets the color of the blocked portion of the intervisibility line.

void makVrv::DtIntervisibilitySettingsManager::setCircleColor ( float  r,
float  g,
float  b,
float  a 
)

Sets the color of the circle outline of a fan, grid line or entity intervisibility.

void makVrv::DtIntervisibilitySettingsManager::circleColor ( float &  r,
float &  g,
float &  b,
float &  a 
) const

Gets the color of the circle outline of a fan, grid line or entity intervisibility.

virtual void makVrv::DtIntervisibilitySettingsManager::setFromRecord ( const makArchives::DtIntervisibilitySettingsRecord rec)
virtual

Use the settings from the given settings record.

Implements makVrv::DtBaseSettingsManager< makArchives::DtIntervisibilitySettingsRecord >.

virtual void makVrv::DtIntervisibilitySettingsManager::getRecord ( makArchives::DtIntervisibilitySettingsRecord rec) const
virtual

Populate the given record with the current settings.

Implements makVrv::DtBaseSettingsManager< makArchives::DtIntervisibilitySettingsRecord >.

virtual bool makVrv::DtIntervisibilitySettingsManager::isAttachableObjectType ( DtElementEntry::ObjectType  t) const
virtual

Checks whether the given object type is one that can be attached to.

virtual bool makVrv::DtIntervisibilitySettingsManager::isAttachableObjectType ( DtUniqueID  elementId) const
virtual

Checks whether the entity with the given element id can be attached to.

Reimplemented in makVrf::DtVrfIntervisibilitySettingsManager.

virtual bool makVrv::DtIntervisibilitySettingsManager::applyFactoryOverrides ( makArchives::DtIntervisibilitySettingsRecord rec) const
protectedvirtual

Get overrides to the factory record, if any. If there are overrides, this function returns true. This is an internal utility function used by VR-Vantage engineers to update factory defaults. As a result, this function returns false in releases but can be overriden by toolkit users if desired; however, generally toolkit users can and should use DtDeInitializer::addDefaultSettingsRecord(...) instead.

Implements makVrv::DtBaseSettingsManager< makArchives::DtIntervisibilitySettingsRecord >.

Friends And Related Function Documentation

template<typename ManagerClass >
ManagerClass& defaultManagerInstanceFunction ( DtDe de,
bool  allowedInSlave 
)
friend

Befriend the manager instance functions for instance retreival/creation.

Befriend the manager instance functions for instance retreival/creation.

Befriend the manager instance functions for instance retrieval/creation.

class Manager
{
public:
static Manager& instance(DtDe& de);
void loadDefaults();
protected:
template <typename ManagerClass>
friend ManagerClass& defaultManagerInstanceFunction(DtDe& de, bool);
template <typename ManagerClass>
friend void defaultManagerRegisterInstanceFunction(DtDe& de, ManagerClass* mgr)
Manager(DtDe&);
DtSignalConnectionManager myConnections;
};

Then simply in the implementation of instance call defaultManagerInstanceFunction with the de object and return the return value.

Manager& Manager::instance(DtDe& de)
{
return defaultManagerInstanceFunction<Manager>(de);
}
template<typename ManagerClass >
void defaultManagerRegisterInstanceFunction ( DtDe de,
ManagerClass *  mgr 
)
friend

Befriend the manager instance functions for instance retreival/creation.

Befriend the manager instance functions for instance retreival/creation.

Befriend the manager instance functions for instance retrieval/creation.

static void Manager::registerInstance(DtDe& de, Manager* mgr)
{
}
...else where call.
// Assuming class NewManager : public Manager
Manager::registerInstance(de,new NewManager(de));

Member Data Documentation

boost::signalslib::signal<void (bool)> makVrv::DtIntervisibilitySettingsManager::signal_intervisibilityEnabledSet
boost::signalslib::signal<void (bool)> makVrv::DtIntervisibilitySettingsManager::signal_leftClickMakesObjectsPermanentSet
boost::signalslib::signal<void (double)> makVrv::DtIntervisibilitySettingsManager::signal_originIntervisibilityElevationSet
boost::signalslib::signal<void (double)> makVrv::DtIntervisibilitySettingsManager::signal_endPointIntervisibilityElevationSet
boost::signalslib::signal<void (double)> makVrv::DtIntervisibilitySettingsManager::signal_fanModeSamplingRateSet
boost::signalslib::signal<void (double)> makVrv::DtIntervisibilitySettingsManager::signal_entityFanUpdateRateSet
boost::signalslib::signal<void (bool)> makVrv::DtIntervisibilitySettingsManager::signal_hatLinesEnabledSet
boost::signalslib::signal<void (bool)> makVrv::DtIntervisibilitySettingsManager::signal_hatLinesOnSelectionOnlySet
boost::signalslib::signal<void (float r, float g, float b, float a)> makVrv::DtIntervisibilitySettingsManager::signal_visibleColorSet
boost::signalslib::signal<void (float r, float g, float b, float a)> makVrv::DtIntervisibilitySettingsManager::signal_blockedColorSet
boost::signalslib::signal<void (float r, float g, float b, float a)> makVrv::DtIntervisibilitySettingsManager::signal_circleColorSet
bool makVrv::DtIntervisibilitySettingsManager::myIntervisibilityEnabled
protected
bool makVrv::DtIntervisibilitySettingsManager::myLeftClickMakesObjectsPermanent
protected
bool makVrv::DtIntervisibilitySettingsManager::myHatLinesEnabled
protected
bool makVrv::DtIntervisibilitySettingsManager::myHatLinesOnSelectionOnly
protected
double makVrv::DtIntervisibilitySettingsManager::myOriginIntervisibilityElevation
protected
double makVrv::DtIntervisibilitySettingsManager::myEndPointIntervisibilityElevation
protected
double makVrv::DtIntervisibilitySettingsManager::myFanModeSamplingRate
protected
double makVrv::DtIntervisibilitySettingsManager::myEntityFanUpdateRate
protected
float makVrv::DtIntervisibilitySettingsManager::myVisibleColor[4]
protected
float makVrv::DtIntervisibilitySettingsManager::myBlockedColor[4]
protected
float makVrv::DtIntervisibilitySettingsManager::myCircleColor[4]
protected

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

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)