bool NAMESPACE_TUPLE::Triple::Equals(const ITuple& rhs) const { return rhs.GetNumAttributes() == GetNumAttributes() && rhs.GetIdentifier() == GetIdentifier() && rhs.GetAttribute(0) == GetAttribute(0) && rhs.GetValue(0) == GetValue(0); }
bool NAMESPACE_TUPLE::Triple::SetValue(long value, long attrIndex) { if (attrIndex > 0 && attrIndex < GetNumAttributes()) { m_value = value; return true; } return false; }
bool NAMESPACE_TUPLE::Triple::SetAttr(long attr, long attrIndex) { if (attrIndex > 0 && attrIndex < GetNumAttributes()) { m_attribute = attr; return true; } return false; }
Node* Node::CloneRecursive(Node* parent, SceneResolver& resolver, CreateMode mode) { // Create clone node Node* cloneNode = parent->CreateChild(0, (mode == REPLICATED && id_ < FIRST_LOCAL_ID) ? REPLICATED : LOCAL); resolver.AddNode(id_, cloneNode); // Copy attributes unsigned numAttributes = GetNumAttributes(); for (unsigned j = 0; j < numAttributes; ++j) cloneNode->SetAttribute(j, GetAttribute(j)); // Clone components for (Vector<SharedPtr<Component> >::ConstIterator i = components_.Begin(); i != components_.End(); ++i) { Component* component = *i; Component* cloneComponent = cloneNode->CreateComponent(component->GetType(), (mode == REPLICATED && component->GetID() < FIRST_LOCAL_ID) ? REPLICATED : LOCAL); if (!cloneComponent) { LOGERROR("Could not clone component " + component->GetTypeName()); continue; } resolver.AddComponent(component->GetID(), cloneComponent); numAttributes = component->GetNumAttributes(); for (unsigned j = 0; j < numAttributes; ++j) cloneComponent->SetAttribute(j, component->GetAttribute(j)); } // Clone child nodes recursively for (Vector<SharedPtr<Node> >::ConstIterator i = children_.Begin(); i != children_.End(); ++i) { Node* node = *i; node->CloneRecursive(cloneNode, resolver, mode); } return cloneNode; }