• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ self_candidate函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中self_candidate函数的典型用法代码示例。如果您正苦于以下问题:C++ self_candidate函数的具体用法?C++ self_candidate怎么用?C++ self_candidate使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: self_candidate

		void IfcRelVoidsElement::unlinkSelf()
		{
			IfcRelDecomposes::unlinkSelf();
			if( m_RelatedOpeningElement )
			{
				shared_ptr<IfcRelVoidsElement> self_candidate( m_RelatedOpeningElement->m_VoidsElements_inverse );
				if( self_candidate->getId() == this->getId() )
				{
					weak_ptr<IfcRelVoidsElement>& self_candidate_weak = m_RelatedOpeningElement->m_VoidsElements_inverse;
					self_candidate_weak.reset();
				}
			}
			if( m_RelatingBuildingElement )
			{
				std::vector<weak_ptr<IfcRelVoidsElement> >& HasOpenings_inverse = m_RelatingBuildingElement->m_HasOpenings_inverse;
				std::vector<weak_ptr<IfcRelVoidsElement> >::iterator it_HasOpenings_inverse;
				for( it_HasOpenings_inverse = HasOpenings_inverse.begin(); it_HasOpenings_inverse != HasOpenings_inverse.end(); ++it_HasOpenings_inverse)
				{
					shared_ptr<IfcRelVoidsElement> self_candidate( *it_HasOpenings_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						HasOpenings_inverse.erase( it_HasOpenings_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:27,代码来源:IfcRelVoidsElement.cpp


示例2: self_candidate

		void IfcRelAssignsToResource::unlinkSelf()
		{
			IfcRelAssigns::unlinkSelf();
			shared_ptr<IfcResource>  RelatingResource_IfcResource = dynamic_pointer_cast<IfcResource>( m_RelatingResource );
			if( RelatingResource_IfcResource )
			{
				std::vector<weak_ptr<IfcRelAssignsToResource> >& ResourceOf_inverse = RelatingResource_IfcResource->m_ResourceOf_inverse;
				std::vector<weak_ptr<IfcRelAssignsToResource> >::iterator it_ResourceOf_inverse;
				for( it_ResourceOf_inverse = ResourceOf_inverse.begin(); it_ResourceOf_inverse != ResourceOf_inverse.end(); ++it_ResourceOf_inverse)
				{
					shared_ptr<IfcRelAssignsToResource> self_candidate( *it_ResourceOf_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						ResourceOf_inverse.erase( it_ResourceOf_inverse );
						break;
					}
				}
			}
			shared_ptr<IfcTypeResource>  RelatingResource_IfcTypeResource = dynamic_pointer_cast<IfcTypeResource>( m_RelatingResource );
			if( RelatingResource_IfcTypeResource )
			{
				std::vector<weak_ptr<IfcRelAssignsToResource> >& ResourceOf_inverse = RelatingResource_IfcTypeResource->m_ResourceOf_inverse;
				std::vector<weak_ptr<IfcRelAssignsToResource> >::iterator it_ResourceOf_inverse;
				for( it_ResourceOf_inverse = ResourceOf_inverse.begin(); it_ResourceOf_inverse != ResourceOf_inverse.end(); ++it_ResourceOf_inverse)
				{
					shared_ptr<IfcRelAssignsToResource> self_candidate( *it_ResourceOf_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						ResourceOf_inverse.erase( it_ResourceOf_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:34,代码来源:IfcRelAssignsToResource.cpp


示例3: self_candidate

		void IfcProduct::unlinkSelf()
		{
			IfcObject::unlinkSelf();
			if( m_ObjectPlacement )
			{
				std::vector<weak_ptr<IfcProduct> >& PlacesObject_inverse = m_ObjectPlacement->m_PlacesObject_inverse;
				std::vector<weak_ptr<IfcProduct> >::iterator it_PlacesObject_inverse;
				for( it_PlacesObject_inverse = PlacesObject_inverse.begin(); it_PlacesObject_inverse != PlacesObject_inverse.end(); ++it_PlacesObject_inverse)
				{
					shared_ptr<IfcProduct> self_candidate( *it_PlacesObject_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						PlacesObject_inverse.erase( it_PlacesObject_inverse );
						break;
					}
				}
			}
			shared_ptr<IfcProductDefinitionShape>  Representation_IfcProductDefinitionShape = dynamic_pointer_cast<IfcProductDefinitionShape>( m_Representation );
			if( Representation_IfcProductDefinitionShape )
			{
				std::vector<weak_ptr<IfcProduct> >& ShapeOfProduct_inverse = Representation_IfcProductDefinitionShape->m_ShapeOfProduct_inverse;
				std::vector<weak_ptr<IfcProduct> >::iterator it_ShapeOfProduct_inverse;
				for( it_ShapeOfProduct_inverse = ShapeOfProduct_inverse.begin(); it_ShapeOfProduct_inverse != ShapeOfProduct_inverse.end(); ++it_ShapeOfProduct_inverse)
				{
					shared_ptr<IfcProduct> self_candidate( *it_ShapeOfProduct_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						ShapeOfProduct_inverse.erase( it_ShapeOfProduct_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:33,代码来源:IfcProduct.cpp


示例4: self_candidate

		void IfcPersonAndOrganization::unlinkSelf()
		{
			if( m_TheOrganization )
			{
				std::vector<weak_ptr<IfcPersonAndOrganization> >& Engages_inverse = m_TheOrganization->m_Engages_inverse;
				std::vector<weak_ptr<IfcPersonAndOrganization> >::iterator it_Engages_inverse;
				for( it_Engages_inverse = Engages_inverse.begin(); it_Engages_inverse != Engages_inverse.end(); ++it_Engages_inverse)
				{
					shared_ptr<IfcPersonAndOrganization> self_candidate( *it_Engages_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						Engages_inverse.erase( it_Engages_inverse );
						break;
					}
				}
			}
			if( m_ThePerson )
			{
				std::vector<weak_ptr<IfcPersonAndOrganization> >& EngagedIn_inverse = m_ThePerson->m_EngagedIn_inverse;
				std::vector<weak_ptr<IfcPersonAndOrganization> >::iterator it_EngagedIn_inverse;
				for( it_EngagedIn_inverse = EngagedIn_inverse.begin(); it_EngagedIn_inverse != EngagedIn_inverse.end(); ++it_EngagedIn_inverse)
				{
					shared_ptr<IfcPersonAndOrganization> self_candidate( *it_EngagedIn_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						EngagedIn_inverse.erase( it_EngagedIn_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:31,代码来源:IfcPersonAndOrganization.cpp


示例5: self_candidate

void IfcRelDefinesByType::unlinkSelf()
{
	IfcRelDefines::unlinkSelf();
	for( int i=0; i<m_RelatedObjects.size(); ++i )
	{
		if( m_RelatedObjects[i] )
		{
			std::vector<weak_ptr<IfcRelDefinesByType> >& IsTypedBy_inverse = m_RelatedObjects[i]->m_IsTypedBy_inverse;
			std::vector<weak_ptr<IfcRelDefinesByType> >::iterator it_IsTypedBy_inverse;
			for( it_IsTypedBy_inverse = IsTypedBy_inverse.begin(); it_IsTypedBy_inverse != IsTypedBy_inverse.end(); ++it_IsTypedBy_inverse)
			{
				shared_ptr<IfcRelDefinesByType> self_candidate( *it_IsTypedBy_inverse );
				if( self_candidate->getId() == this->getId() )
				{
					IsTypedBy_inverse.erase( it_IsTypedBy_inverse );
					break;
				}
			}
		}
	}
	if( m_RelatingType )
	{
		std::vector<weak_ptr<IfcRelDefinesByType> >& Types_inverse = m_RelatingType->m_Types_inverse;
		std::vector<weak_ptr<IfcRelDefinesByType> >::iterator it_Types_inverse;
		for( it_Types_inverse = Types_inverse.begin(); it_Types_inverse != Types_inverse.end(); ++it_Types_inverse)
		{
			shared_ptr<IfcRelDefinesByType> self_candidate( *it_Types_inverse );
			if( self_candidate->getId() == this->getId() )
			{
				Types_inverse.erase( it_Types_inverse );
				break;
			}
		}
	}
}
开发者ID:whztt07,项目名称:IFCPlusPlus_old,代码行数:35,代码来源:IfcRelDefinesByType.cpp


示例6: self_candidate

		void IfcRelFillsElement::unlinkSelf()
		{
			IfcRelConnects::unlinkSelf();
			if( m_RelatedBuildingElement )
			{
				std::vector<weak_ptr<IfcRelFillsElement> >& FillsVoids_inverse = m_RelatedBuildingElement->m_FillsVoids_inverse;
				std::vector<weak_ptr<IfcRelFillsElement> >::iterator it_FillsVoids_inverse;
				for( it_FillsVoids_inverse = FillsVoids_inverse.begin(); it_FillsVoids_inverse != FillsVoids_inverse.end(); ++it_FillsVoids_inverse)
				{
					shared_ptr<IfcRelFillsElement> self_candidate( *it_FillsVoids_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						FillsVoids_inverse.erase( it_FillsVoids_inverse );
						break;
					}
				}
			}
			if( m_RelatingOpeningElement )
			{
				std::vector<weak_ptr<IfcRelFillsElement> >& HasFillings_inverse = m_RelatingOpeningElement->m_HasFillings_inverse;
				std::vector<weak_ptr<IfcRelFillsElement> >::iterator it_HasFillings_inverse;
				for( it_HasFillings_inverse = HasFillings_inverse.begin(); it_HasFillings_inverse != HasFillings_inverse.end(); ++it_HasFillings_inverse)
				{
					shared_ptr<IfcRelFillsElement> self_candidate( *it_HasFillings_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						HasFillings_inverse.erase( it_HasFillings_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:32,代码来源:IfcRelFillsElement.cpp


示例7: self_candidate

		void IfcRelConnectsPortToElement::unlinkSelf()
		{
			IfcRelConnects::unlinkSelf();
			if( m_RelatedElement )
			{
				std::vector<weak_ptr<IfcRelConnectsPortToElement> >& HasPorts_inverse = m_RelatedElement->m_HasPorts_inverse;
				std::vector<weak_ptr<IfcRelConnectsPortToElement> >::iterator it_HasPorts_inverse;
				for( it_HasPorts_inverse = HasPorts_inverse.begin(); it_HasPorts_inverse != HasPorts_inverse.end(); ++it_HasPorts_inverse)
				{
					shared_ptr<IfcRelConnectsPortToElement> self_candidate( *it_HasPorts_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						HasPorts_inverse.erase( it_HasPorts_inverse );
						break;
					}
				}
			}
			if( m_RelatingPort )
			{
				std::vector<weak_ptr<IfcRelConnectsPortToElement> >& ContainedIn_inverse = m_RelatingPort->m_ContainedIn_inverse;
				std::vector<weak_ptr<IfcRelConnectsPortToElement> >::iterator it_ContainedIn_inverse;
				for( it_ContainedIn_inverse = ContainedIn_inverse.begin(); it_ContainedIn_inverse != ContainedIn_inverse.end(); ++it_ContainedIn_inverse)
				{
					shared_ptr<IfcRelConnectsPortToElement> self_candidate( *it_ContainedIn_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						ContainedIn_inverse.erase( it_ContainedIn_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:32,代码来源:IfcRelConnectsPortToElement.cpp


示例8: self_candidate

		void IfcRelConnectsElements::unlinkSelf()
		{
			IfcRelConnects::unlinkSelf();
			if( m_RelatedElement )
			{
				std::vector<weak_ptr<IfcRelConnectsElements> >& ConnectedFrom_inverse = m_RelatedElement->m_ConnectedFrom_inverse;
				std::vector<weak_ptr<IfcRelConnectsElements> >::iterator it_ConnectedFrom_inverse;
				for( it_ConnectedFrom_inverse = ConnectedFrom_inverse.begin(); it_ConnectedFrom_inverse != ConnectedFrom_inverse.end(); ++it_ConnectedFrom_inverse)
				{
					shared_ptr<IfcRelConnectsElements> self_candidate( *it_ConnectedFrom_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						ConnectedFrom_inverse.erase( it_ConnectedFrom_inverse );
						break;
					}
				}
			}
			if( m_RelatingElement )
			{
				std::vector<weak_ptr<IfcRelConnectsElements> >& ConnectedTo_inverse = m_RelatingElement->m_ConnectedTo_inverse;
				std::vector<weak_ptr<IfcRelConnectsElements> >::iterator it_ConnectedTo_inverse;
				for( it_ConnectedTo_inverse = ConnectedTo_inverse.begin(); it_ConnectedTo_inverse != ConnectedTo_inverse.end(); ++it_ConnectedTo_inverse)
				{
					shared_ptr<IfcRelConnectsElements> self_candidate( *it_ConnectedTo_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						ConnectedTo_inverse.erase( it_ConnectedTo_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:32,代码来源:IfcRelConnectsElements.cpp


示例9: self_candidate

		void IfcRelNests::unlinkSelf()
		{
			IfcRelDecomposes::unlinkSelf();
			for( int i=0; i<m_RelatedObjects.size(); ++i )
			{
				if( m_RelatedObjects[i] )
				{
					std::vector<weak_ptr<IfcRelNests> >& Nests_inverse = m_RelatedObjects[i]->m_Nests_inverse;
					std::vector<weak_ptr<IfcRelNests> >::iterator it_Nests_inverse;
					for( it_Nests_inverse = Nests_inverse.begin(); it_Nests_inverse != Nests_inverse.end(); ++it_Nests_inverse)
					{
						shared_ptr<IfcRelNests> self_candidate( *it_Nests_inverse );
						if( self_candidate->getId() == this->getId() )
						{
							Nests_inverse.erase( it_Nests_inverse );
							break;
						}
					}
				}
			}
			if( m_RelatingObject )
			{
				std::vector<weak_ptr<IfcRelNests> >& IsNestedBy_inverse = m_RelatingObject->m_IsNestedBy_inverse;
				std::vector<weak_ptr<IfcRelNests> >::iterator it_IsNestedBy_inverse;
				for( it_IsNestedBy_inverse = IsNestedBy_inverse.begin(); it_IsNestedBy_inverse != IsNestedBy_inverse.end(); ++it_IsNestedBy_inverse)
				{
					shared_ptr<IfcRelNests> self_candidate( *it_IsNestedBy_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						IsNestedBy_inverse.erase( it_IsNestedBy_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:35,代码来源:IfcRelNests.cpp


示例10: self_candidate

		void IfcRelSpaceBoundary::unlinkSelf()
		{
			IfcRelConnects::unlinkSelf();
			if( m_RelatedBuildingElement )
			{
				std::vector<weak_ptr<IfcRelSpaceBoundary> >& ProvidesBoundaries_inverse = m_RelatedBuildingElement->m_ProvidesBoundaries_inverse;
				std::vector<weak_ptr<IfcRelSpaceBoundary> >::iterator it_ProvidesBoundaries_inverse;
				for( it_ProvidesBoundaries_inverse = ProvidesBoundaries_inverse.begin(); it_ProvidesBoundaries_inverse != ProvidesBoundaries_inverse.end(); ++it_ProvidesBoundaries_inverse)
				{
					shared_ptr<IfcRelSpaceBoundary> self_candidate( *it_ProvidesBoundaries_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						ProvidesBoundaries_inverse.erase( it_ProvidesBoundaries_inverse );
						break;
					}
				}
			}
			if( m_RelatingSpace )
			{
				std::vector<weak_ptr<IfcRelSpaceBoundary> >& BoundedBy_inverse = m_RelatingSpace->m_BoundedBy_inverse;
				std::vector<weak_ptr<IfcRelSpaceBoundary> >::iterator it_BoundedBy_inverse;
				for( it_BoundedBy_inverse = BoundedBy_inverse.begin(); it_BoundedBy_inverse != BoundedBy_inverse.end(); ++it_BoundedBy_inverse)
				{
					shared_ptr<IfcRelSpaceBoundary> self_candidate( *it_BoundedBy_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						BoundedBy_inverse.erase( it_BoundedBy_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:32,代码来源:IfcRelSpaceBoundary.cpp


示例11: self_candidate

		void IfcRelAssociatesMaterial::unlinkSelf()
		{
			IfcRelAssociates::unlinkSelf();
			shared_ptr<IfcMaterialDefinition>  RelatingMaterial_IfcMaterialDefinition = dynamic_pointer_cast<IfcMaterialDefinition>( m_RelatingMaterial );
			if( RelatingMaterial_IfcMaterialDefinition )
			{
				std::vector<weak_ptr<IfcRelAssociatesMaterial> >& AssociatedTo_inverse = RelatingMaterial_IfcMaterialDefinition->m_AssociatedTo_inverse;
				std::vector<weak_ptr<IfcRelAssociatesMaterial> >::iterator it_AssociatedTo_inverse;
				for( it_AssociatedTo_inverse = AssociatedTo_inverse.begin(); it_AssociatedTo_inverse != AssociatedTo_inverse.end(); ++it_AssociatedTo_inverse)
				{
					shared_ptr<IfcRelAssociatesMaterial> self_candidate( *it_AssociatedTo_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						AssociatedTo_inverse.erase( it_AssociatedTo_inverse );
						break;
					}
				}
			}
			shared_ptr<IfcMaterialUsageDefinition>  RelatingMaterial_IfcMaterialUsageDefinition = dynamic_pointer_cast<IfcMaterialUsageDefinition>( m_RelatingMaterial );
			if( RelatingMaterial_IfcMaterialUsageDefinition )
			{
				std::vector<weak_ptr<IfcRelAssociatesMaterial> >& AssociatedTo_inverse = RelatingMaterial_IfcMaterialUsageDefinition->m_AssociatedTo_inverse;
				std::vector<weak_ptr<IfcRelAssociatesMaterial> >::iterator it_AssociatedTo_inverse;
				for( it_AssociatedTo_inverse = AssociatedTo_inverse.begin(); it_AssociatedTo_inverse != AssociatedTo_inverse.end(); ++it_AssociatedTo_inverse)
				{
					shared_ptr<IfcRelAssociatesMaterial> self_candidate( *it_AssociatedTo_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						AssociatedTo_inverse.erase( it_AssociatedTo_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:34,代码来源:IfcRelAssociatesMaterial.cpp


示例12: self_candidate

		void IfcDocumentInformationRelationship::unlinkSelf()
		{
			IfcResourceLevelRelationship::unlinkSelf();
			for( int i=0; i<m_RelatedDocuments.size(); ++i )
			{
				if( m_RelatedDocuments[i] )
				{
					std::vector<weak_ptr<IfcDocumentInformationRelationship> >& IsPointedTo_inverse = m_RelatedDocuments[i]->m_IsPointedTo_inverse;
					std::vector<weak_ptr<IfcDocumentInformationRelationship> >::iterator it_IsPointedTo_inverse;
					for( it_IsPointedTo_inverse = IsPointedTo_inverse.begin(); it_IsPointedTo_inverse != IsPointedTo_inverse.end(); ++it_IsPointedTo_inverse)
					{
						shared_ptr<IfcDocumentInformationRelationship> self_candidate( *it_IsPointedTo_inverse );
						if( self_candidate->getId() == this->getId() )
						{
							IsPointedTo_inverse.erase( it_IsPointedTo_inverse );
							break;
						}
					}
				}
			}
			if( m_RelatingDocument )
			{
				std::vector<weak_ptr<IfcDocumentInformationRelationship> >& IsPointer_inverse = m_RelatingDocument->m_IsPointer_inverse;
				std::vector<weak_ptr<IfcDocumentInformationRelationship> >::iterator it_IsPointer_inverse;
				for( it_IsPointer_inverse = IsPointer_inverse.begin(); it_IsPointer_inverse != IsPointer_inverse.end(); ++it_IsPointer_inverse)
				{
					shared_ptr<IfcDocumentInformationRelationship> self_candidate( *it_IsPointer_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						IsPointer_inverse.erase( it_IsPointer_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:35,代码来源:IfcDocumentInformationRelationship.cpp


示例13: self_candidate

		void IfcRelAssociatesLibrary::unlinkSelf()
		{
			IfcRelAssociates::unlinkSelf();
			shared_ptr<IfcLibraryInformation>  RelatingLibrary_IfcLibraryInformation = dynamic_pointer_cast<IfcLibraryInformation>( m_RelatingLibrary );
			if( RelatingLibrary_IfcLibraryInformation )
			{
				std::vector<weak_ptr<IfcRelAssociatesLibrary> >& LibraryInfoForObjects_inverse = RelatingLibrary_IfcLibraryInformation->m_LibraryInfoForObjects_inverse;
				std::vector<weak_ptr<IfcRelAssociatesLibrary> >::iterator it_LibraryInfoForObjects_inverse;
				for( it_LibraryInfoForObjects_inverse = LibraryInfoForObjects_inverse.begin(); it_LibraryInfoForObjects_inverse != LibraryInfoForObjects_inverse.end(); ++it_LibraryInfoForObjects_inverse)
				{
					shared_ptr<IfcRelAssociatesLibrary> self_candidate( *it_LibraryInfoForObjects_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						LibraryInfoForObjects_inverse.erase( it_LibraryInfoForObjects_inverse );
						break;
					}
				}
			}
			shared_ptr<IfcLibraryReference>  RelatingLibrary_IfcLibraryReference = dynamic_pointer_cast<IfcLibraryReference>( m_RelatingLibrary );
			if( RelatingLibrary_IfcLibraryReference )
			{
				std::vector<weak_ptr<IfcRelAssociatesLibrary> >& LibraryRefForObjects_inverse = RelatingLibrary_IfcLibraryReference->m_LibraryRefForObjects_inverse;
				std::vector<weak_ptr<IfcRelAssociatesLibrary> >::iterator it_LibraryRefForObjects_inverse;
				for( it_LibraryRefForObjects_inverse = LibraryRefForObjects_inverse.begin(); it_LibraryRefForObjects_inverse != LibraryRefForObjects_inverse.end(); ++it_LibraryRefForObjects_inverse)
				{
					shared_ptr<IfcRelAssociatesLibrary> self_candidate( *it_LibraryRefForObjects_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						LibraryRefForObjects_inverse.erase( it_LibraryRefForObjects_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:34,代码来源:IfcRelAssociatesLibrary.cpp


示例14: self_candidate

		void IfcRelConnectsStructuralActivity::unlinkSelf()
		{
			IfcRelConnects::unlinkSelf();
			if( m_RelatedStructuralActivity )
			{
				std::vector<weak_ptr<IfcRelConnectsStructuralActivity> >& AssignedToStructuralItem_inverse = m_RelatedStructuralActivity->m_AssignedToStructuralItem_inverse;
				std::vector<weak_ptr<IfcRelConnectsStructuralActivity> >::iterator it_AssignedToStructuralItem_inverse;
				for( it_AssignedToStructuralItem_inverse = AssignedToStructuralItem_inverse.begin(); it_AssignedToStructuralItem_inverse != AssignedToStructuralItem_inverse.end(); ++it_AssignedToStructuralItem_inverse)
				{
					shared_ptr<IfcRelConnectsStructuralActivity> self_candidate( *it_AssignedToStructuralItem_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						AssignedToStructuralItem_inverse.erase( it_AssignedToStructuralItem_inverse );
						break;
					}
				}
			}
			shared_ptr<IfcStructuralItem>  RelatingElement_IfcStructuralItem = dynamic_pointer_cast<IfcStructuralItem>( m_RelatingElement );
			if( RelatingElement_IfcStructuralItem )
			{
				std::vector<weak_ptr<IfcRelConnectsStructuralActivity> >& AssignedStructuralActivity_inverse = RelatingElement_IfcStructuralItem->m_AssignedStructuralActivity_inverse;
				std::vector<weak_ptr<IfcRelConnectsStructuralActivity> >::iterator it_AssignedStructuralActivity_inverse;
				for( it_AssignedStructuralActivity_inverse = AssignedStructuralActivity_inverse.begin(); it_AssignedStructuralActivity_inverse != AssignedStructuralActivity_inverse.end(); ++it_AssignedStructuralActivity_inverse)
				{
					shared_ptr<IfcRelConnectsStructuralActivity> self_candidate( *it_AssignedStructuralActivity_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						AssignedStructuralActivity_inverse.erase( it_AssignedStructuralActivity_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:33,代码来源:IfcRelConnectsStructuralActivity.cpp


示例15: self_candidate

		void IfcRelInterferesElements::unlinkSelf()
		{
			IfcRelConnects::unlinkSelf();
			if( m_RelatedElement )
			{
				std::vector<weak_ptr<IfcRelInterferesElements> >& IsInterferedByElements_inverse = m_RelatedElement->m_IsInterferedByElements_inverse;
				std::vector<weak_ptr<IfcRelInterferesElements> >::iterator it_IsInterferedByElements_inverse;
				for( it_IsInterferedByElements_inverse = IsInterferedByElements_inverse.begin(); it_IsInterferedByElements_inverse != IsInterferedByElements_inverse.end(); ++it_IsInterferedByElements_inverse)
				{
					shared_ptr<IfcRelInterferesElements> self_candidate( *it_IsInterferedByElements_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						IsInterferedByElements_inverse.erase( it_IsInterferedByElements_inverse );
						break;
					}
				}
			}
			if( m_RelatingElement )
			{
				std::vector<weak_ptr<IfcRelInterferesElements> >& InterferesElements_inverse = m_RelatingElement->m_InterferesElements_inverse;
				std::vector<weak_ptr<IfcRelInterferesElements> >::iterator it_InterferesElements_inverse;
				for( it_InterferesElements_inverse = InterferesElements_inverse.begin(); it_InterferesElements_inverse != InterferesElements_inverse.end(); ++it_InterferesElements_inverse)
				{
					shared_ptr<IfcRelInterferesElements> self_candidate( *it_InterferesElements_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						InterferesElements_inverse.erase( it_InterferesElements_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:32,代码来源:IfcRelInterferesElements.cpp


示例16: self_candidate

void IfcRelSequence::unlinkSelf()
{
	IfcRelConnects::unlinkSelf();
	if( m_RelatedProcess )
	{
		std::vector<weak_ptr<IfcRelSequence> >& IsSuccessorFrom_inverse = m_RelatedProcess->m_IsSuccessorFrom_inverse;
		std::vector<weak_ptr<IfcRelSequence> >::iterator it_IsSuccessorFrom_inverse;
		for( it_IsSuccessorFrom_inverse = IsSuccessorFrom_inverse.begin(); it_IsSuccessorFrom_inverse != IsSuccessorFrom_inverse.end(); ++it_IsSuccessorFrom_inverse)
		{
			shared_ptr<IfcRelSequence> self_candidate( *it_IsSuccessorFrom_inverse );
			if( self_candidate->getId() == this->getId() )
			{
				IsSuccessorFrom_inverse.erase( it_IsSuccessorFrom_inverse );
				break;
			}
		}
	}
	if( m_RelatingProcess )
	{
		std::vector<weak_ptr<IfcRelSequence> >& IsPredecessorTo_inverse = m_RelatingProcess->m_IsPredecessorTo_inverse;
		std::vector<weak_ptr<IfcRelSequence> >::iterator it_IsPredecessorTo_inverse;
		for( it_IsPredecessorTo_inverse = IsPredecessorTo_inverse.begin(); it_IsPredecessorTo_inverse != IsPredecessorTo_inverse.end(); ++it_IsPredecessorTo_inverse)
		{
			shared_ptr<IfcRelSequence> self_candidate( *it_IsPredecessorTo_inverse );
			if( self_candidate->getId() == this->getId() )
			{
				IsPredecessorTo_inverse.erase( it_IsPredecessorTo_inverse );
				break;
			}
		}
	}
}
开发者ID:whztt07,项目名称:IFCPlusPlus_old,代码行数:32,代码来源:IfcRelSequence.cpp


示例17: self_candidate

		void IfcMaterialRelationship::unlinkSelf()
		{
			IfcResourceLevelRelationship::unlinkSelf();
			for( int i=0; i<m_RelatedMaterials.size(); ++i )
			{
				if( m_RelatedMaterials[i] )
				{
					std::vector<weak_ptr<IfcMaterialRelationship> >& IsRelatedWith_inverse = m_RelatedMaterials[i]->m_IsRelatedWith_inverse;
					std::vector<weak_ptr<IfcMaterialRelationship> >::iterator it_IsRelatedWith_inverse;
					for( it_IsRelatedWith_inverse = IsRelatedWith_inverse.begin(); it_IsRelatedWith_inverse != IsRelatedWith_inverse.end(); ++it_IsRelatedWith_inverse)
					{
						shared_ptr<IfcMaterialRelationship> self_candidate( *it_IsRelatedWith_inverse );
						if( self_candidate->getId() == this->getId() )
						{
							IsRelatedWith_inverse.erase( it_IsRelatedWith_inverse );
							break;
						}
					}
				}
			}
			if( m_RelatingMaterial )
			{
				std::vector<weak_ptr<IfcMaterialRelationship> >& RelatesTo_inverse = m_RelatingMaterial->m_RelatesTo_inverse;
				std::vector<weak_ptr<IfcMaterialRelationship> >::iterator it_RelatesTo_inverse;
				for( it_RelatesTo_inverse = RelatesTo_inverse.begin(); it_RelatesTo_inverse != RelatesTo_inverse.end(); ++it_RelatesTo_inverse)
				{
					shared_ptr<IfcMaterialRelationship> self_candidate( *it_RelatesTo_inverse );
					if( self_candidate->getId() == this->getId() )
					{
						RelatesTo_inverse.erase( it_RelatesTo_inverse );
						break;
					}
				}
			}
		}
开发者ID:bigdoods,项目名称:OpenInfraPlatform,代码行数:35,代码来源:IfcMaterialRelationship.cpp


示例18: self_candidate

void IfcRelDefinesByProperties::unlinkFromInverseCounterparts()
{
	IfcRelDefines::unlinkFromInverseCounterparts();
	for( size_t i=0; i<m_RelatedObjects.size(); ++i )
	{
		shared_ptr<IfcContext>  RelatedObjects_IfcContext = dynamic_pointer_cast<IfcContext>( m_RelatedObjects[i] );
		if( RelatedObjects_IfcContext )
		{
			std::vector<weak_ptr<IfcRelDefinesByProperties> >& IsDefinedBy_inverse = RelatedObjects_IfcContext->m_IsDefinedBy_inverse;
			for( auto it_IsDefinedBy_inverse = IsDefinedBy_inverse.begin(); it_IsDefinedBy_inverse != IsDefinedBy_inverse.end(); )
			{
				shared_ptr<IfcRelDefinesByProperties> self_candidate( *it_IsDefinedBy_inverse );
				if( self_candidate.get() == this )
				{
					it_IsDefinedBy_inverse= IsDefinedBy_inverse.erase( it_IsDefinedBy_inverse );
				}
				else
				{
					++it_IsDefinedBy_inverse;
				}
			}
		}
		shared_ptr<IfcObject>  RelatedObjects_IfcObject = dynamic_pointer_cast<IfcObject>( m_RelatedObjects[i] );
		if( RelatedObjects_IfcObject )
		{
			std::vector<weak_ptr<IfcRelDefinesByProperties> >& IsDefinedBy_inverse = RelatedObjects_IfcObject->m_IsDefinedBy_inverse;
			for( auto it_IsDefinedBy_inverse = IsDefinedBy_inverse.begin(); it_IsDefinedBy_inverse != IsDefinedBy_inverse.end(); )
			{
				shared_ptr<IfcRelDefinesByProperties> self_candidate( *it_IsDefinedBy_inverse );
				if( self_candidate.get() == this )
				{
					it_IsDefinedBy_inverse= IsDefinedBy_inverse.erase( it_IsDefinedBy_inverse );
				}
				else
				{
					++it_IsDefinedBy_inverse;
				}
			}
		}
	}
	shared_ptr<IfcPropertySetDefinition>  RelatingPropertyDefinition_IfcPropertySetDefinition = dynamic_pointer_cast<IfcPropertySetDefinition>( m_RelatingPropertyDefinition );
	if( RelatingPropertyDefinition_IfcPropertySetDefinition )
	{
		std::vector<weak_ptr<IfcRelDefinesByProperties> >& DefinesOccurrence_inverse = RelatingPropertyDefinition_IfcPropertySetDefinition->m_DefinesOccurrence_inverse;
		for( auto it_DefinesOccurrence_inverse = DefinesOccurrence_inverse.begin(); it_DefinesOccurrence_inverse != DefinesOccurrence_inverse.end(); )
		{
			shared_ptr<IfcRelDefinesByProperties> self_candidate( *it_DefinesOccurrence_inverse );
			if( self_candidate.get() == this )
			{
				it_DefinesOccurrence_inverse= DefinesOccurrence_inverse.erase( it_DefinesOccurrence_inverse );
			}
			else
			{
				++it_DefinesOccurrence_inverse;
			}
		}
	}
}
开发者ID:mbinette91,项目名称:ConstructionLCA-IfcReader,代码行数:58,代码来源:IfcRelDefinesByProperties.cpp


示例19: self_candidate

void IfcShapeAspect::unlinkFromInverseCounterparts()
{
	shared_ptr<IfcProductDefinitionShape>  PartOfProductDefinitionShape_IfcProductDefinitionShape = dynamic_pointer_cast<IfcProductDefinitionShape>( m_PartOfProductDefinitionShape );
	if( PartOfProductDefinitionShape_IfcProductDefinitionShape )
	{
		std::vector<weak_ptr<IfcShapeAspect> >& HasShapeAspects_inverse = PartOfProductDefinitionShape_IfcProductDefinitionShape->m_HasShapeAspects_inverse;
		for( auto it_HasShapeAspects_inverse = HasShapeAspects_inverse.begin(); it_HasShapeAspects_inverse != HasShapeAspects_inverse.end(); )
		{
			shared_ptr<IfcShapeAspect> self_candidate( *it_HasShapeAspects_inverse );
			if( self_candidate.get() == this )
			{
				it_HasShapeAspects_inverse= HasShapeAspects_inverse.erase( it_HasShapeAspects_inverse );
			}
			else
			{
				++it_HasShapeAspects_inverse;
			}
		}
	}
	shared_ptr<IfcRepresentationMap>  PartOfProductDefinitionShape_IfcRepresentationMap = dynamic_pointer_cast<IfcRepresentationMap>( m_PartOfProductDefinitionShape );
	if( PartOfProductDefinitionShape_IfcRepresentationMap )
	{
		std::vector<weak_ptr<IfcShapeAspect> >& HasShapeAspects_inverse = PartOfProductDefinitionShape_IfcRepresentationMap->m_HasShapeAspects_inverse;
		for( auto it_HasShapeAspects_inverse = HasShapeAspects_inverse.begin(); it_HasShapeAspects_inverse != HasShapeAspects_inverse.end(); )
		{
			shared_ptr<IfcShapeAspect> self_candidate( *it_HasShapeAspects_inverse );
			if( self_candidate.get() == this )
			{
				it_HasShapeAspects_inverse= HasShapeAspects_inverse.erase( it_HasShapeAspects_inverse );
			}
			else
			{
				++it_HasShapeAspects_inverse;
			}
		}
	}
	for( size_t i=0; i<m_ShapeRepresentations.size(); ++i )
	{
		if( m_ShapeRepresentations[i] )
		{
			std::vector<weak_ptr<IfcShapeAspect> >& OfShapeAspect_inverse = m_ShapeRepresentations[i]->m_OfShapeAspect_inverse;
			for( auto it_OfShapeAspect_inverse = OfShapeAspect_inverse.begin(); it_OfShapeAspect_inverse != OfShapeAspect_inverse.end(); )
			{
				shared_ptr<IfcShapeAspect> self_candidate( *it_OfShapeAspect_inverse );
				if( self_candidate.get() == this )
				{
					it_OfShapeAspect_inverse= OfShapeAspect_inverse.erase( it_OfShapeAspect_inverse );
				}
				else
				{
					++it_OfShapeAspect_inverse;
				}
			}
		}
	}
}
开发者ID:PanicSheep,项目名称:ifcplusplus,代码行数:56,代码来源:IfcShapeAspect.cpp


示例20: self_candidate

void IfcStructuralAnalysisModel::unlinkFromInverseCounterparts()
{
	IfcSystem::unlinkFromInverseCounterparts();
	for( size_t i=0; i<m_HasResults.size(); ++i )
	{
		if( m_HasResults[i] )
		{
			std::vector<weak_ptr<IfcStructuralAnalysisModel> >& ResultGroupFor_inverse = m_HasResults[i]->m_ResultGroupFor_inverse;
			for( auto it_ResultGroupFor_inverse = ResultGroupFor_inverse.begin(); it_ResultGroupFor_inverse != ResultGroupFor_inverse.end(); )
			{
				weak_ptr<IfcStructuralAnalysisModel> self_candidate_weak = *it_ResultGroupFor_inverse;
				if( self_candidate_weak.expired() )
				{
					++it_ResultGroupFor_inverse;
					continue;
				}
				shared_ptr<IfcStructuralAnalysisModel> self_candidate( *it_ResultGroupFor_inverse );
				if( self_candidate.get() == this )
				{
					it_ResultGroupFor_inverse= ResultGroupFor_inverse.erase( it_ResultGroupFor_inverse );
				}
				else
				{
					++it_ResultGroupFor_inverse;
				}
			}
		}
	}
	for( size_t i=0; i<m_LoadedBy.size(); ++i )
	{
		if( m_LoadedBy[i] )
		{
			std::vector<weak_ptr<IfcStructuralAnalysisModel> >& LoadGroupFor_inverse = m_LoadedBy[i]->m_LoadGroupFor_inverse;
			for( auto it_LoadGroupFor_inverse = LoadGroupFor_inverse.begin(); it_LoadGroupFor_inverse != LoadGroupFor_inverse.end(); )
			{
				weak_ptr<IfcStructuralAnalysisModel> self_candidate_weak = *it_LoadGroupFor_inverse;
				if( self_candidate_weak.expired() )
				{
					++it_LoadGroupFor_inverse;
					continue;
				}
				shared_ptr<IfcStructuralAnalysisModel> self_candidate( *it_LoadGroupFor_inverse );
				if( self_candidate.get() == this )
				{
					it_LoadGroupFor_inverse= LoadGroupFor_inverse.erase( it_LoadGroupFor_inverse );
				}
				else
				{
					++it_LoadGroupFor_inverse;
				}
			}
		}
	}
}
开发者ID:berndhahnebach,项目名称:IfcPlusPlus,代码行数:54,代码来源:IfcStructuralAnalysisModel.cpp



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ self_disklabel函数代码示例发布时间:2022-05-30
下一篇:
C++ selector函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap