bool Item::serializeAttr(PropWriteStream& propWriteStream) const { if (isStackable() || isFluidContainer() || isSplash()) { uint8_t _count = getSubType(); propWriteStream.ADD_UCHAR(ATTR_COUNT); propWriteStream.ADD_UCHAR(_count); } if (hasCharges()) { uint16_t _count = getCharges(); propWriteStream.ADD_UCHAR(ATTR_CHARGES); propWriteStream.ADD_USHORT(_count); } if (!isNotMoveable()) { uint16_t _actionId = getActionId(); if (_actionId) { propWriteStream.ADD_UCHAR(ATTR_ACTION_ID); propWriteStream.ADD_USHORT(_actionId); } } const std::string& _text = getText(); if (!_text.empty()) { propWriteStream.ADD_UCHAR(ATTR_TEXT); propWriteStream.ADD_STRING(_text); } const time_t _writtenDate = getDate(); if (_writtenDate > 0) { propWriteStream.ADD_UCHAR(ATTR_WRITTENDATE); propWriteStream.ADD_ULONG(_writtenDate); } const std::string& _writer = getWriter(); if (!_writer.empty()) { propWriteStream.ADD_UCHAR(ATTR_WRITTENBY); propWriteStream.ADD_STRING(_writer); } const std::string& _specialDesc = getSpecialDescription(); if (!_specialDesc.empty()) { propWriteStream.ADD_UCHAR(ATTR_DESC); propWriteStream.ADD_STRING(_specialDesc); } if (hasAttribute(ATTR_ITEM_DURATION)) { uint32_t duration = getDuration(); propWriteStream.ADD_UCHAR(ATTR_DURATION); propWriteStream.ADD_ULONG(duration); } ItemDecayState_t decayState = getDecaying(); if (decayState == DECAYING_TRUE || decayState == DECAYING_PENDING) { propWriteStream.ADD_UCHAR(ATTR_DECAYING_STATE); propWriteStream.ADD_UCHAR(decayState); } return true; }
bool COptPopulationMethod::initialize() { cleanup(); if (!COptMethod::initialize()) return false; mCurrentGeneration = 0; mGenerations = 0; if (getParameter("Number of Generations") != NULL) mGenerations = getValue< unsigned C_INT32 >("Number of Generations"); if (mpCallBack && (getSubType() != CTaskEnum::Method::ParticleSwarm && getSubType() != CTaskEnum::Method::ScatterSearch)) { mhGenerations = mpCallBack->addItem("Current Generation", mCurrentGeneration, &mGenerations); } ++mCurrentGeneration; if (getParameter("Population Size") != NULL) mPopulationSize = getValue< unsigned C_INT32 >("Population Size"); else mPopulationSize = 0; pdelete(mpRandom); if (getParameter("Random Number Generator") != NULL && getParameter("Seed") != NULL) { mpRandom = CRandom::createGenerator((CRandom::Type) getValue< unsigned C_INT32 >("Random Number Generator"), getValue< unsigned C_INT32 >("Seed")); } else { mpRandom = CRandom::createGenerator(); } mVariableSize = mpOptItem->size(); return true; }
//-------------------------------------------------------------------- // //-------------------------------------------------------------------- void NWStreamWriter::writeBlock(INWStreamBlock* _block, bool _checkThread) { #ifdef _DEBUG if ( _checkThread ) checkWriteThreadId(); #endif ASSERT(_block->getType() == getType() && _block->getSubType() == getSubType()); mQueue->writeBlock(_block); }
std::vector<std::shared_ptr<Asteroid>> AsteroidFactory::createSubAsteroids(Asteroid& asteroid) { std::vector<std::shared_ptr<Asteroid>> subAsteroids; auto position = asteroid.getSprite().getPosition(); auto type = asteroid.getType(); auto subType = getSubType(type); if (subType != AsteroidType::Last) createAsteroids(subAsteroids, position, subType); return subAsteroids; }
bool Item::serializeAttr(PropWriteStream& propWriteStream) const { if(isStackable() || isFluidContainer() || isSplash()) { propWriteStream.addByte(ATTR_COUNT); propWriteStream.addByte((uint8_t)getSubType()); } if(attributes && !attributes->empty()) { propWriteStream.addByte(ATTR_ATTRIBUTE_MAP); serializeMap(propWriteStream); } return true; }
/** Like most memory stuff this won't work across DLL's in windows, it should work fine in linux or with static library files in windows. **/ AREXPORT std::string ArRobotConfigPacketReader::buildString(void) const { std::string ret; char line[32000]; sprintf(line, "General information:\n"); ret += line; sprintf(line, "Robot is type '%s' subtype '%s'\n", getType(), getSubType()); ret += line; sprintf(line, "serial number '%s' name '%s'\n", getSerialNumber(), getName()); ret += line; sprintf(line, "Intrinsic properties and unsettable maxes:\n"); ret += line; sprintf(line, "RotVelTop %d RotAccelTop %d\n", getRotVelTop(), getRotAccelTop()); ret += line; sprintf(line, "TransVelTop %d TransAccelTop %d\n", getTransVelTop(), getTransAccelTop()); ret += line; sprintf(line, "PWMMax %d ResetBaud %s\n", getPwmMax(), ArUtil::convertBool(getResetBaud())); ret += line; sprintf(line, "Current values:\n"); ret += line; sprintf(line, "RotVelMax %d RotAccel %d RotDecel %d\n", getRotVelMax(), getRotAccel(), getRotDecel()); ret += line; sprintf(line, "TransVelMax %d TransAccel %d TransDecel %d\n", getTransVelMax(), getTransAccel(), getTransDecel()); ret += line; sprintf(line, "Accessories:\n"); ret += line; sprintf(line, "Gripper %s FrontSonar %s RearSonar %s Charger %d Gyro %s\n", ArUtil::convertBool(getHasGripper()), ArUtil::convertBool(getFrontSonar()), ArUtil::convertBool(getRearSonar()), getHasCharger(), ArUtil::convertBool(getHasGyro())); ret += line; sprintf(line, "FrontBumps %d RearBumps %d\n", getFrontBumps(), getRearBumps()); ret += line; sprintf(line, "Settings:\n"); ret += line; sprintf(line, "SipCycle %d SonarCycle %d HostBaud %d Aux1Baud %d\n", getSipCycleTime(), getSonarCycle(), getHostBaud(), getAux1Baud()); ret += line; sprintf(line, "StallVal %d StallCount %d RevCount %d Watchdog %d\n", getStallVal(), getStallCount(), getRevCount(), getWatchdog()); ret += line; sprintf(line, "JoyVel %d JoyRVel %d NormalMotorPackets %s\n", getJoyVel(), getJoyRotVel(), ArUtil::convertBool(getNormalMPacs())); ret += line; sprintf(line, "PID Settings:\n"); ret += line; sprintf(line, "Rot kp %d kv %d ki %d\n", getRotKP(), getRotKV(), getRotKI()); ret += line; sprintf(line, "Trans kp %d kv %d ki %d\n", getTransKP(), getTransKV(), getTransKI()); ret += line; sprintf(line, "DriftFactor %d\n", getDriftFactor()); ret += line; sprintf(line, "Aux2Baud setting %d, Aux3Baud setting %d\n", getAux2Baud(), getAux3Baud()); ret += line; sprintf(line, "TicksMM: %d\n", getTicksMM()); ret += line; sprintf(line, "Shutdown Voltage: %d\n", getShutdownVoltage()); ret += line; return ret; }
void COptPopulationMethod::initObjects() { if (getSubType() != CTaskEnum::Method::ParticleSwarm && getSubType() != CTaskEnum::Method::ScatterSearch) addObjectReference("Current Generation", mCurrentGeneration, CDataObject::ValueInt); }
KPrSpiralWipeStrategy::KPrSpiralWipeStrategy(int firstLeg, bool clockwise, bool reverse) : KPrMatrixWipeStrategy( getSubType(firstLeg, clockwise, reverse), "spiralWipe", getSmilSubType(firstLeg, clockwise), reverse ), m_firstLeg(firstLeg), m_clockwise(clockwise) { }
/** Like most memory stuff this won't work across DLL's in windows, it should work fine in linux or with static library files in windows. **/ AREXPORT std::string ArRobotConfigPacketReader::buildString(void) const { std::string ret; char line[32000]; sprintf(line, "General information:\n"); ret += line; sprintf(line, "Robot is type '%s' subtype '%s'\n", getType(), getSubType()); ret += line; sprintf(line, "serial number '%s' name '%s'\n", getSerialNumber(), getName()); ret += line; sprintf(line, "firmware version '%s'\n", getFirmwareVersion()); ret += line; sprintf(line, "Intrinsic properties and unsettable maxes:\n"); ret += line; sprintf(line, "TransVelTop %d TransAccelTop %d\n", getTransVelTop(), getTransAccelTop()); ret += line; sprintf(line, "RotVelTop %d RotAccelTop %d\n", getRotVelTop(), getRotAccelTop()); ret += line; if (myRobot->hasLatVel()) { sprintf(line, "LatVelTop %d LatAccelTop %d\n", getLatVelTop(), getLatAccelTop()); ret += line; } sprintf(line, "PWMMax %d ResetBaud %s\n", getPwmMax(), ArUtil::convertBool(getResetBaud())); ret += line; sprintf(line, "Current values:\n"); ret += line; sprintf(line, "TransVelMax %d TransAccel %d TransDecel %d\n", getTransVelMax(), getTransAccel(), getTransDecel()); ret += line; sprintf(line, "RotVelMax %d RotAccel %d RotDecel %d\n", getRotVelMax(), getRotAccel(), getRotDecel()); ret += line; if (myRobot->hasLatVel()) { sprintf(line, "LatVelMax %d LatAccel %d LatDecel %d\n", getLatVelMax(), getLatAccel(), getLatDecel()); ret += line; } sprintf(line, "Accessories:\n"); ret += line; sprintf(line, "Gripper %s FrontSonar %s RearSonar %s Charger %d GyroType %d\n", ArUtil::convertBool(getHasGripper()), ArUtil::convertBool(getFrontSonar()), ArUtil::convertBool(getRearSonar()), getHasCharger(), getGyroType()); ret += line; sprintf(line, "FrontBumps %d RearBumps %d\n", getFrontBumps(), getRearBumps()); ret += line; sprintf(line, "Settings:\n"); ret += line; sprintf(line, "SipCycle %d SonarCycle %d HostBaud %d Aux1Baud %d\n", getSipCycleTime(), getSonarCycle(), getHostBaud(), getAux1Baud()); ret += line; sprintf(line, "StallVal %d StallCount %d RevCount %d Watchdog %d\n", getStallVal(), getStallCount(), getRevCount(), getWatchdog()); ret += line; sprintf(line, "GyroRateLimit %d\n", getGyroRateLimit()); ret += line; sprintf(line, "JoyVel %d JoyRVel %d NormalMotorPackets %s\n", getJoyVel(), getJoyRotVel(), ArUtil::convertBool(getNormalMPacs())); ret += line; sprintf(line, "PID Settings:\n"); ret += line; sprintf(line, "Trans kp %d kv %d ki %d\n", getTransKP(), getTransKV(), getTransKI()); ret += line; sprintf(line, "Rot kp %d kv %d ki %d\n", getRotKP(), getRotKV(), getRotKI()); ret += line; sprintf(line, "Other:\n"); ret += line; sprintf(line, "DriftFactor %d KinematicsDelay %d\n", getDriftFactor(), getKinematicsDelay()); ret += line; sprintf(line, "Aux2Baud setting %d Aux3Baud setting %d\n", getAux2Baud(), getAux3Baud()); ret += line; sprintf(line, "PDBPort setting %d\n", getPDBPort()); ret += line; sprintf(line, "TicksMM %d GyroCW %d GyroCCW %d\n", getTicksMM(), getGyroCW(), getGyroCCW()); ret += line; sprintf(line, "ShutdownVoltage %d PowerbotChargeTreshold %d\n", getShutdownVoltage(), getPowerbotChargeThreshold()); ret += line; char buf[128]; int i, j; unsigned int value = getPowerBits(); int bit; buf[0] = '\0'; for (j = 0, bit = 1; j < 16; ++j, bit *= 2) { if (j == 8) sprintf(buf, "%s ", buf); if (value & bit) sprintf(buf, "%s%d", buf, 1); else sprintf(buf, "%s%d", buf, 0); } sprintf(line, "HighTempShutdown %d PowerBits %s\n", getHighTemperatureShutdown(), buf); ret += line; return ret; }
xmlNodePtr Item::serialize() { xmlNodePtr nodeItem = xmlNewNode(NULL,(const xmlChar*)"item"); std::stringstream ss; ss.str(""); ss << getID(); xmlSetProp(nodeItem, (const xmlChar*)"id", (const xmlChar*)ss.str().c_str()); if(hasSubType()){ ss.str(""); ss << (int32_t)getSubType(); xmlSetProp(nodeItem, (const xmlChar*)"count", (const xmlChar*)ss.str().c_str()); } if(getSpecialDescription() != ""){ ss.str(""); ss << getSpecialDescription(); xmlSetProp(nodeItem, (const xmlChar*)"special_description", (const xmlChar*)ss.str().c_str()); } if(getText() != ""){ ss.str(""); ss << getText(); xmlSetProp(nodeItem, (const xmlChar*)"text", (const xmlChar*)ss.str().c_str()); } if(getWrittenDate() != 0){ ss.str(""); ss << getWrittenDate(); xmlSetProp(nodeItem, (const xmlChar*)"written_date", (const xmlChar*)ss.str().c_str()); } if(getWriter() != ""){ ss.str(""); ss << getWriter(); xmlSetProp(nodeItem, (const xmlChar*)"writer", (const xmlChar*)ss.str().c_str()); } if(!isNotMoveable() /*moveable*/){ if(getActionId() != 0){ ss.str(""); ss << getActionId(); xmlSetProp(nodeItem, (const xmlChar*)"actionId", (const xmlChar*)ss.str().c_str()); } } if(hasAttribute(ATTR_ITEM_DURATION)){ uint32_t duration = getDuration(); ss.str(""); ss << duration; xmlSetProp(nodeItem, (const xmlChar*)"duration", (const xmlChar*)ss.str().c_str()); } uint32_t decayState = getDecaying(); if(decayState == DECAYING_TRUE || decayState == DECAYING_PENDING){ ss.str(""); ss << decayState; xmlSetProp(nodeItem, (const xmlChar*)"decayState", (const xmlChar*)ss.str().c_str()); } return nodeItem; }