本文整理汇总了C++中StylePtr::has_linestyle方法的典型用法代码示例。如果您正苦于以下问题:C++ StylePtr::has_linestyle方法的具体用法?C++ StylePtr::has_linestyle怎么用?C++ StylePtr::has_linestyle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类StylePtr
的用法示例。
在下文中一共展示了StylePtr::has_linestyle方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: kml2stylestring
void kml2stylestring (
StylePtr poKmlStyle,
OGRStyleMgr * poOgrSM )
{
OGRStyleMgr * poOgrNewSM ;
OGRStyleTool *poOgrST = NULL;
OGRStyleTool *poOgrTmpST = NULL;
int i;
poOgrNewSM = new OGRStyleMgr( NULL );
/***** linestyle / pen *****/
if ( poKmlStyle->has_linestyle ( ) ) {
poOgrNewSM->InitStyleString ( NULL );
LineStylePtr poKmlLineStyle = poKmlStyle->get_linestyle ( );
poOgrTmpST = NULL;
for ( i = 0; i < poOgrSM->GetPartCount ( NULL ); i++ ) {
poOgrST = poOgrSM->GetPart ( i, NULL );
if ( !poOgrST )
continue;
if ( poOgrST->GetType ( ) == OGRSTCPen ) {
poOgrTmpST = poOgrST;
}
else {
poOgrNewSM->AddPart ( poOgrST );
delete poOgrST;
}
}
OGRStylePen *poOgrStylePen = kml2pen ( poKmlLineStyle,
( OGRStylePen *) poOgrTmpST);
poOgrNewSM->AddPart ( poOgrStylePen );
delete poOgrStylePen;
poOgrSM->InitStyleString ( poOgrNewSM->GetStyleString(NULL) );
}
/***** polystyle / brush *****/
if ( poKmlStyle->has_polystyle ( ) ) {
poOgrNewSM->InitStyleString ( NULL );
PolyStylePtr poKmlPolyStyle = poKmlStyle->get_polystyle ( );
poOgrTmpST = NULL;
for ( i = 0; i < poOgrSM->GetPartCount ( NULL ); i++ ) {
poOgrST = poOgrSM->GetPart ( i, NULL );
if ( !poOgrST )
continue;
if ( poOgrST->GetType ( ) == OGRSTCBrush ) {
poOgrTmpST = poOgrST;
}
else {
poOgrNewSM->AddPart ( poOgrST );
delete poOgrST;
}
}
OGRStyleBrush *poOgrStyleBrush = kml2brush ( poKmlPolyStyle,
( OGRStyleBrush *) poOgrTmpST );
poOgrNewSM->AddPart ( poOgrStyleBrush );
delete poOgrStyleBrush;
poOgrSM->InitStyleString ( poOgrNewSM->GetStyleString(NULL) );
}
/***** iconstyle / symbol *****/
if ( poKmlStyle->has_iconstyle ( ) ) {
poOgrNewSM->InitStyleString ( NULL );
IconStylePtr poKmlIconStyle = poKmlStyle->get_iconstyle ( );
poOgrTmpST = NULL;
for ( i = 0; i < poOgrSM->GetPartCount ( NULL ); i++ ) {
poOgrST = poOgrSM->GetPart ( i, NULL );
if ( !poOgrST )
continue;
if ( poOgrST->GetType ( ) == OGRSTCSymbol ) {
poOgrTmpST = poOgrST;
}
else {
//.........这里部分代码省略.........