当前位置: 首页>>代码示例>>C++>>正文


C++ RasterElement::createDefaultPager方法代码示例

本文整理汇总了C++中RasterElement::createDefaultPager方法的典型用法代码示例。如果您正苦于以下问题:C++ RasterElement::createDefaultPager方法的具体用法?C++ RasterElement::createDefaultPager怎么用?C++ RasterElement::createDefaultPager使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在RasterElement的用法示例。


在下文中一共展示了RasterElement::createDefaultPager方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: createElement

DataElement* ModelServicesImp::createElement(const DataDescriptor* pDescriptor, const string& id)
{
   const DataDescriptorImp* pDescriptorImp = dynamic_cast<const DataDescriptorImp*>(pDescriptor);
   if (pDescriptorImp == NULL)
   {
      return NULL;
   }
   if (pDescriptorImp->getParent() == NULL && !pDescriptorImp->getParentDesignator().empty())
   {
      // Set the parent element pointer into the data descriptor if the descriptor was created with the designator
      DataElement* pParent = getElement(pDescriptorImp->getParentDesignator(), string());
      if (pParent == NULL)
      {
         // The parent element does not exist, so do not create the element
         return NULL;
      }

      const_cast<DataDescriptorImp*>(pDescriptorImp)->setParent(pParent);
   }

   // Check if an element with the same name, type, and parent already exists
   const string& name = pDescriptorImp->getName();
   const string& type = pDescriptorImp->getType();
   DataElement* pParent = pDescriptorImp->getParent();

   if (getElement(name, type, pParent) != NULL)
   {
      return NULL;
   }

   // Create the element
   DataElement* pElement = NULL;
   if ((type == "AnnotationElement") || (type == "AnnotationElementAdapter"))
   {
      pElement = new AnnotationElementAdapter(*pDescriptorImp, id);
   }
   else if ((type == "AoiElement") || (type == "AoiElementAdapter"))
   {
      pElement = new AoiElementAdapter(*pDescriptorImp, id);
   }
   else if ((type == "DataElement") || (type == "DataElementAdapter"))
   {
      pElement = new DataElementAdapter(*pDescriptorImp, id);
   }
   else if ((type == "DataElementGroup") || (type == "DataElementGroupAdapter"))
   {
      pElement = new DataElementGroupAdapter(*pDescriptorImp, id);
   }
   else if ((type == "GcpList") || (type == "GcpListAdapter"))
   {
      pElement = new GcpListAdapter(*pDescriptorImp, id);
   }
   else if ((type == "PointCloudElement") || (type == "PointCloudElementAdapter"))
   {
      const PointCloudDataDescriptor* pPcDescriptor = dynamic_cast<const PointCloudDataDescriptor*>(pDescriptor);
      if (pPcDescriptor != NULL)
      {
         PointCloudElement* pCloud = new PointCloudElementAdapter(*pDescriptorImp, id);
         if (pCloud != NULL)
         {
            if (pDescriptorImp->getProcessingLocation() == IN_MEMORY)
            {
               if (!pCloud->createInMemoryPager())
               {
                  delete dynamic_cast<PointCloudElementImp*>(pCloud);
                  pCloud = NULL;
               }
            }
         }
         pElement = pCloud;
      }
   }
   else if ((type == "RasterElement") || (type == "RasterElementAdapter"))
   {
      const RasterDataDescriptor* pRasterDescriptor = dynamic_cast<const RasterDataDescriptor*>(pDescriptor);
      if (pRasterDescriptor != NULL)
      {
         RasterElement* pRaster = new RasterElementAdapter(*pDescriptorImp, id);

         if (pRaster != NULL)
         {
            if (pDescriptorImp->getProcessingLocation() == IN_MEMORY)
            {
               if (!pRaster->createDefaultPager())
               {
                  delete dynamic_cast<RasterElementImp*>(pRaster);
                  pRaster = NULL;
               }
            }
         }
         pElement = pRaster;
      }
   }
   else if ((type == "Signature") || (type == "SignatureAdapter"))
   {
      pElement = new SignatureAdapter(*pDescriptorImp, id);
   }
   else if ((type == "SignatureLibrary") || (type == "SignatureLibraryAdapter"))
   {
      pElement = new SignatureLibraryAdapter(*pDescriptorImp, id);
//.........这里部分代码省略.........
开发者ID:jonatho7,项目名称:opticks,代码行数:101,代码来源:ModelServicesImp.cpp


注:本文中的RasterElement::createDefaultPager方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。