58 class GlsFontRenderer;
59 class DNCFacePrimTable;
61 class DNCEdgePrimTable;
207 verts =
new GLdouble[ 3u ];
225 verts =
new GLdouble[ numCoords * 3u ];
235 for(
unsigned int coordIndex = numCoords, vertIndex = 0u; coordIndex > 0u; --coordIndex )
237 verts[ vertIndex++ ] = coords[ coordIndex - 1u ].x;
238 verts[ vertIndex++ ] = coords[ coordIndex - 1u ].y;
239 verts[ vertIndex++ ] = 0.0;
245 for(
unsigned int coordIndex = 0u, vertIndex = 0u; coordIndex < numCoords; ++coordIndex )
247 verts[ vertIndex++ ] = coords[ coordIndex ].x;
248 verts[ vertIndex++ ] = coords[ coordIndex ].y;
249 verts[ vertIndex++ ] = 0.0;
283 const double a = sqrt( ( ( p1.x - p2.x ) * ( p1.x - p2.x ) ) + ( ( p1.y - p2.y ) * ( p1.y - p2.y ) ) );
284 const double b = sqrt( ( ( p2.x - p3.x ) * ( p2.x - p3.x ) ) + ( ( p2.y - p3.y ) * ( p2.y - p3.y ) ) );
285 const double c = sqrt( ( ( p3.x - p1.x ) * ( p3.x - p1.x ) ) + ( ( p3.y - p1.y ) * ( p3.y - p1.y ) ) );
286 const double s = ( ( a + b + c ) / 2.0 );
287 return ( sqrt( s * ( s - a ) * ( s - b ) * ( s - c ) ) );
297 return ( ( ( ( p.x - p1.x ) * ( -p3.y + p1.y ) + ( p.y - p1.y ) * ( p3.x - p1.x ) ) < 0.0 ) && ( ( ( p.x - p2.x ) * ( -p1.y + p2.y ) + ( p.y - p2.y ) * ( p1.x - p2.x ) ) <= 0.0 ) && ( ( ( p.x - p2.x ) * ( -p3.y + p2.y ) + ( p.y - p2.y ) * ( p3.x - p2.x ) ) >= 0.0 ) );
343 void RenderProportionalChar(
const GlsFontBase::Char_t c,
const float pen_position_x,
const float pen_position_y,
344 const float char_size_ratio_x,
const float char_size_ratio_y,
345 const GLfloat scale,
const glsColor& fgColor );
365 char facc[ VPFUtil::FACC_CODE_LENGTH + 1u ];
372 FACC(
const char*
const newFacc,
const unsigned int newFaccIndex )
376 if( NULL != newFacc )
379 for(
unsigned int i = 0; i < VPFUtil::FACC_CODE_LENGTH; i++ )
381 facc[ i ] = newFacc[ i ];
384 facc[ VPFUtil::FACC_CODE_LENGTH ] =
'\0';
388 faccIndex = newFaccIndex;
413 bool InsertFACC(
const char*
const facc,
const unsigned int faccIndex );
419 const FACC*
FindFACC(
const char*
const facc )
const;
425 const FACC*
GetFACC(
const unsigned int faccIndex )
const {
return (
_faccs.GetPointer( faccIndex ) ); }
444 DNCString(
const char*
const src,
const bool trimTrailingWS =
true );
457 operator const char*(void)
const {
return (
_str ); }
485 AttributePair(
const char*
const attribName,
const char*
const attribVal );
525 FeatureDescription(
const char*
const covName,
const char*
const featClassName,
const char*
const faccCode,
580 const AttributePair*
GetAttributePair(
const unsigned int attribPairNum )
const;
613 QueryResults(
const unsigned int libNum,
const char*
const libName );
677 static void TessellateArea( GLUtesselator* tess,
const unsigned int facID,
const DNCFacePrimTable& facPrimTable,
678 const DNCRingTable& ringTable,
const DNCEdgePrimTable& edgPrimTable,
void*
const polyData );
689 void CALLBACK
DNCUtilTessCombine( GLdouble coords[ 3 ],
void* vertex_data[ 4 ], GLfloat weight[ 4 ],
void** outData,
void* polygon_data );
695 #if defined( GLS_DEBUG )
699 const VPFUtil::Coord3DLong w = { ( tri.
p3.x - tri.
p1.x ), ( tri.
p3.y - tri.
p1.y ), 0.0 };
701 const VPFUtil::Coord3DLong crossProd = { ( v.y * w.z ) - ( v.z * w.y ),
702 ( v.z * w.x ) - ( v.x * w.z ),
703 ( v.x * w.y ) - ( v.y * w.x ) };
705 return ( crossProd.z >= 0 );
711 #endif // _DNC_UTIL_H
static const char *const BOUNDRY_LINE_FEATURE_NAME
Definition: dnc_util.h:92
static const char *const BUILTUP_POINT_FEATURE_NAME
Definition: dnc_util.h:99
GLdoubleEdge(const double x, const double y, const double z)
Definition: dnc_util.h:204
static const char *const FISHHAT_AREA_FEATURE_NAME
Definition: dnc_util.h:117
static const char *const CANAL_AREA_FEATURE_NAME
Definition: dnc_util.h:102
static const char *const LCR_LINE_FEATURE_NAME
Definition: dnc_util.h:134
VPFUtil::Coord2DLong neCorner
Definition: dnc_util.h:191
DNCString(const char *const src, const bool trimTrailingWS=true)
static const char *const ROUTE_AREA_FEATURE_NAME
Definition: dnc_util.h:163
static const char *const INDUST_AREA_FEATURE_NAME
Definition: dnc_util.h:126
const FACC * GetFACC(const unsigned int faccIndex) const
Definition: dnc_util.h:425
static const char *const CURRDIA_POINT_FEATURE_NAME
Definition: dnc_util.h:106
static const char *const RIVER_AREA_FEATURE_NAME
Definition: dnc_util.h:161
~FACCArray()
Definition: dnc_util.h:396
static const char *const FORESHO_AREA_FEATURE_NAME
Definition: dnc_util.h:118
static const char *const BARRIER_LINE_FEATURE_NAME
Definition: dnc_util.h:89
bool IsValid(void) const
Definition: dnc_util.h:401
static const char *const LIGHTS_LINE_FEATURE_NAME
Definition: dnc_util.h:136
unsigned int GetAttributePairCount(void) const
GLdoubleEdge(const VPFDataValue &edgCoords, const bool reverseCoords)
Definition: dnc_util.h:221
unsigned int GetFeatureDescriptionCount(void) const
static const char *const FEATURE_ID_COLUMN_NAME
Definition: dnc_util.h:68
static const char *const MOORING_POINT_FEATURE_NAME
Definition: dnc_util.h:146
AttributePair(const char *const attribName, const char *const attribVal)
static const char *const LANDMRK_POINT_FEATURE_NAME
Definition: dnc_util.h:133
static const char *const FORESHO_POINT_FEATURE_NAME
Definition: dnc_util.h:120
FeatureType
Definition: vpf_util.h:173
bool AddAttributePair(AttributePair *const attributePair)
bool IsValid(void) const
Definition: dnc_util.h:621
const unsigned int _featIndex
Definition: dnc_util.h:597
static const char *const SNOWICE_AREA_FEATURE_NAME
Definition: dnc_util.h:169
static const char *const REL_POINT_FEATURE_NAME
Definition: dnc_util.h:160
const VPFUtil::Coord2DShort * GetCoord2DShortValues(void) const
Definition: vpf_data_value.h:201
Definition: dnc_util.h:188
const VPFUtil::Coord2DShort _location
Definition: dnc_util.h:600
bool IsValid(void) const
Definition: dnc_util.h:493
static const char *const VOLCANO_AREA_FEATURE_NAME
Definition: dnc_util.h:180
static const char *const PIPE_LINE_FEATURE_NAME
Definition: dnc_util.h:154
bool InsertFACC(const char *const facc, const unsigned int faccIndex)
static const char *const BRIDGE_LINE_FEATURE_NAME
Definition: dnc_util.h:94
static const char *const HYD_LINE_FEATURE_NAME
Definition: dnc_util.h:125
VPFUtil::PointerArray< FACC > _faccs
Definition: dnc_util.h:428
The disti::GlsFontBase class and related classes.
static const char *const HAZARD_AREA_FEATURE_NAME
Definition: dnc_util.h:121
VPFUtil::Coord2DLong p2
Definition: dnc_util.h:274
Definition: dnc_util.h:470
static const char *const BRIDGSP_LINE_FEATURE_NAME
Definition: dnc_util.h:96
const DNCString _featClassName
Definition: dnc_util.h:595
VPFUtil::PointerArray< Tri > TriArray
Definition: dnc_util.h:302
static const char *const TRANS_AREA_FEATURE_NAME
Definition: dnc_util.h:175
static const char *const OBSTRUCTIONS_COVERAGE_NAME
Definition: dnc_util.h:79
const char * GetValue(void) const
Definition: dnc_util.h:503
Definition: dnc_util.h:195
bool IsValid(void) const
Definition: dnc_util.h:534
void RenderProportionalChar(const GlsFontBase::Char_t c, const float pen_position_x, const float pen_position_y, const float char_size_ratio_x, const float char_size_ratio_y, const GLfloat scale, const glsColor &fgColor)
static const char *const INLAND_WATERWAYS_COVERAGE_NAME
Definition: dnc_util.h:76
static const char *const BROWSE_LIB_AREA_FEAT_NAME
Definition: dnc_util.h:182
bool PointTest(const VPFUtil::Coord2DLong &p) const
Definition: dnc_util.h:295
static const char *const TRANS_LINE_FEATURE_NAME
Definition: dnc_util.h:176
static const char *const REL_LINE_FEATURE_NAME
Definition: dnc_util.h:159
const DNCString _attribVal
Definition: dnc_util.h:508
static const char *const PIER_LINE_FEATURE_NAME
Definition: dnc_util.h:153
static const char *const LOADING_POINT_FEATURE_NAME
Definition: dnc_util.h:141
static const char *const LIMBNDY_LINE_FEATURE_NAME
Definition: dnc_util.h:139
static const char *const EMBANK_AREA_FEATURE_NAME
Definition: dnc_util.h:114
Definition: dnc_util.h:305
Definition: dnc_util.h:437
GlsFontRenderer * _fontRenderer
Definition: dnc_util.h:348
static const char *const DANGER_POINT_FEATURE_NAME
Definition: dnc_util.h:110
static const char *const RUINS_AREA_FEATURE_NAME
Definition: dnc_util.h:165
VPFUtil::Coord2DShort GetLocation(void) const
Definition: dnc_util.h:569
FACC(const char *const newFacc, const unsigned int newFaccIndex)
Definition: dnc_util.h:372
bool AddFeatureDescription(FeatureDescription *const featureDescription)
Definition: vpf_util.h:199
static const char *const HAZARD_POINT_FEATURE_NAME
Definition: dnc_util.h:123
static const char *const MISCIWY_AREA_FEATURE_NAME
Definition: dnc_util.h:145
Definition: dnc_util.h:474
static const char *const TREE_POINT_FEATURE_NAME
Definition: dnc_util.h:178
const AttributePair * GetAttributePair(const unsigned int attribPairNum) const
static const char *const FAC_ID_COLUMN_NAME
Definition: dnc_util.h:70
static const char *const ENV_AREA_FEATURE_NAME
Definition: dnc_util.h:115
static const char *const NOTES_JOIN_TABLE_EXT
Definition: dnc_util.h:67
const DNCString _libName
Definition: dnc_util.h:657
VPFUtil::WarningBool _isValid
Definition: dnc_util.h:655
static const char *const AIDS_TO_NAVIGATION_COVERAGE_NAME
Definition: dnc_util.h:78
static const char *const LANDING_POINT_FEATURE_NAME
Definition: dnc_util.h:131
VPFUtil::Coord2DLong p1
Definition: dnc_util.h:273
void DNCUtilTessCombine(GLdouble coords[3], void *vertex_data[4], GLfloat weight[4], void **outData, void *polygon_data)
static const char *const COAST_LINE_FEATURE_NAME
Definition: dnc_util.h:104
static const char *const CANAL_LINE_FEATURE_NAME
Definition: dnc_util.h:103
VPFUtil::WarningBool _isValid
Definition: dnc_util.h:506
static const char *const LANDING_AREA_FEATURE_NAME
Definition: dnc_util.h:130
const char * GetFeatureName(void) const
Definition: dnc_util.h:559
double GetArea(void) const
Definition: dnc_util.h:280
static const char *const BROWSE_LIB_AREA_JOIN_TABLE_NAME
Definition: dnc_util.h:184
static const char *const LAKE_AREA_FEATURE_NAME
Definition: dnc_util.h:129
static const char *const BROWSE_LIB_AREA_JOIN_TABLE_KEY
Definition: dnc_util.h:185
Definition: dnc_util.h:478
unsigned int GetValueCount(void) const
Definition: vpf_data_value.h:89
static const char *const MARKER_POINT_FEATURE_NAME
Definition: dnc_util.h:144
const char * GetCoverageName(void) const
Definition: dnc_util.h:539
GLdouble * verts
Definition: dnc_util.h:197
static const char *const TIDE_POINT_FEATURE_NAME
Definition: dnc_util.h:174
static const char *const ENVIRONMENT_COVERAGE_NAME
Definition: dnc_util.h:74
static const char *const DANGER_AREA_FEATURE_NAME
Definition: dnc_util.h:109
unsigned int GetFeatureIndex(void) const
Definition: dnc_util.h:554
static const char *const SEAWALL_LINE_FEATURE_NAME
Definition: dnc_util.h:167
static const char *const PARK_LINE_FEATURE_NAME
Definition: dnc_util.h:151
static const char *const ORCHARD_AREA_FEATURE_NAME
Definition: dnc_util.h:149
static const char *const INDUST_POINT_FEATURE_NAME
Definition: dnc_util.h:127
Definition: vpf_data_value.h:51
VPFUtil::WarningBool _isValid
Definition: dnc_util.h:460
GlsFontBase * GetFont(void)
Definition: dnc_util.h:318
unsigned int faccIndex
Definition: dnc_util.h:366
static const char *const CALLIN_POINT_FEATURE_NAME
Definition: dnc_util.h:101
const char * GetFACCCode(void) const
Definition: dnc_util.h:549
FeatureDescription(const char *const covName, const char *const featClassName, const char *const faccCode, const unsigned int featIndex, const char *const featureName, const VPFUtil::FeatureType featureType, const VPFUtil::Coord2DShort &location)
static const char *const BRIDGE_AREA_FEATURE_NAME
Definition: dnc_util.h:93
Definition: gls_font_renderer.h:85
static const char *const MARITIM_AREA_FEATURE_NAME
Definition: dnc_util.h:143
char facc[VPFUtil::FACC_CODE_LENGTH+1u]
Definition: dnc_util.h:365
static const char *const SECTOR_AREA_FEATURE_NAME
Definition: dnc_util.h:168
static const char *const AERO_POINT_FEATURE_NAME
Definition: dnc_util.h:87
const char * GetLibraryName(void) const
Definition: dnc_util.h:631
Definition: dnc_util.h:271
static const char *const LIMBNDY_AREA_FEATURE_NAME
Definition: dnc_util.h:138
static const char *const ADMIN_LINE_FEATURE_NAME
Definition: dnc_util.h:86
const char * GetName(void) const
Definition: dnc_util.h:498
Definition: dnc_util.h:64
static const char *const EARTH_COVER_COVERAGE_NAME
Definition: dnc_util.h:73
const DNCString _faccCode
Definition: dnc_util.h:596
static const char *const TREE_AREA_FEATURE_NAME
Definition: dnc_util.h:177
static const char *const POWER_LINE_FEATURE_NAME
Definition: dnc_util.h:155
Definition: vpf_util.h:193
static const char *const SOUND_POINT_FEATURE_NAME
Definition: dnc_util.h:171
static const char *const TUNNEL_LINE_FEATURE_NAME
Definition: dnc_util.h:179
const unsigned int _libNum
Definition: dnc_util.h:656
static const char *const HYD_AREA_FEATURE_NAME
Definition: dnc_util.h:124
static const char *const BRIDGSP_AREA_FEATURE_NAME
Definition: dnc_util.h:95
QueryResults(const unsigned int libNum, const char *const libName)
static void TessellateArea(GLUtesselator *tess, const unsigned int facID, const DNCFacePrimTable &facPrimTable, const DNCRingTable &ringTable, const DNCEdgePrimTable &edgPrimTable, void *const polyData)
static const char *const MARITIM_LINE_FEATURE_NAME
Definition: dnc_util.h:142
VPFUtil::FeatureType GetFeatureType(void) const
Definition: dnc_util.h:564
const DNCString _attribName
Definition: dnc_util.h:507
const FACC * FindFACC(const char *const facc) const
char * _str
Definition: dnc_util.h:461
const char * GetFeatureClassName(void) const
Definition: dnc_util.h:544
VPFUtil::PointerArray< FeatureDescription > FeatureDescriptionArray
Definition: dnc_util.h:653
FACCArray(void)
Definition: dnc_util.h:393
static const char *const RELIEF_COVERAGE_NAME
Definition: dnc_util.h:81
static const char *const STRUCTR_LINE_FEATURE_NAME
Definition: dnc_util.h:173
Definition: gls_color.h:53
FontRenderer(GlsFontBase *font, const bool forceUpload)
static const char *const BOTCHAR_POINT_FEATURE_NAME
Definition: dnc_util.h:91
VPFUtil::PointerArray< AttributePair > AttributePairArray
Definition: dnc_util.h:591
static const char *const ROUTE_LINE_FEATURE_NAME
Definition: dnc_util.h:164
static const char *const LOADING_AREA_FEATURE_NAME
Definition: dnc_util.h:140
static const char *const BUILDNG_POINT_FEATURE_NAME
Definition: dnc_util.h:98
static const char *const LANDMRK_AREA_FEATURE_NAME
Definition: dnc_util.h:132
static const char *const RAILRD_LINE_FEATURE_NAME
Definition: dnc_util.h:157
unsigned int GetCount(void) const
Definition: dnc_util.h:406
const DNCString _featureName
Definition: dnc_util.h:598
Definition: vpf_util.h:272
FeatureDescriptionArray _featureDescriptions
Definition: dnc_util.h:658
bool IsValid(void) const
Definition: dnc_util.h:452
static const char *const LAND_COVER_COVERAGE_NAME
Definition: dnc_util.h:77
static const char *const COMM_POINT_FEATURE_NAME
Definition: dnc_util.h:105
static const char *const FENCE_LINE_FEATURE_NAME
Definition: dnc_util.h:116
static const char *const HAZARD_LINE_FEATURE_NAME
Definition: dnc_util.h:122
Definition: vpf_util.h:211
static const char *const OBSTRUC_POINT_FEATURE_NAME
Definition: dnc_util.h:148
static const char *const RIVER_LINE_FEATURE_NAME
Definition: dnc_util.h:162
const FeatureDescription * GetFeatureDescription(const unsigned int featDescIndex) const
const VPFUtil::FeatureType _featureType
Definition: dnc_util.h:599
static const char *const COASTLINE_COUNTRIES_COVERAGE_NAME
Definition: dnc_util.h:83
static const char *const STRUCTR_AREA_FEATURE_NAME
Definition: dnc_util.h:172
GlsFontBase * _font
Definition: dnc_util.h:349
VPFUtil::PointerArray< GLdoubleEdge > GLdoubleEdgeArray
Definition: dnc_util.h:268
static const char *const CULTURAL_LANDMARKS_COVERAGE_NAME
Definition: dnc_util.h:72
unsigned int GetLibraryNumber(void) const
Definition: dnc_util.h:626
static const char *const OBSTRUC_AREA_FEATURE_NAME
Definition: dnc_util.h:147
VPFUtil::WarningBool _isValid
Definition: dnc_util.h:593
static const char *const RUINS_POINT_FEATURE_NAME
Definition: dnc_util.h:166
static const char *const PORT_FACILITIES_COVERAGE_NAME
Definition: dnc_util.h:80
static const char *const FORESHO_LINE_FEATURE_NAME
Definition: dnc_util.h:119
static const char *const DQY_AREA_FEATURE_NAME
Definition: dnc_util.h:111
static const char *const ECR_AREA_FEATURE_NAME
Definition: dnc_util.h:112
static const char *const LIGHTS_POINT_FEATURE_NAME
Definition: dnc_util.h:137
static const char *const BROWSE_LIB_AREA_FEAT_TABLE_NAME
Definition: dnc_util.h:183
Definition: dnc_util.h:363
static const char *const BERTH_POINT_FEATURE_NAME
Definition: dnc_util.h:90
Definition: dnc_util.h:359
static const char *const DATA_QUALITY_COVERAGE_NAME
Definition: dnc_util.h:82
static const char *const ISLAND_POINT_FEATURE_NAME
Definition: dnc_util.h:128
static const char *const SNOWICE_POINT_FEATURE_NAME
Definition: dnc_util.h:170
const DNCString _covName
Definition: dnc_util.h:594
static const char *const PARK_AREA_FEATURE_NAME
Definition: dnc_util.h:150
static const char *const AQUEDCT_LINE_FEATURE_NAME
Definition: dnc_util.h:88
static const char *const ECR_TEXT_FEATURE_NAME
Definition: dnc_util.h:113
static const char *const REEF_AREA_FEATURE_NAME
Definition: dnc_util.h:158
~GLdoubleEdge()
Definition: dnc_util.h:256
static const char *const DAM_LINE_FEATURE_NAME
Definition: dnc_util.h:108
VPFUtil::Coord2DLong swCorner
Definition: dnc_util.h:190
static const char *const LEADING_LINE_FEATURE_NAME
Definition: dnc_util.h:135
static const char *const HYDROGRAPHY_COVERAGE_NAME
Definition: dnc_util.h:75
static const char *const BUILDNG_AREA_FEATURE_NAME
Definition: dnc_util.h:97
static const char *const PIER_AREA_FEATURE_NAME
Definition: dnc_util.h:152
static const char *const RAT_ID_COLUMN_NAME
Definition: dnc_util.h:69
Definition: bmpimage.h:46
static const char *const POWER_POINT_FEATURE_NAME
Definition: dnc_util.h:156
VPFUtil::Coord2DLong p3
Definition: dnc_util.h:275
static const char *const LIMITS_COVERAGE_NAME
Definition: dnc_util.h:84
static const char *const BUOYBCN_POINT_FEATURE_NAME
Definition: dnc_util.h:100
AttributePairArray _attributePairs
Definition: dnc_util.h:601
static const char *const CURRFL_POINT_FEATURE_NAME
Definition: dnc_util.h:107
Definition: gls_font_base.h:85