Exemple #1
0
 std::unique_ptr<WirelessProtocol> WirelessProtocol::chooseBaseStationProtocol(const Version& fwVersion)
 {
     if(fwVersion >= NodeFeatures::MIN_BASE_FW_PROTOCOL_1_3)
     {
         return v1_3();
     }
     else if(fwVersion >= NodeFeatures::MIN_BASE_FW_PROTOCOL_1_1)
     {
         return v1_1();
     }
     else
     {
         return v1_0();
     }
 }
Exemple #2
0
bool edge_intersection (const Molecule &mol, int edge1_idx, int edge2_idx, Vec2f &p)
{
   const Edge &edge1 = mol.getEdge(edge1_idx);
   const Edge &edge2 = mol.getEdge(edge2_idx);

   if (edge1.beg == edge2.beg || edge1.beg == edge2.end || edge1.end == edge2.beg || edge1.end == edge2.end)
      return false;

   Vec2f v1_1(mol.getAtomPos(edge1.beg).x, mol.getAtomPos(edge1.beg).y);
   Vec2f v1_2(mol.getAtomPos(edge1.end).x, mol.getAtomPos(edge1.end).y);
   Vec2f v2_1(mol.getAtomPos(edge2.beg).x, mol.getAtomPos(edge2.beg).y);
   Vec2f v2_2(mol.getAtomPos(edge2.end).x, mol.getAtomPos(edge2.end).y);

   return Vec2f::intersection(v1_1, v1_2, v2_1, v2_2, p);
}
Exemple #3
0
 std::unique_ptr<WirelessProtocol> WirelessProtocol::chooseNodeProtocol(const Version& fwVersion)
 {
     if(fwVersion >= NodeFeatures::MIN_NODE_FW_PROTOCOL_1_5)
     {
         return v1_5();
     }
     else if(fwVersion >= NodeFeatures::MIN_NODE_FW_PORTOCOL_1_4)
     {
         return v1_4();
     }
     else if(fwVersion >= NodeFeatures::MIN_NODE_FW_PROTOCOL_1_2)
     {
         return v1_2();
     }
     else if(fwVersion >= NodeFeatures::MIN_NODE_FW_PROTOCOL_1_1)
     {
         return v1_1();
     }
     else
     {
         return v1_0();
     }
 }