//MODA C++ native code sample #include "stdafx.h" #include "Modacpp.h" #include "conio.h" #define MODASERVER "localhost" //---------------------------------------------------------------------------- void Enum(ModaCPP::RobotPHX *pRobot, Marilou::Commons::ActiveEntityClasses filter) { xkode::lib::ObjectsArray<xkode::lib::String> list=pRobot->GetEntitiesList(filter,true); for(int i=0;i<list.Count();i++) { _cprintf("\t%s\r\n",list[i].GetData()); } } //---------------------------------------------------------------------------- int main(int argc, TCHAR* argv[]) { ModaCPP::Connection *connection=new ModaCPP::Connection(true); if(connection->Connect(MODASERVER)) { _cprintf("Connection ok to moda server\r\n"); xkode::lib::ObjectsArray<xkode::lib::String> PHXlist=connection->GetRobotPHXsList(); _cprintf("%d PHX(s) found:\r\n",PHXlist.Count()); for(int i=0;i<PHXlist.Count();i++) { _cprintf("\t%s\r\n",PHXlist[i].GetData()); } _cprintf("End of PHX enums\r\n\n"); if(PHXlist.Count()>=1) { xkode::lib::String ChoosenRobot=PHXlist[1]; ModaCPP::RobotPHX *pRobot=connection->QueryRobotPHX(ChoosenRobot); if(pRobot) { _cprintf("Connected to %s\r\n\n",ChoosenRobot.GetData()); _cprintf("Enum physics entities:\r\n"); Enum(pRobot,Marilou::Commons::ActiveEntityClasses::PhysicsGeoms); _cprintf("Enum devices:\r\n"); Enum(pRobot,Marilou::Commons::ActiveEntityClasses::CoreDevice); _cprintf("Enum all:\r\n"); Enum(pRobot,Marilou::Commons::ActiveEntityClasses::All); } else { _cprintf("Cannot connected to %s\r\n",ChoosenRobot.GetData()); } } else { _cprintf("No PHX in this world ...\r\n"); } } else { _cprintf("Unable to connect to moda server\r\n"); } connection->Disconnect(); delete connection; _getch(); return 0; }