Exemple #1
0
void SceneNode::Render()
{
	glPushMatrix();

	glTranslatef(Translation.X,Translation.Y,0.0f);
	glRotatef(Rotation,0.0f,0.0f,1.0f);
	if (!PropagateScaling)
	{
		glPushMatrix();
		glScalef(Scale.X,Scale.Y,1.0f);
		BeginRealization();
		glPopMatrix();	
	}
	else
	{
		glScalef(Scale.X,Scale.Y,1.0f);
		BeginRealization();
	}

	for (unsigned int i=0;i<ChildrenCount();i++)
		(*this)[i]->Render();

	EndRealization();

	glPopMatrix();
}
Exemple #2
0
SceneNode::~SceneNode(void)
{
	printf("Delete SceneNode\n");

	for (unsigned int i=0;i<ChildrenCount();i++)
		delete (*this)[i];
}
Exemple #3
0
void GraphItem::InsertChild(GraphItem *child, int32 pos)
{
    DVASSERT(child && "child can't be NULL.");
    DVASSERT((0 <= pos && pos < ChildrenCount()) && "Wrong position of insertion");
 
    Vector<GraphItem *>::iterator it = children.begin();
    std::advance(it, pos);
    children.insert(it, child);
}
Exemple #4
0
void GraphItem::RemoveChild(int32 row)
{
    DVASSERT((0 <= row) && (row < ChildrenCount()) && "Wrong index");
    
    SafeRelease(children[row]);

    Vector<GraphItem *>::iterator rowIt = children.begin();
    std::advance(rowIt, row);
    children.erase(rowIt);
}