+ else {
+ // try study object properties
+ QStringList aMarkerProp;
+ SUIT_ViewWindow* window = getStudy()->application()->desktop()->activeWindow();
+ if (window && window->getViewManager()) {
+ int mgrId = window->getViewManager()->getGlobalId();
+ PropMap aPropMap = getStudy()->getObjectProperties(mgrId, it.Value()->getEntry());
+ aMarkerProp = aPropMap.value(GEOM::propertyName(GEOM::PointMarker)).toString().split( GEOM::subSectionSeparator());
+ }
+ if ( aMarkerProp.size() == 2 ) {
+ // standard marker string contains "TypeOfMarker:ScaleOfMarker"
+ GEOM::marker_type mtype = (GEOM::marker_type)aMarkerProp[0].toInt();
+ GEOM::marker_size msize = (GEOM::marker_size)aMarkerProp[1].toInt();
+
+ if ( aType == -1 )
+ aType = mtype;
+ else if ( aType != mtype ) {
+ aType = (GEOM::marker_type)-1;
+ break;
+ }
+ if ( aSize == -1 )
+ aSize = msize;
+ else if ( aSize != msize )
+ break;
+ }
+ else if ( aMarkerProp.size() == 1 ) {
+ // custom marker string contains "IdOfTexture"
+ int mtexture = aMarkerProp[0].toInt();
+
+ if ( aType == -1 )
+ aType = GEOM::MT_USER;
+ else if ( aType != GEOM::MT_USER) {
+ aType = (GEOM::marker_type)-1;
+ break;
+ }
+ if ( aTexture == 0 )
+ aTexture = mtexture;
+ else if ( aTexture != mtexture )
+ break;
+ }
+ }