Ejemplo n.º 1
0
Model ModelLoader::Load(const string &aFileName,
                               bool aNormalizeMesh /*= false*/)
{
    ResetLoader();
    
    cout << "Loading mesh " << aFileName << " ... ";
    
    FILE* pFile = fopen(aFileName.c_str(),"rb");
    
    while(!feof(pFile))
    {
        DispatchRead(pFile);
    }
    
    if(mNormals.size() == 1)
    {
        GenerateNormals();
    }

    if(aNormalizeMesh)
    {
        NormalizeMesh();
    }

	
    unsigned int GLId = FillPrimitive();
    
    fclose(pFile);
    cout << "DONE." << endl;

    Model RetVal(mVertices, mCombinedVertices,GLId);
    
    return RetVal;
}
Ejemplo n.º 2
0
TEST(RecorderTest, RetValRecorderTest) {
	TRACER_TRACE(&Fac) fac;
	auto facr = tracer::RecordRetVal(fac);
	Fac(3);
	int result[] = {1, 1, 2, 6};
	for (int i = 0; i < 4; ++i) 
		EXPECT_EQ(result[i], facr.RetVal(i));
}
Ejemplo n.º 3
0
string PRW::ReadString(UInt32 Length)
{
	char * Tempo = new char[Length];
	for(unsigned int i = 0; i < Length; i++)
	{
		Tempo[i] = (*(this->UnderlyingBuffer + this->Position));
		this->Position++;
	}
	string RetVal(Tempo);
	delete[] Tempo;
	return RetVal;
}
Ejemplo n.º 4
0
SimpleString SimpleString::operator+( const SimpleString& String ) const
{
	uint NewLength = m_Length + String.m_Length;
	char* NewString = Allocate( NewLength + 1 );

	memcpy( NewString, m_String, m_Length );
	memcpy( NewString + m_Length, String.m_String, String.m_Length );
	NewString[ NewLength ] = '\0';

	SimpleString RetVal( NewString );
	SafeDeleteArray( NewString );

	return RetVal;
}
Ejemplo n.º 5
0
/*static*/ SimpleString SimpleString::PrintF( const char* FormatString, ... )
{
	va_list Args;
	va_start( Args, FormatString );

	int Length = VSPRINTF_COUNT( FormatString, Args ) + 1;
	char* pBuffer = Allocate( Length );
	VSPRINTF( pBuffer, Length, FormatString, Args );

	SimpleString RetVal( pBuffer );
	SafeDeleteArray( pBuffer );

	return RetVal;
}
Ejemplo n.º 6
0
InputIterator ConvertIntegerToStringRadix( T Val, InputIterator Beg, InputIterator End )
{
   Detail::TRadixAbstraction<T, RadixValue> RA;

   typedef typename std::iterator_traits<InputIterator>::value_type TChar;

   InputIterator Cur(Beg);        //Текущий символ
   InputIterator FirstDigit(Beg); //Первая записанная цифра
   
   if( Val < 0 ) //Если число отрицательное выводим знак
   {
      if( Cur == End ) return Beg;

      #pragma warning( push )
      #pragma warning( disable: 4146 )
      Val = -Val;
      #pragma warning( pop )

      *Cur = '-';
      ++Cur;
      ++FirstDigit;
   }

   do
   {
      if( Cur == End ) return Beg;

      *Cur = RA.template toChar<TChar>( Val % RA.radix() );   
      ++Cur;

      Val /= RA.radix();
   }
   while( Val > 0 );

   InputIterator RetVal(Cur); //Итератор стоящий за последним записанным символом

   //Мы получили перевёрнутое число. Восстанавливаем нормальный порядок
   --Cur;

   TChar Tmp;
   while( FirstDigit < Cur ) 
   {
      Tmp = *Cur; *Cur = *FirstDigit; *FirstDigit = Tmp;
      ++FirstDigit;
      --Cur;
   } 

   return RetVal;
}
RetVal ident(int x) { return RetVal(); }
RetVal fun_tmpl_recurse(T t) {
  if (!t)
    return RetVal();
  return F(t - 1);
}
RetVal fun_normal(int t) { return RetVal(); }
RetVal fun_tmpl(const T &t) { return RetVal(); }