VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends
makVrv::DtBuoyBeaconFeatureBuilder Class Reference

DtBuoyBeaconFeatureBuilder implements a DtStreamedFeatureCreator for buoys. More...

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

Classes

struct  SeasonalBuoyRecord

Public Member Functions

 DtBuoyBeaconFeatureBuilder (const DtBuoyBeaconFeatureBuilder &rhs)
 Copy CTOR.
DtBuoyBeaconFeatureBuilderoperator= (const DtBuoyBeaconFeatureBuilder &orig)
 Assignment Operator.
virtual ~DtBuoyBeaconFeatureBuilder ()
 virtual DTOR
DtUniqueID create (DtDe &de, const std::string &registrantName, const std::string &featureStyleName, const std::string &strFeatureName, DtVector vPosition, double scale, DtVector minBound, DtVector maxBound)
 Create a feature (a DtBuoyOrBeaconFacade for now)
- Public Member Functions inherited from makVrv::DtStreamedFeatureCreator
 DtStreamedFeatureCreator (DtAgentManagerInterface &sceneInterface)
 CTOR.
 DtStreamedFeatureCreator (const DtStreamedFeatureCreator &orig)
DtStreamedFeatureCreatoroperator= (const DtStreamedFeatureCreator &rhs)
 Assignment operator.
virtual ~DtStreamedFeatureCreator ()

Protected Types

typedef boost::unordered_map
< DtUniqueID,
SeasonalBuoyRecord
SeasonalBuoyMap

Protected Member Functions

 DtBuoyBeaconFeatureBuilder (DtDe &de, const std::string &registrantName, DtBuoyBeaconModelStringParser &parser, DtTextureAtlasIndexParser &atlasParser, const std::string &featureClass)
 CTOR.
std::string buildModelDefinition (const std::string &markerName)
 buildModelDefinition is the entry point for turning a string found as a marker name in a CustomFeatureNode feature request into a model definition.
void build2DModelDefinitions (const std::string &markerName, std::string &modelDef2dUnlighted, std::string &modelDef2dLighted)
std::string parseAndBuild (const std::string &markerStr)
 parseAndBuild() uses the DtBuoyBeaconModelStringParser to break a marker name string into its component pieces; pattern and attribute/value pairs.
virtual void createAndAddBuoy (DtUniqueID elementId, const std::string &modelDefName, const std::string &modelDef2dUnlighted, std::string &modelDef2dLighted, const std::string &buoyName, const DtVector &vPosition, const std::string &designator)
int s57SeasonDateToDayInYear (const std::string &seasonDate)
 Convert an s57 seasonal date string (form is –MMDD or –MM) to a day of the year, from 0 (Jan 1) to 364 (or 365 on a leap year).
int calcCurrentDayOfTheYear ()
 Returns the day of the year for whatever date our calendar is currently set for, from 0 (Jan 1) to 364 (or 365 on a leap year).
