本文整理汇总了C++中serializer::Reader::RdQuaternionf方法的典型用法代码示例。如果您正苦于以下问题:C++ Reader::RdQuaternionf方法的具体用法?C++ Reader::RdQuaternionf怎么用?C++ Reader::RdQuaternionf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类serializer::Reader
的用法示例。
在下文中一共展示了Reader::RdQuaternionf方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Load
void SpaceStation::Load(Serializer::Reader &rd, Space *space)
{
ModelBody::Load(rd, space);
MarketAgent::Load(rd);
int num = rd.Int32();
if (num > Equip::TYPE_MAX) throw SavedGameCorruptException();
for (int i=0; i<Equip::TYPE_MAX; i++) {
m_equipmentStock[i] = 0;
}
for (int i=0; i<num; i++) {
m_equipmentStock[i] = static_cast<Equip::Type>(rd.Int32());
}
// load shityard
int numShipsForSale = rd.Int32();
for (int i=0; i<numShipsForSale; i++) {
ShipFlavour s;
s.Load(rd);
m_shipsOnSale.push_back(s);
}
for (int i=0; i<MAX_DOCKING_PORTS; i++) {
m_shipDocking[i].shipIndex = rd.Int32();
m_shipDocking[i].stage = rd.Int32();
m_shipDocking[i].stagePos = rd.Float();
m_shipDocking[i].fromPos = rd.Vector3d();
m_shipDocking[i].fromRot = rd.RdQuaternionf();
m_openAnimState[i] = rd.Float();
m_dockAnimState[i] = rd.Float();
}
m_bbCreated = rd.Bool();
m_lastUpdatedShipyard = rd.Double();
m_sbody = space->GetSystemBodyByIndex(rd.Int32());
m_numPoliceDocked = rd.Int32();
InitStation();
}
示例2: LoadAnimations
void BinaryConverter::LoadAnimations(Serializer::Reader &rd)
{
//load channels and PRS keys
const Uint32 numAnims = rd.Int32();
for (Uint32 i = 0; i < numAnims; i++) {
const std::string animName = rd.String();
const double duration = rd.Double();
Animation *anim = new Animation(animName, duration);
const Uint32 numChans = rd.Int32();
for (Uint32 j = 0; j < numChans; j++) {
const std::string tgtName = rd.String();
MatrixTransform* tgtNode = dynamic_cast<MatrixTransform*>(m_model->m_root->FindNode(tgtName));
anim->m_channels.push_back(AnimationChannel(tgtNode));
auto& chan = anim->m_channels.back();
for (Uint32 numKeys = rd.Int32(); numKeys > 0; numKeys--) {
const double ktime = rd.Double();
const vector3f kpos = rd.Vector3f();
chan.positionKeys.push_back(PositionKey(ktime, kpos));
}
for (Uint32 numKeys = rd.Int32(); numKeys > 0; numKeys--) {
const double ktime = rd.Double();
const Quaternionf krot = rd.RdQuaternionf();
chan.rotationKeys.push_back(RotationKey(ktime, krot));
}
for (Uint32 numKeys = rd.Int32(); numKeys > 0; numKeys--) {
const double ktime = rd.Double();
const vector3f kscale = rd.Vector3f();
chan.scaleKeys.push_back(ScaleKey(ktime, kscale));
}
}
m_model->m_animations.push_back(anim);
}
}
示例3: Load
void SpaceStation::Load(Serializer::Reader &rd, Space *space)
{
ModelBody::Load(rd, space);
m_oldAngDisplacement = 0.0;
int num = rd.Int32();
if (num > Equip::TYPE_MAX) throw SavedGameCorruptException();
const Uint32 numShipDocking = rd.Int32();
m_shipDocking.reserve(numShipDocking);
for (Uint32 i=0; i<numShipDocking; i++) {
m_shipDocking.push_back(shipDocking_t());
shipDocking_t &sd = m_shipDocking.back();
sd.shipIndex = rd.Int32();
sd.stage = rd.Int32();
sd.stagePos = rd.Float();
sd.fromPos = rd.Vector3d();
sd.fromRot = rd.RdQuaternionf();
}
// retrieve each of the bay groupings
const Uint32 numBays = rd.Int32();
mBayGroups.reserve(numBays);
for (Uint32 i=0; i<numBays; i++) {
mBayGroups.push_back(SpaceStationType::SBayGroup());
SpaceStationType::SBayGroup &bay = mBayGroups.back();
bay.minShipSize = rd.Int32();
bay.maxShipSize = rd.Int32();
bay.inUse = rd.Bool();
const Uint32 numBayIds = rd.Int32();
bay.bayIDs.reserve(numBayIds);
for (Uint32 j=0; j<numBayIds; j++) {
const Uint32 ID = rd.Int32();
bay.bayIDs.push_back(ID);
}
}
m_sbody = space->GetSystemBodyByIndex(rd.Int32());
m_numPoliceDocked = rd.Int32();
m_doorAnimationStep = rd.Double();
m_doorAnimationState = rd.Double();
InitStation();
m_navLights->Load(rd);
}
示例4: Load
void SpaceStation::Load(Serializer::Reader &rd, Space *space)
{
ModelBody::Load(rd, space);
MarketAgent::Load(rd);
int num = rd.Int32();
if (num > Equip::TYPE_MAX) throw SavedGameCorruptException();
for (int i=0; i<Equip::TYPE_MAX; i++) {
m_equipmentStock[i] = 0;
}
for (int i=0; i<num; i++) {
m_equipmentStock[i] = static_cast<Equip::Type>(rd.Int32());
}
// load shityard
int numShipsForSale = rd.Int32();
for (int i=0; i<numShipsForSale; i++) {
ShipType::Id id(rd.String());
std::string regId(rd.String());
SceneGraph::ModelSkin skin;
skin.Load(rd);
ShipOnSale sos(id, regId, skin);
m_shipsOnSale.push_back(sos);
}
for (int i=0; i<MAX_DOCKING_PORTS; i++) {
m_shipDocking[i].shipIndex = rd.Int32();
m_shipDocking[i].stage = rd.Int32();
m_shipDocking[i].stagePos = rd.Float();
m_shipDocking[i].fromPos = rd.Vector3d();
m_shipDocking[i].fromRot = rd.RdQuaternionf();
}
m_dockingLock = rd.Bool();
m_bbCreated = rd.Bool();
m_lastUpdatedShipyard = rd.Double();
m_sbody = space->GetSystemBodyByIndex(rd.Int32());
m_numPoliceDocked = rd.Int32();
InitStation();
m_navLights->Load(rd);
}
示例5: Load
void SpaceStation::Load(Serializer::Reader &rd, Space *space)
{
ModelBody::Load(rd, space);
MarketAgent::Load(rd);
int num = rd.Int32();
if (num > Equip::TYPE_MAX) throw SavedGameCorruptException();
for (int i=0; i<Equip::TYPE_MAX; i++) {
m_equipmentStock[i] = 0;
}
for (int i=0; i<num; i++) {
m_equipmentStock[i] = static_cast<Equip::Type>(rd.Int32());
}
// load shityard
int numShipsForSale = rd.Int32();
for (int i=0; i<numShipsForSale; i++) {
ShipType::Id id(rd.String());
std::string regId(rd.String());
SceneGraph::ModelSkin skin;
skin.Load(rd);
ShipOnSale sos(id, regId, skin);
m_shipsOnSale.push_back(sos);
}
const int32_t numShipDocking = rd.Int32();
m_shipDocking.reserve(numShipDocking);
for (int i=0; i<numShipDocking; i++) {
m_shipDocking.push_back(shipDocking_t());
shipDocking_t &sd = m_shipDocking.back();
sd.shipIndex = rd.Int32();
sd.stage = rd.Int32();
sd.stagePos = rd.Float();
sd.fromPos = rd.Vector3d();
sd.fromRot = rd.RdQuaternionf();
}
// retrieve each of the bay groupings
const int32_t numBays = rd.Int32();
mBayGroups.reserve(numBays);
for (int32_t i=0; i<numBays; i++) {
mBayGroups.push_back(SpaceStationType::SBayGroup());
SpaceStationType::SBayGroup &bay = mBayGroups.back();
bay.minShipSize = rd.Int32();
bay.maxShipSize = rd.Int32();
bay.inUse = rd.Bool();
const int32_t numBayIds = rd.Int32();
bay.bayIDs.reserve(numBayIds);
for (int32_t j=0; j<numBayIds; j++) {
const int32_t ID = rd.Int32();
bay.bayIDs.push_back(ID);
}
}
m_bbCreated = rd.Bool();
m_lastUpdatedShipyard = rd.Double();
m_sbody = space->GetSystemBodyByIndex(rd.Int32());
m_numPoliceDocked = rd.Int32();
m_doorAnimationStep = rd.Double();
m_doorAnimationState = rd.Double();
InitStation();
m_navLights->Load(rd);
}