Example #1
0
    void Journal::readRecord (ESM::ESMReader& reader, uint32_t type)
    {
        if (type==ESM::REC_JOUR || type==ESM::REC_JOUR_LEGACY)
        {
            ESM::JournalEntry record;
            record.load (reader);

            if (isThere (record.mTopic, record.mInfo))
                switch (record.mType)
                {
                    case ESM::JournalEntry::Type_Quest:

                        getQuest (record.mTopic).insertEntry (record);
                        break;

                    case ESM::JournalEntry::Type_Journal:

                        mJournal.push_back (record);
                        break;

                    case ESM::JournalEntry::Type_Topic:

                        getTopic (record.mTopic).insertEntry (record);
                        break;
                }
        }
        else if (type==ESM::REC_QUES)
        {
            ESM::QuestState record;
            record.load (reader);

            if (isThere (record.mTopic))
                mQuests.insert (std::make_pair (record.mTopic, record));
        }
    }
Example #2
0
    double MomentumY() const {
        double momentum =0;
        momentum += sin(M_PI/3.0)*isThere(RIGHT_UP);
        momentum += sin(M_PI/3.0)*isThere(LEFT_UP);

        momentum += -sin(M_PI/3.0)*isThere(RIGHT_DOWN);
        momentum += -sin(M_PI/3.0)*isThere(LEFT_DOWN);
        return momentum;
    }
Example #3
0
void execute(  fence *myFencePtr)
{
  fence &myFence = *myFencePtr; 
  while(not isThere(myFence)  )
    ; 

  auto &comm = *myFence.comm; 
  myFencePtr->fun(comm); 
}
Example #4
0
    void Journal::readRecord (ESM::ESMReader& reader, uint32_t type)
    {
        if (type==ESM::REC_JOUR || type==ESM::REC_JOUR_LEGACY)
        {
            ESM::JournalEntry record;
            record.load (reader);

            if (isThere (record.mTopic, record.mInfo))
                switch (record.mType)
                {
                    case ESM::JournalEntry::Type_Quest:

                        getQuest (record.mTopic).insertEntry (record);
                        break;

                    case ESM::JournalEntry::Type_Journal:

                        mJournal.push_back (record);
                        break;

                    case ESM::JournalEntry::Type_Topic:

                        getTopic (record.mTopic).insertEntry (record);
                        break;
                }
        }
        else if (type==ESM::REC_QUES)
        {
            ESM::QuestState record;
            record.load (reader);

            if (isThere (record.mTopic))
            {
                std::pair<TQuestContainer::iterator, bool> result = mQuests.insert (std::make_pair (record.mTopic, record));
                // reapply quest index, this is to handle users upgrading from only
                // Morrowind.esm (no quest states) to Morrowind.esm + Tribunal.esm
                result.first->second.setIndex(record.mState);
            }
        }
    }
Example #5
0
    double MomentumX() const {
        double momentum=0;
        momentum +=  isThere(RIGHT);
        momentum += -isThere(LEFT);

        momentum +=  cos(M_PI/3.0)*isThere(RIGHT_UP);
        momentum += -cos(M_PI/3.0)*isThere(LEFT_UP);

        momentum +=  cos(M_PI/3.0)*isThere(RIGHT_DOWN);
        momentum += -cos(M_PI/3.0)*isThere(LEFT_DOWN);
        return momentum;
    }
void findCycle(NODEPTR p, int graph[][4], int baslangic, int bitis)
{
	int i, k;

	for (i = 0; i <= 3; ++i)
	{
		if (graph[baslangic - 1][i] == 1 && !isThere(p, i + 1))
		{
			place(&p, i + 1);
			break;
		}
	}

	if (i + 1 == bitis)
		return;

	findCycle(p, graph, i + 1, bitis);
}