本文整理汇总了C++中serializer::Writer::Vector3d方法的典型用法代码示例。如果您正苦于以下问题:C++ Writer::Vector3d方法的具体用法?C++ Writer::Vector3d怎么用?C++ Writer::Vector3d使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类serializer::Writer
的用法示例。
在下文中一共展示了Writer::Vector3d方法的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 Ship::Save(Serializer::Writer &wr)
{
DynamicBody::Save(wr);
wr.Vector3d(m_angThrusters);
wr.Vector3d(m_thrusters);
wr.Int32(m_wheelTransition);
wr.Float(m_wheelState);
wr.Float(m_launchLockTimeout);
wr.Bool(m_testLanded);
wr.Int32(int(m_flightState));
wr.Int32(int(m_alertState));
wr.Float(m_lastFiringAlert);
m_hyperspace.dest.Serialize(wr);
wr.Float(m_hyperspace.countdown);
for (int i=0; i<ShipType::GUNMOUNT_MAX; i++) {
wr.Int32(m_gunState[i]);
wr.Float(m_gunRecharge[i]);
wr.Float(m_gunTemperature[i]);
}
wr.Float(m_ecmRecharge);
m_shipFlavour.Save(wr);
wr.Int32(m_dockedWithPort);
wr.Int32(Serializer::LookupBody(m_dockedWith));
m_equipment.Save(wr);
wr.Float(m_stats.hull_mass_left);
wr.Float(m_stats.shield_mass_left);
if(m_curAICmd) { wr.Int32(1); m_curAICmd->Save(wr); }
else wr.Int32(0);
}
示例3: Save
void Projectile::Save(Serializer::Writer &wr, Space *space)
{
Body::Save(wr, space);
wr.Vector3d(m_baseVel);
wr.Vector3d(m_dirVel);
wr.Float(m_age);
wr.Int32(m_type);
wr.Int32(space->GetIndexForBody(m_parent));
}
示例4: Save
void Projectile::Save(Serializer::Writer &wr, Space *space)
{
Body::Save(wr, space);
for (int i=0; i<16; i++) wr.Double(m_orient[i]);
wr.Vector3d(m_baseVel);
wr.Vector3d(m_dirVel);
wr.Float(m_age);
wr.Int32(m_type);
wr.Int32(space->GetIndexForBody(m_parent));
}
示例5: 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);
}
示例6: 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);
}
示例7: 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);
}
示例8: 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);
}
示例9: Save
void AIParagonCmdDock::Save(Serializer::Writer &wr)
{
if (m_child) { delete m_child; m_child = 0; }
AICommand::Save(wr);
Space* space = Pi::game->GetSpace();
wr.Int32(space->GetIndexForBody(m_station));
wr.Int32(static_cast<int>(m_state));
wr.Int32(m_approachPoints.size());
for(auto iter : m_approachPoints) {
wr.Vector3d(iter.pos);
wr.Vector3d(iter.xaxis);
wr.Vector3d(iter.yaxis);
wr.Vector3d(iter.zaxis);
}
wr.Int32(m_nextApproachPoint);
}
示例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 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());
}
示例12: Save
void Body::Save(Serializer::Writer &wr)
{
wr.Int32(Serializer::LookupFrame(m_frame));
wr.String(m_label);
wr.Bool(m_onscreen);
wr.Vector3d(m_projectedPos);
wr.Bool(m_dead);
wr.Bool(m_hasDoubleFrame);
}
示例13: 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);
}
示例14: 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);
}
示例15: Save
void Ship::Save(Serializer::Writer &wr, Space *space)
{
DynamicBody::Save(wr, space);
wr.Vector3d(m_angThrusters);
wr.Vector3d(m_thrusters);
wr.Int32(m_wheelTransition);
wr.Float(m_wheelState);
wr.Float(m_launchLockTimeout);
wr.Bool(m_testLanded);
wr.Int32(int(m_flightState));
wr.Int32(int(m_alertState));
wr.Double(m_lastFiringAlert);
// XXX make sure all hyperspace attrs and the cloud get saved
m_hyperspace.dest.Serialize(wr);
wr.Float(m_hyperspace.countdown);
for (int i=0; i<ShipType::GUNMOUNT_MAX; i++) {
wr.Int32(m_gunState[i]);
wr.Float(m_gunRecharge[i]);
wr.Float(m_gunTemperature[i]);
}
wr.Float(m_ecmRecharge);
m_shipFlavour.Save(wr);
wr.Int32(m_dockedWithPort);
wr.Int32(space->GetIndexForBody(m_dockedWith));
m_equipment.Save(wr);
wr.Float(m_stats.hull_mass_left);
wr.Float(m_stats.shield_mass_left);
if(m_curAICmd) { wr.Int32(1); m_curAICmd->Save(wr); }
else wr.Int32(0);
wr.Int32(int(m_aiMessage));
wr.Double(m_thrusterFuel);
wr.Double(m_reserveFuel);
wr.Int32(static_cast<int>(m_controller->GetType()));
m_controller->Save(wr, space);
}