virtual void setBuoyTextureOffset (DtArticulatedModelAgent *model, const std::string &atlasFileName, const std::string &key)
 Use the parsed buoy data with the buoy texture atlas to set the buoy color (ex.
virtual void setBuoyDesignator (DtArticulatedModelAgent *model, const std::string &atlasFileName, const std::string &designator)
 Set the designator for the buoy, 3 character max (ex.
void slot_featureToBeDeleted (const std::string &resgistrant, DtUniqueID featureId)
 Callback for signal from the streamed feature manager that a buoy has paged out.
void slot_dateChanged ()
 Callback for signal from shared state signaler that the date has changed.
Utility methods for reading model definition parameters into a variable
void readModelDefParam (DtModelDefinition &modelDef, const std::string &paramName, bool &resultOut)
void readModelDefParam (DtModelDefinition &modelDef, const std::string &paramName, float &resultOut)
void readModelDefParam (DtModelDefinition &modelDef, const std::string &paramName, std::string &resultOut)

Static Protected Member Functions

static bool checkSeasonalState (int seasonStart, int seasonEnd, int currentDay)
 Check to see if the current date is within the season seasonStart / seasonEnd.

Protected Attributes

DtDemyDe
DtBuoyBeaconModelStringParsermyBuoyMarkerStringParser
DtTextureAtlasIndexParsermyBuoyTextureAtlasIndexParser
std::string myBuoyName
 std::string myAtlasTextureName;
std::string myFeatureClass
std::string myRegistrantName
int myCurrentDayOfTheYear
SeasonalBuoyMap mySeasonalBuoyMap
DtSignalConnectionManager myConnections
- Protected Attributes inherited from makVrv::DtStreamedFeatureCreator
DtAgentManagerInterfacemySceneInterface

Friends

class DtBuoyBeaconFeatureBuilderCreator

Detailed Description

DtBuoyBeaconFeatureBuilder implements a DtStreamedFeatureCreator for buoys.

It reads configuration files found in appData/importConfig that it uses to build a model definition based on a pattern, attribute values, and the configuration data read. It then creates a DtBuoyOrBeaconFacade using the model definition that it generates

Member Typedef Documentation

Constructor & Destructor Documentation

makVrv::DtBuoyBeaconFeatureBuilder::DtBuoyBeaconFeatureBuilder ( const DtBuoyBeaconFeatureBuilder rhs)

Copy CTOR.

virtual makVrv::DtBuoyBeaconFeatureBuilder::~DtBuoyBeaconFeatureBuilder ( )
virtual

virtual DTOR

makVrv::DtBuoyBeaconFeatureBuilder::DtBuoyBeaconFeatureBuilder ( DtDe de,
const std::string &  registrantName,
DtBuoyBeaconModelStringParser parser,
DtTextureAtlasIndexParser atlasParser,
const std::string &  featureClass 
)
protected

CTOR.

Parameters
sceneInterfaceneeds to be provided to the constructor of the DtBuoyOrBeaconFacade that may be created
parseris used to parse an encode marker name string and generate a model definition based on its contents

Member Function Documentation

DtBuoyBeaconFeatureBuilder& makVrv::DtBuoyBeaconFeatureBuilder::operator= ( const DtBuoyBeaconFeatureBuilder orig)

Assignment Operator.

DtUniqueID makVrv::DtBuoyBeaconFeatureBuilder::create ( DtDe de,
const std::string &  registrantName,
const std::string &  featureStyleName,
const std::string &  strFeatureName,
DtVector  vPosition,
double  scale,
DtVector  minBound,
DtVector  maxBound 
)
virtual

Create a feature (a DtBuoyOrBeaconFacade for now)

Parameters
registrantNameis the name that was provided to the DtStreamedFeatureManager when the DtStreamedFeatureCreator was registered
styleNameis the name provided in the .osgEarth style block specified for this feature.
strFeatureNameis the markerName returned by osgEarth for the feature from a marker: specification
vPositionis the position of the feature
scaleis any scale factor provided from an osgEarth marker-scale: specification
minBoundis the min x,y,z of the feature bound
maxBoundis the max x,y,z of the feature bound
Returns
A uniqueId that will be used to identify the feature created when it comes time to delete it. returns 0 if no feature is created.

Implements makVrv::DtStreamedFeatureCreator.

std::string makVrv::DtBuoyBeaconFeatureBuilder::buildModelDefinition ( const std::string &  markerName)
protected

buildModelDefinition is the entry point for turning a string found as a marker name in a CustomFeatureNode feature request into a model definition.

It first checks to see if there are any special characters in the string that would indicate that it needs to be parsed. If not, it just returns the string (minus the path that is usually included as part of a marker name). If parsing is required, it calls parseAndBuild().

void makVrv::DtBuoyBeaconFeatureBuilder::build2DModelDefinitions ( const std::string &  markerName,
std::string &  modelDef2dUnlighted,
std::string &  modelDef2dLighted 
)
protected
std::string makVrv::DtBuoyBeaconFeatureBuilder::parseAndBuild ( const std::string &  markerStr)
protected

parseAndBuild() uses the DtBuoyBeaconModelStringParser to break a marker name string into its component pieces; pattern and attribute/value pairs.

Once it has the attribute value pairs decoded, it checks for an object name (OBJNAM) parameter value. If it exists, it checks the object name will be looked up in he parser's name to model definition map. If any entry is found, that model definition will be used. Otherwise substitution is performed on the pattern based on the attribute values found and the generated model definition is returned

virtual void makVrv::DtBuoyBeaconFeatureBuilder::createAndAddBuoy ( DtUniqueID  elementId,
const std::string &  modelDefName,
const std::string &  modelDef2dUnlighted,
std::string &  modelDef2dLighted,
const std::string &  buoyName,
const DtVector vPosition,
const std::string &  designator 
)
protectedvirtual
int makVrv::DtBuoyBeaconFeatureBuilder::s57SeasonDateToDayInYear ( const std::string &  seasonDate)
protected

Convert an s57 seasonal date string (form is –MMDD or –MM) to a day of the year, from 0 (Jan 1) to 364 (or 365 on a leap year).

Returns -1 if string is not valid

int makVrv::DtBuoyBeaconFeatureBuilder::calcCurrentDayOfTheYear ( )
protected

Returns the day of the year for whatever date our calendar is currently set for, from 0 (Jan 1) to 364 (or 365 on a leap year).

static bool makVrv::DtBuoyBeaconFeatureBuilder::checkSeasonalState ( int  seasonStart,
int  seasonEnd,
int  currentDay 
)
staticprotected

Check to see if the current date is within the season seasonStart / seasonEnd.

virtual void makVrv::DtBuoyBeaconFeatureBuilder::setBuoyTextureOffset ( DtArticulatedModelAgent *  model,
const std::string &  atlasFileName,
const std::string &  key 
)
protectedvirtual

Use the parsed buoy data with the buoy texture atlas to set the buoy color (ex.

Red, Green, etc.)

virtual void makVrv::DtBuoyBeaconFeatureBuilder::setBuoyDesignator ( DtArticulatedModelAgent *  model,
const std::string &  atlasFileName,
const std::string &  designator 
)
protectedvirtual

Set the designator for the buoy, 3 character max (ex.

'CF','123','A')

void makVrv::DtBuoyBeaconFeatureBuilder::slot_featureToBeDeleted ( const std::string &  resgistrant,
DtUniqueID  featureId 
)
protected

Callback for signal from the streamed feature manager that a buoy has paged out.

void makVrv::DtBuoyBeaconFeatureBuilder::slot_dateChanged ( )
protected

Callback for signal from shared state signaler that the date has changed.

Look through the list of seasonal buoys to see if any need to be created or destroyed

void makVrv::DtBuoyBeaconFeatureBuilder::readModelDefParam ( DtModelDefinition modelDef,
const std::string &  paramName,
bool resultOut 
)
protected
void makVrv::DtBuoyBeaconFeatureBuilder::readModelDefParam ( DtModelDefinition modelDef,
const std::string &  paramName,
float &  resultOut 
)
protected
void makVrv::DtBuoyBeaconFeatureBuilder::readModelDefParam ( DtModelDefinition modelDef,
const std::string &  paramName,
std::string &  resultOut 
)
protected

Friends And Related Function Documentation

friend class DtBuoyBeaconFeatureBuilderCreator
friend

Member Data Documentation

DtDe& makVrv::DtBuoyBeaconFeatureBuilder::myDe
protected
DtBuoyBeaconModelStringParser& makVrv::DtBuoyBeaconFeatureBuilder::myBuoyMarkerStringParser
protected
DtTextureAtlasIndexParser& makVrv::DtBuoyBeaconFeatureBuilder::myBuoyTextureAtlasIndexParser
protected
std::string makVrv::DtBuoyBeaconFeatureBuilder::myBuoyName
protected

std::string myAtlasTextureName;

std::string makVrv::DtBuoyBeaconFeatureBuilder::myFeatureClass
protected
std::string makVrv::DtBuoyBeaconFeatureBuilder::myRegistrantName
protected
int makVrv::DtBuoyBeaconFeatureBuilder::myCurrentDayOfTheYear
protected
SeasonalBuoyMap makVrv::DtBuoyBeaconFeatureBuilder::mySeasonalBuoyMap
protected
DtSignalConnectionManager makVrv::DtBuoyBeaconFeatureBuilder::myConnections
protected

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

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)