本文整理汇总了C++中GraphicObject::getRotatedExtents方法的典型用法代码示例。如果您正苦于以下问题:C++ GraphicObject::getRotatedExtents方法的具体用法?C++ GraphicObject::getRotatedExtents怎么用?C++ GraphicObject::getRotatedExtents使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GraphicObject
的用法示例。
在下文中一共展示了GraphicObject::getRotatedExtents方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: maskIt
vector<Feature*> ShapeFile::addFeatures(GraphicElement* pGraphicElement, GraphicObject* pObject,
RasterElement* pGeoref, string& message)
{
vector<Feature*> features;
message.clear();
if (pGraphicElement == NULL)
{
message = "Features cannot be added because the data element is invalid!";
return features;
}
if (pGeoref == NULL || !pGeoref->isGeoreferenced())
{
message = "No georeferencing information can be found.";
return features;
}
// Do not allow erase or toggle objects
if (pObject != NULL)
{
if (pObject->getDrawMode() != DRAW)
{
message = "The " + pObject->getName() + " object is an erase or toggle object, so a feature "
"will not be added.";
return features;
}
}
// Get the objects
list<GraphicObject*> objects;
if (pObject != NULL)
{
objects.push_back(pObject);
}
else
{
GraphicGroup* pGroup = pGraphicElement->getGroup();
if (pGroup != NULL)
{
// If the element is displayed in an annotation layer, use the selected objects
AnnotationLayer* pAnnotationLayer = dynamic_cast<AnnotationLayer*>(pGroup->getLayer());
if (pAnnotationLayer != NULL)
{
pAnnotationLayer->getSelectedObjects(objects);
}
if (objects.empty())
{
objects = pGroup->getObjects();
}
}
}
// Create the features
string elementName = pGraphicElement->getName();
const DynamicObject* pMetadata = getSourceMetadata(*pGraphicElement);
switch (mShape)
{
case ShapefileTypes::POINT_SHAPE:
{
if (dynamic_cast<AnnotationElement*>(pGraphicElement) != NULL)
{
if (objects.empty())
{
message = "Cannot create a shape file from an empty element.";
return features;
}
// Get names of attributes which should be copied/exported.
vector<string> attrNames;
const DynamicObject* pAttributeMetadata = getSourceAttributeMetadata(*pGraphicElement);
if (pAttributeMetadata != NULL)
{
pAttributeMetadata->getAttributeNames(attrNames);
}
for (list<GraphicObject*>::const_iterator it = objects.begin(); it != objects.end(); ++it)
{
GraphicObject* pCurrentObject = *it;
if (pCurrentObject != NULL)
{
// Do not allow erase or toggle objects
if (pCurrentObject->getDrawMode() != DRAW)
{
continue;
}
string objectName = pCurrentObject->getName();
vector<LocationType> vertices;
pCurrentObject->getRotatedExtents(vertices);
// Each point created from this object uses the same metadata.
int idx = -1;
if (pMetadata != NULL)
{
idx = getAttributeIndex(*pCurrentObject, *pMetadata);
}
//.........这里部分代码省略.........