本文整理汇总了C++中OutStream::WriteN方法的典型用法代码示例。如果您正苦于以下问题:C++ OutStream::WriteN方法的具体用法?C++ OutStream::WriteN怎么用?C++ OutStream::WriteN使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OutStream
的用法示例。
在下文中一共展示了OutStream::WriteN方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Save
//----------------------------------------------------------------------------
void KeyframeController::Save (OutStream& target) const
{
WM5_BEGIN_DEBUG_STREAM_SAVE(target);
TransformController::Save(target);
target.Write(mNumCommonTimes);
if (mNumCommonTimes > 0)
{
target.WriteN(mNumCommonTimes, mCommonTimes);
target.WriteAggregateW(mNumTranslations, mTranslations);
target.WriteAggregateW(mNumRotations, mRotations);
target.WriteW(mNumScales, mScales);
}
else
{
target.WriteW(mNumTranslations, mTranslationTimes);
target.WriteAggregateN(mNumTranslations, mTranslations);
target.WriteW(mNumRotations, mRotationTimes);
target.WriteAggregateN(mNumRotations, mRotations);
target.WriteW(mNumScales, mScaleTimes);
target.WriteN(mNumScales, mScales);
}
WM5_END_DEBUG_STREAM_SAVE(KeyframeController, target);
}
示例2: Save
//----------------------------------------------------------------------------
void RawTerrainPage::Save (OutStream& target) const
{
PX2_BEGIN_DEBUG_STREAM_SAVE(target);
TriMesh::Save(target);
target.Write(mSize);
int numVertices = mSize*mSize;
target.WriteN(numVertices, mHeights);
target.WriteAggregate(mOrigin);
target.Write(mSpacing);
target.WritePointer(mMaterialInstance);
target.WritePointer(mTextureDefault);
target.WritePointer(mTexture0);
target.WritePointer(mTextureAlpha);
target.WritePointer(mTexture1);
target.WritePointer(mTexture2);
target.WritePointer(mTexture3);
target.WritePointer(mTexture4);
target.WriteAggregate(mUV01);
target.WriteAggregate(mUV23);
target.WriteAggregate(mUV4);
target.WritePointer(mUV01Float);
target.WritePointer(mUV23Float);
target.WritePointer(mUV4Float);
PX2_END_DEBUG_STREAM_SAVE(RawTerrainPage, target);
}
示例3: Save
//----------------------------------------------------------------------------
void DlodNode::Save (OutStream& target) const
{
PX2_BEGIN_DEBUG_STREAM_SAVE(target);
SwitchNode::Save(target);
target.WriteAggregate(mModelLodCenter);
target.WriteW(mNumLevelsOfDetail, mModelMinDist);
target.WriteN(mNumLevelsOfDetail, mModelMaxDist);
target.WriteN(mNumLevelsOfDetail, mWorldMinDist);
target.WriteN(mNumLevelsOfDetail, mWorldMaxDist);
// 模型世界中心为实时计算,不需要存储。
PX2_END_DEBUG_STREAM_SAVE(DlodNode, target);
}
示例4: Save
//----------------------------------------------------------------------------
void MorphController::Save (OutStream& target) const
{
WM5_BEGIN_DEBUG_STREAM_SAVE(target);
Controller::Save(target);
target.Write(mNumVertices);
target.Write(mNumTargets);
target.Write(mNumKeys);
int numTotalVertices = mNumVertices*mNumTargets;
target.WriteAggregateN(numTotalVertices, mVertices[0]);
target.WriteN(mNumKeys, mTimes);
int numTotalWeights = mNumKeys*(mNumTargets - 1);
target.WriteN(numTotalWeights, mWeights[0]);
WM5_END_DEBUG_STREAM_SAVE(MorphController, target);
}
示例5: Save
//----------------------------------------------------------------------------
void Shader::Save (OutStream& target) const
{
WM5_BEGIN_DEBUG_STREAM_SAVE(target);
Object::Save(target);
target.WriteStringW(mNumInputs, mInputName);
target.WriteEnumN(mNumInputs, mInputType);
target.WriteEnumN(mNumInputs, mInputSemantic);
target.WriteStringW(mNumOutputs, mOutputName);
target.WriteEnumN(mNumOutputs, mOutputType);
target.WriteEnumN(mNumOutputs, mOutputSemantic);
target.WriteStringW(mNumConstants, mConstantName);
target.WriteN(mNumConstants, mNumRegistersUsed);
target.WriteStringW(mNumSamplers, mSamplerName);
target.WriteEnumN(mNumSamplers, mSamplerType);
target.WriteEnumN(mNumSamplers, mFilter);
target.WriteEnumN(mNumSamplers, mCoordinate[0]);
target.WriteEnumN(mNumSamplers, mCoordinate[1]);
target.WriteEnumN(mNumSamplers, mCoordinate[2]);
target.WriteN(mNumSamplers, mLodBias);
target.WriteN(mNumSamplers, mAnisotropy);
target.WriteAggregateN(mNumSamplers, mBorderColor);
// On load, test this against MAX_PROFILES just in case a user increases
// MAX_PROFILES and tries to load old data sets.
target.Write((int)MAX_PROFILES);
target.WriteBool(mProfileOwner);
if (mProfileOwner)
{
for (int i = 0; i < MAX_PROFILES; ++i)
{
target.WriteN(mNumConstants, mBaseRegister[i]);
target.WriteN(mNumSamplers, mTextureUnit[i]);
target.WriteString(*mProgram[i]);
}
}
WM5_END_DEBUG_STREAM_SAVE(Shader, target);
}
示例6: Save
//----------------------------------------------------------------------------
void SkinController::Save (OutStream& target) const
{
PX2_BEGIN_DEBUG_STREAM_SAVE(target);
Controller::Save(target);
target.Write(mNumVertices);
target.Write(mNumBones);
int numWeightsOffsets = mNumVertices*mNumBones;
target.WriteN(numWeightsOffsets, mWeights[0]);
target.WriteAggregateN(numWeightsOffsets, mOffsets[0]);
target.WritePointerN(mNumBones, mBones);
PX2_END_DEBUG_STREAM_SAVE(SkinController, target);
}
示例7: Save
//----------------------------------------------------------------------------
void CollapseRecordArray::Save (OutStream& target) const
{
WM5_BEGIN_DEBUG_STREAM_SAVE(target);
Object::Save(target);
target.Write(mNumRecords);
for (int i = 0; i < mNumRecords; ++i)
{
target.Write(mRecords[i].VKeep);
target.Write(mRecords[i].VThrow);
target.Write(mRecords[i].NumVertices);
target.Write(mRecords[i].NumTriangles);
target.Write(mRecords[i].NumIndices);
if (mRecords[i].Indices)
{
target.WriteN(mRecords[i].NumIndices, mRecords[i].Indices);
}
}
WM5_END_DEBUG_STREAM_SAVE(CollapseRecordArray, target);
}
示例8: Save
//----------------------------------------------------------------------------
void TerrainPage::Save (OutStream& target) const
{
PX2_BEGIN_DEBUG_STREAM_SAVE(target);
TriMesh::Save(target);
PX2_VERSION_SAVE(target);
target.Write(mSize);
int numVertices = mSize*mSize;
target.WriteN(numVertices, mHeights);
target.WriteAggregate(mOrigin);
target.Write(mSpacing);
int numJunglers = (int)mJunglers.size();
target.Write(numJunglers);
for (int i=0; i<numJunglers; i++)
{
target.WritePointer(mJunglers[i]);
}
PX2_END_DEBUG_STREAM_SAVE(TerrainPage, target);
}
示例9: Save
//----------------------------------------------------------------------------
void RevolutionSurface::Save (OutStream& target) const
{
WM5_BEGIN_DEBUG_STREAM_SAVE(target);
TriMesh::Save(target);
target.Write(mXCenter);
target.WriteEnum(mTopology);
target.Write(mNumCurveSamples);
target.Write(mNumRadialSamples);
target.WriteN(mNumRadialSamples + 1, mSin);
target.WriteN(mNumRadialSamples + 1, mCos);
target.WriteBool(mSampleByArcLength);
// TODO. The class Curve2 is abstract and does not know about the data
// representation for the derived-class object that is passed to the
// RevolutionSurface constructor. Because of this, any loaded
// RevolutionSurface object will require the application to manually set
// the curve via the Curve() member.
//
// Streaming support should be added to the curve classes.
WM5_END_DEBUG_STREAM_SAVE(RevolutionSurface, target);
}
示例10: Save
//----------------------------------------------------------------------------
void Texture::Save (OutStream& target) const
{
WM5_BEGIN_DEBUG_STREAM_SAVE(target);
Object::Save(target);
target.WriteEnum(mFormat);
target.WriteEnum(mType);
target.WriteEnum(mUsage);
target.Write(mNumLevels);
target.Write(mNumDimensions);
target.WriteN(MM_MAX_MIPMAP_LEVELS, mDimension[0]);
target.WriteN(MM_MAX_MIPMAP_LEVELS, mDimension[1]);
target.WriteN(MM_MAX_MIPMAP_LEVELS, mDimension[2]);
target.WriteN(MM_MAX_MIPMAP_LEVELS, mNumLevelBytes);
target.Write(mNumTotalBytes);
target.WriteN(MM_MAX_MIPMAP_LEVELS, mLevelOffsets);
target.WriteN(MAX_USER_FIELDS, mUserField);
target.WriteN(mNumTotalBytes, mData);
WM5_END_DEBUG_STREAM_SAVE(Texture, target);
}