예제 #1
0
파일: group-node.cpp 프로젝트: cjhoward/ogf
SceneNode* GroupNode::clone() const
{
    GroupNode* node = new GroupNode();

    for (auto child: children)
        node->addChild(child->clone());

    return node;
}
예제 #2
0
TEST(NodeTest, children)
{
  GroupNode root;
  Node *child1 = new Node;
  Node *child2 = new Node;
  root.addChild(child1);
  root.addChild(child2);

  EXPECT_EQ(&root, child1->parent());
  EXPECT_EQ(&root, child2->parent());
  EXPECT_EQ(child1, root.child(0));
  EXPECT_EQ(child2, root.child(1));
}
예제 #3
0
TEST(NodeTest, removeChild)
{
  GroupNode root;
  Node *child1 = new Node;
  Node *child2 = new Node;
  root.addChild(child1);
  root.addChild(child2);

  EXPECT_EQ(child1, root.child(0));
  EXPECT_EQ(root.removeChild(child1), true);
  EXPECT_EQ(root.removeChild(child1), false);
  EXPECT_EQ(child2, root.child(0));
  EXPECT_EQ(NULL, child1->parent());
  EXPECT_EQ(&root, child2->parent());
  EXPECT_EQ(root.removeChild(child2), true);
  delete child1;
  delete child2;
}