本文整理汇总了C++中VectorBuffer::GetData方法的典型用法代码示例。如果您正苦于以下问题:C++ VectorBuffer::GetData方法的具体用法?C++ VectorBuffer::GetData怎么用?C++ VectorBuffer::GetData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VectorBuffer
的用法示例。
在下文中一共展示了VectorBuffer::GetData方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ToString
String XMLFile::ToString(const String& indentation) const
{
VectorBuffer dest;
XMLWriter writer(dest);
document_->save(writer, indentation.CString());
return String((const char*)dest.GetData(), dest.GetSize());
}
示例2: Save
bool Node::Save(Serializer& dest)
{
// Write node ID
if (!dest.WriteUInt(id_))
return false;
// Write attributes
if (!Serializable::Save(dest))
return false;
// Write components
dest.WriteVLE(components_.Size());
for (unsigned i = 0; i < components_.Size(); ++i)
{
Component* component = components_[i];
// Create a separate buffer to be able to skip unknown components during deserialization
VectorBuffer compBuffer;
if (!component->Save(compBuffer))
return false;
dest.WriteVLE(compBuffer.GetSize());
dest.Write(compBuffer.GetData(), compBuffer.GetSize());
}
// Write child nodes
dest.WriteVLE(children_.Size());
for (unsigned i = 0; i < children_.Size(); ++i)
{
Node* node = children_[i];
if (!node->Save(dest))
return false;
}
return true;
}
示例3: RefreshShaderParameterHash
void Material::RefreshShaderParameterHash()
{
VectorBuffer temp;
for (HashMap<StringHash, MaterialShaderParameter>::ConstIterator i = shaderParameters_.Begin(); i != shaderParameters_.End(); ++i)
{
temp.WriteStringHash(i->first_);
temp.WriteVariant(i->second_.value_);
}
shaderParameterHash_ = 0;
const unsigned char* data = temp.GetData();
unsigned dataSize = temp.GetSize();
for (unsigned i = 0; i < dataSize; ++i)
shaderParameterHash_ = SDBMHash(shaderParameterHash_, data[i]);
}
示例4: Save
bool Node::Save(Serializer& dest) const
{
// Write node ID
if (!dest.WriteUInt(id_))
return false;
// Write attributes
if (!Animatable::Save(dest))
return false;
// Write components
dest.WriteVLE(GetNumPersistentComponents());
for (unsigned i = 0; i < components_.Size(); ++i)
{
Component* component = components_[i];
if (component->IsTemporary())
continue;
// Create a separate buffer to be able to skip failing components during deserialization
VectorBuffer compBuffer;
if (!component->Save(compBuffer))
return false;
dest.WriteVLE(compBuffer.GetSize());
dest.Write(compBuffer.GetData(), compBuffer.GetSize());
}
// Write child nodes
dest.WriteVLE(GetNumPersistentChildren());
for (unsigned i = 0; i < children_.Size(); ++i)
{
Node* node = children_[i];
if (node->IsTemporary())
continue;
if (!node->Save(dest))
return false;
}
return true;
}
示例5: strncmp
bool Variant::operator ==(const VectorBuffer& rhs) const
{
const PODVector<unsigned char>& buffer = *(reinterpret_cast<const PODVector<unsigned char>*>(&value_));
return type_ == VAR_BUFFER && buffer.Size() == rhs.GetSize() ?
strncmp(reinterpret_cast<const char*>(&buffer[0]), reinterpret_cast<const char*>(rhs.GetData()), buffer.Size()) == 0 :
false;
}
示例6: BroadcastMessage
void Network::BroadcastMessage(int msgID, bool reliable, bool inOrder, const VectorBuffer& msg, unsigned contentID)
{
BroadcastMessage(msgID, reliable, inOrder, msg.GetData(), msg.GetSize(), contentID);
}