本文整理汇总了C++中serializer::Writer::Double方法的典型用法代码示例。如果您正苦于以下问题:C++ Writer::Double方法的具体用法?C++ Writer::Double怎么用?C++ Writer::Double使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类serializer::Writer
的用法示例。
在下文中一共展示了Writer::Double方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Save
void GeomTree::Save(Serializer::Writer &wr) const
{
wr.Int32(m_numVertices);
wr.Int32(m_numEdges);
wr.Int32(m_numTris);
wr.Double(m_radius);
wr.Vector3d(m_aabb.max);
wr.Vector3d(m_aabb.min);
wr.Double(m_aabb.radius);
wr.Int32(m_numEdges);
for (Sint32 iAabb = 0; iAabb < m_numEdges; ++iAabb) {
wr.Vector3d(m_aabbs[iAabb].max);
wr.Vector3d(m_aabbs[iAabb].min);
wr.Double(m_aabbs[iAabb].radius);
}
for (Sint32 iEdge = 0; iEdge < m_numEdges; ++iEdge) {
m_edges[iEdge].Save(wr);
}
for (Sint32 iVert = 0; iVert < m_numVertices; ++iVert) {
wr.Vector3f(m_vertices[iVert]);
}
for (Sint32 iIndi = 0; iIndi < (m_numTris * 3); ++iIndi) {
wr.Int16(m_indices[iIndi]);
}
for (Sint32 iTri = 0; iTri < m_numTris; ++iTri) {
wr.Int32(m_triFlags[iTri]);
}
}
示例2: Save
void SpaceStation::Save(Serializer::Writer &wr, Space *space)
{
ModelBody::Save(wr, space);
wr.Int32(Equip::TYPE_MAX);
wr.Int32(m_shipDocking.size());
for (Uint32 i=0; i<m_shipDocking.size(); i++) {
wr.Int32(space->GetIndexForBody(m_shipDocking[i].ship));
wr.Int32(m_shipDocking[i].stage);
wr.Float(float(m_shipDocking[i].stagePos));
wr.Vector3d(m_shipDocking[i].fromPos);
wr.WrQuaternionf(m_shipDocking[i].fromRot);
}
// store each of the bay groupings
wr.Int32(mBayGroups.size());
for (Uint32 i=0; i<mBayGroups.size(); i++) {
wr.Int32(mBayGroups[i].minShipSize);
wr.Int32(mBayGroups[i].maxShipSize);
wr.Bool(mBayGroups[i].inUse);
wr.Int32(mBayGroups[i].bayIDs.size());
for (Uint32 j=0; j<mBayGroups[i].bayIDs.size(); j++) {
wr.Int32(mBayGroups[i].bayIDs[j]);
}
}
wr.Int32(space->GetIndexForSystemBody(m_sbody));
wr.Int32(m_numPoliceDocked);
wr.Double(m_doorAnimationStep);
wr.Double(m_doorAnimationState);
m_navLights->Save(wr);
}
示例3: SaveAnimations
void BinaryConverter::SaveAnimations(Serializer::Writer &wr, Model *m)
{
const auto& anims = m->GetAnimations();
wr.Int32(anims.size());
for (const auto& anim : anims) {
wr.String(anim->GetName());
wr.Double(anim->GetDuration());
wr.Int32(anim->GetChannels().size());
for (const auto &chan : anim->GetChannels()) {
wr.String(chan.node->GetName());
//write pos/rot/scale keys
wr.Int32(chan.positionKeys.size());
for (const auto &pkey : chan.positionKeys) {
wr.Double(pkey.time);
wr.Vector3f(pkey.position);
}
wr.Int32(chan.rotationKeys.size());
for (const auto &rkey : chan.rotationKeys) {
wr.Double(rkey.time);
wr.WrQuaternionf(rkey.rotation);
}
wr.Int32(chan.scaleKeys.size());
for (const auto &skey : chan.scaleKeys) {
wr.Double(skey.time);
wr.Vector3f(skey.scale);
}
}
}
}
示例4: Save
void HyperspaceCloud::Save(Serializer::Writer &wr, Space *space)
{
Body::Save(wr, space);
wr.Vector3d(m_vel);
wr.Double(m_birthdate);
wr.Double(m_due);
wr.Bool(m_isArrival);
wr.Bool(m_ship != 0);
if (m_ship) m_ship->Serialize(wr, space);
}
示例5: Save
void Body::Save(Serializer::Writer &wr, Space *space)
{
wr.Int32(space->GetIndexForFrame(m_frame));
wr.String(m_label);
wr.Bool(m_dead);
wr.Vector3d(m_pos);
for (int i=0; i<9; i++) wr.Double(m_orient[i]);
wr.Double(m_physRadius);
wr.Double(m_clipRadius);
}
示例6: Save
void DynamicBody::Save(Serializer::Writer &wr, Space *space)
{
ModelBody::Save(wr, space);
wr.Vector3d(m_force);
wr.Vector3d(m_torque);
wr.Vector3d(m_vel);
wr.Vector3d(m_angVel);
wr.Double(m_mass);
wr.Double(m_massRadius);
wr.Double(m_angInertia);
wr.Bool(m_isMoving);
}
示例7: Save
void DynamicBody::Save(Serializer::Writer &wr)
{
ModelBody::Save(wr);
for (int i=0; i<16; i++) wr.Double(m_orient[i]);
wr.Vector3d(m_force);
wr.Vector3d(m_torque);
wr.Vector3d(m_vel);
wr.Vector3d(m_angVel);
wr.Double(m_mass);
wr.Double(m_massRadius);
wr.Double(m_angInertia);
wr.Bool(m_enabled);
}
示例8: Serialize
void Frame::Serialize(Serializer::Writer &wr, Frame *f, Space *space)
{
wr.Int32(f->m_flags);
wr.Double(f->m_radius);
wr.String(f->m_label);
wr.Vector3d(f->m_pos);
for (int i=0; i<9; i++) wr.Double(f->m_orient[i]);
wr.Double(f->m_angSpeed);
wr.Int32(space->GetIndexForSystemBody(f->m_sbody));
wr.Int32(space->GetIndexForBody(f->m_astroBody));
wr.Int32(f->m_children.size());
for (ChildIterator it = f->BeginChildren(); it != f->EndChildren(); ++it)
Serialize(wr, *it, space);
Sfx::Serialize(wr, f);
}
示例9: Serialize
void Frame::Serialize(Serializer::Writer &wr, Frame *f, Space *space)
{
wr.Int32(f->m_flags);
wr.Double(f->m_radius);
wr.String(f->m_label);
wr.Vector3d(f->m_pos);
wr.Double(f->m_angSpeed);
for (int i=0; i<9; i++) wr.Double(f->m_initialOrient[i]);
wr.Int32(space->GetIndexForSystemBody(f->m_sbody));
wr.Int32(space->GetIndexForBody(f->m_astroBody));
wr.Int32(f->m_children.size());
for (Frame* kid : f->GetChildren())
Serialize(wr, kid, space);
Sfx::Serialize(wr, f);
}
示例10: Save
void SpaceStation::Save(Serializer::Writer &wr, Space *space)
{
ModelBody::Save(wr, space);
MarketAgent::Save(wr);
wr.Int32(Equip::TYPE_MAX);
for (int i=0; i<Equip::TYPE_MAX; i++) {
wr.Int32(int(m_equipmentStock[i]));
}
// save shipyard
wr.Int32(m_shipsOnSale.size());
for (std::vector<ShipOnSale>::iterator i = m_shipsOnSale.begin();
i != m_shipsOnSale.end(); ++i) {
wr.String((*i).id);
wr.String((*i).regId);
(*i).skin.Save(wr);
}
for (int i=0; i<MAX_DOCKING_PORTS; i++) {
wr.Int32(space->GetIndexForBody(m_shipDocking[i].ship));
wr.Int32(m_shipDocking[i].stage);
wr.Float(float(m_shipDocking[i].stagePos));
wr.Vector3d(m_shipDocking[i].fromPos);
wr.WrQuaternionf(m_shipDocking[i].fromRot);
}
wr.Bool(m_dockingLock);
wr.Bool(m_bbCreated);
wr.Double(m_lastUpdatedShipyard);
wr.Int32(space->GetIndexForSystemBody(m_sbody));
wr.Int32(m_numPoliceDocked);
m_navLights->Save(wr);
}
示例11: Serialize
void Pi::Serialize(Serializer::Writer &wr)
{
Serializer::Writer section;
Serializer::IndexFrames();
Serializer::IndexBodies();
Serializer::IndexSystemBodies(currentSystem);
section = Serializer::Writer();
section.Double(gameTime);
StarSystem::Serialize(section, selectedSystem);
StarSystem::Serialize(section, currentSystem);
wr.WrSection("PiMisc", section.GetData());
section = Serializer::Writer();
Space::Serialize(section);
wr.WrSection("Space", section.GetData());
section = Serializer::Writer();
Polit::Serialize(section);
wr.WrSection("Polit", section.GetData());
section = Serializer::Writer();
sectorView->Save(section);
wr.WrSection("SectorView", section.GetData());
section = Serializer::Writer();
worldView->Save(section);
wr.WrSection("WorldView", section.GetData());
section = Serializer::Writer();
PiLuaModules::Serialize(section);
wr.WrSection("LuaModules", section.GetData());
}
示例12: Save
void SpaceStation::Save(Serializer::Writer &wr)
{
ModelBody::Save(wr);
MarketAgent::Save(wr);
wr.Int32(Equip::TYPE_MAX);
for (int i=0; i<Equip::TYPE_MAX; i++) {
wr.Int32(int(m_equipmentStock[i]));
}
// save shipyard
wr.Int32(m_shipsOnSale.size());
for (std::vector<ShipFlavour>::iterator i = m_shipsOnSale.begin();
i != m_shipsOnSale.end(); ++i) {
(*i).Save(wr);
}
for (int i=0; i<MAX_DOCKING_PORTS; i++) {
wr.Int32(Serializer::LookupBody(m_shipDocking[i].ship));
wr.Int32(m_shipDocking[i].stage);
wr.Float(float(m_shipDocking[i].stagePos));
wr.Vector3d(m_shipDocking[i].fromPos);
wr.WrQuaternionf(m_shipDocking[i].fromRot);
wr.Float(float(m_openAnimState[i]));
wr.Float(float(m_dockAnimState[i]));
}
wr.Double(m_lastUpdatedShipyard);
wr.Int32(Serializer::LookupSystemBody(m_sbody));
wr.Int32(m_numPoliceDocked);
}
示例13: Serialize
void Body::Serialize(Serializer::Writer &_wr, Space *space)
{
Serializer::Writer wr;
wr.Int32(int(GetType()));
switch (GetType()) {
case Object::STAR:
case Object::PLANET:
case Object::SPACESTATION:
case Object::SHIP:
case Object::PLAYER:
case Object::MISSILE:
case Object::CARGOBODY:
case Object::PROJECTILE:
case Object::HYPERSPACECLOUD:
Save(wr, space);
break;
default:
assert(0);
}
wr.Vector3d(GetPosition());
matrix4x4d m;
GetRotMatrix(m);
for (int i=0; i<16; i++) wr.Double(m[i]);
_wr.WrSection("Body", wr.GetData());
}
示例14: Save
void Missile::Save(Serializer::Writer &wr)
{
Ship::Save(wr);
wr.Int32(Serializer::LookupBody(m_owner));
wr.Int32(Serializer::LookupBody(m_target));
wr.Double(m_distToTarget);
wr.Int32(m_power);
}
示例15: Save
void Model::Save(Serializer::Writer &wr) const
{
SaveVisitor sv(&wr);
m_root->Accept(sv);
for (AnimationContainer::const_iterator i = m_animations.begin(); i != m_animations.end(); ++i)
wr.Double((*i)->GetProgress());
}