Exemplo n.º 1
0
FCDEntityReference::~FCDEntityReference()
{
	SetPlaceHolder(NULL);

	UntrackObject(entity);
	entity = NULL;
}
FCDGeometryPolygonsInput::~FCDGeometryPolygonsInput()
{
    if (source != NULL)
    {
        UntrackObject(source);
        source = NULL;
    }
}
Exemplo n.º 3
0
FCDEntityInstance::~FCDEntityInstance()
{

	if (entityReference != NULL)
	{
		UntrackObject(entityReference);
		SAFE_RELEASE(entityReference);
	}
}
Exemplo n.º 4
0
void FCDEntityReference::SetEntity(FCDEntity* _entity)
{
	// Stop tracking the old entity
	if (entity != NULL) UntrackObject(entity);

	// Track the new entity
	entity = _entity;

	if (_entity != NULL)
	{
		TrackObject(_entity);
		entityId = _entity->GetDaeId();
		// Update the external references (this takes care of the placeHolder reference)
		SetEntityDocument(_entity->GetDocument());
	}
	else
	{
		SetEntityDocument(NULL);
	}

	SetNewChildFlag();
}
Exemplo n.º 5
0
void FCDEntityReference::SetPlaceHolder(FCDPlaceHolder* _placeHolder)
{
	if (_placeHolder != placeHolder)
	{
		if (placeHolder != NULL)
		{
			placeHolder->RemoveExternalReference(this);
			UntrackObject(placeHolder);
			if (placeHolder->GetExternalReferenceCount() == 0)
			{
				SAFE_RELEASE(placeHolder);
			}
		}
		placeHolder = _placeHolder;
		if (placeHolder != NULL)
		{
			placeHolder->AddExternalReference(this);
			TrackObject(placeHolder);
		}
		SetNewChildFlag();
	}
}