Example #1
0
	bool CalculateNativeAxis(const float* points, int count, unsigned vertex_size, vec3& r, vec3& s, vec3& t)
	{	
		//	find covariance matrix
		mat3 c = CreateCovarianceMatrix(points, count, vertex_size);

		//	find eigen values of the covariance matrix
		Math::vec3 eigen_values;
		if (!EigenValues(c, eigen_values))
			return (out_error() << "Can't find eigen values for matrix " << c.ToString() << std::endl, false);

		//	find eigen vectors of the covariance matrix
		Math::vec3 eigen_vectors[3];
		if (!EigenVectors(c, eigen_values, eigen_vectors))
			return (out_error() << "Can't find eigen values for matrix " << c.ToString() << " with eigen values " << eigen_values.ToString() << std::endl, false);

		r = eigen_vectors[0];
		s = eigen_vectors[1];
		t = eigen_vectors[2];

		mat3 a;
		a.SetColumn(0, r);
		a.SetColumn(1, s);
		a.SetColumn(2, t);

		out_message() << "Matrix a: " << a.ToString() << std::endl;

		mat3 tt = a.Transposed() * c * a;

		out_message() << "Matrix tt: " << tt.ToString() << std::endl;
		return true;
	}
	void DisplayDeviceInformation(IEnumMoniker *pEnum)
	{
		IMoniker *pMoniker = NULL;

		while (pEnum->Next(1, &pMoniker, NULL) == S_OK)
		{
			IPropertyBag *pPropBag;
			HRESULT hr = pMoniker->BindToStorage(0, 0, IID_PPV_ARGS(&pPropBag));
			if (FAILED(hr))
			{
				pMoniker->Release();
				continue;  
			} 

			VARIANT var;
			VariantInit(&var);

			// Get description or friendly name.
			hr = pPropBag->Read(L"Description", &var, 0);
			if (FAILED(hr))
			{
				hr = pPropBag->Read(L"FriendlyName", &var, 0);
			}
			if (SUCCEEDED(hr))
			{
				out_message() << "Capture device: " << var.bstrVal << std::endl;
				VariantClear(&var); 
			}

			hr = pPropBag->Write(L"FriendlyName", &var);

			// WaveInID applies only to audio capture devices.
			hr = pPropBag->Read(L"WaveInID", &var, 0);
			if (SUCCEEDED(hr))
			{
				out_message() << "Audio device: " << var.lVal << std::endl;
				VariantClear(&var); 
			}

			hr = pPropBag->Read(L"DevicePath", &var, 0);
			if (SUCCEEDED(hr))
			{
				// The device path is not intended for display.
				out_message() << "Video device: " << var.bstrVal << std::endl;
				VariantClear(&var); 
			}

			pPropBag->Release();
			pMoniker->Release();
		}
	}
Example #3
0
void on_logout(char *name)
{
	if(config->logout_message != NULL)
		out_message(name);
	if(config->logout_command != NULL)
		run_command(config->logout_command);
}
void SystemLoggerTest::testOutMessage()
{
    System::InitializeComponents();
    out_message().Write(L"Hello world");
    CPPUNIT_ASSERT(true);
    System::DestroyComponents();
}
Example #5
0
	void EventManager::FixEvent(Event* event)
	{
		//
		//	to add:
		//		events filtering and displaying to log only interesting events
		//
		static long prev_event_code = event->eventCode;
		if (prev_event_code != event->eventCode && m_events_mask[event->eventCode])
		{
			out_message() << event->ToString() << std::endl;
			prev_event_code = event->eventCode;
		}

//		MonitorScope lock(monitor);
		events.push(event);
//		monitor.Pulse();
	}
Example #6
0
	void Manager::SetFocusedWidget(Widget* newFocuseWidget)
	{
		if (newFocuseWidget)
		{
			out_message() << newFocuseWidget->GetText() << std::endl;
			if (m_focusWidget)
			{
				GUI::SetUnFocusedEvent* unfocuseEvent = new GUI::SetUnFocusedEvent;
				unfocuseEvent->anyData = m_focusWidget;
				m_adapter->OnSetUnFocusedEvent(unfocuseEvent);
				m_focusWidget->SetFocuse(false);			
			}

			GUI::SetFocusedEvent* focuseEvent = new GUI::SetFocusedEvent;
			focuseEvent->anyData = newFocuseWidget;
			m_adapter->OnSetFocusedEvent(focuseEvent);

			newFocuseWidget->SetFocuse(true);
			m_focusWidget = newFocuseWidget;
		}
	}
	HRESULT   __stdcall   Receive    ( void* inst, IMediaSample *smp ) {     
		BYTE*     buf;    smp->GetPointer(&buf); DWORD len = smp->GetActualDataLength();
		//if (g_timer.GetElapsedTime() > 0.01)
		{
			EnterCriticalSection(m_cs);
			System::Profiler profiler;
			profiler.Start(L"Converting YUY2 to RGB");			
			g_kernel.SetArgument(0, g_inp);
			g_kernel.SetArgument(1, (int)len);
			g_kernel.SetArgument(2, g_out);
			g_inp.Write(buf, len);
			g_kernel.Call(640*480*2/4);
			g_out.Read(buffer, *length);
			//ImageModule::YUY2toRGB((unsigned char*)buf, len, (unsigned char*)buffer, length);		
			profiler.End();
			out_message() << profiler.ToString() << std::endl;
			LeaveCriticalSection(m_cs);
			g_timer.UpdateStartPoint();
		}
		HRESULT   ret  =  Receive_   ( inst, smp );   
		return    ret; 
	}
Example #8
0
	bool EigenVectors(const mat3& m, const vec3& value, vec3 res[3])
	{
		for (int v = 0; v < 3; ++v)
		{
			//	use inverse power method
			vec3 bb0(1,1,1);
			vec3 bb = bb0;
			float d;
			do
			{
				bb0 = bb;
				bb = (m - (value[v] + 0.001f) * mat3::CreateIdentity()).Inversed() * bb;
				bb.Normalize();	
				d = fabs(fabs(bb.Dot(bb0)) - 1.0f);
			}
			while (d > 1e-5);

			res[v] = bb;
			out_message() << res[v].ToString() << std::endl;

		}
		return true;
	}
Example #9
0
	void Manager::OnMouseLeftDown(System::Event* event)
	{
		System::MouseLeftButtonDownEvent* e = static_cast<System::MouseLeftButtonDownEvent*>(event);
		Widget* newFocuseWidget = 0;
		for (auto it = rootWidgets.begin(); it != rootWidgets.end(); it++)
		{
			if (!(*it)->IsVisible() || !(*it)->IsEnabled())
				continue;

			if ((*it)->IsPointIn(Widget::WindowToViewport(float(e->x), float(e->y))))
			{
				newFocuseWidget = (*it)->GetFocused(float(e->x), float(e->y));
				(*it)->OnMouseLeftButtonDown(e);
				break;
			}
		}
		if (newFocuseWidget)
		{
			out_message() << newFocuseWidget->GetText() << std::endl;
			if (m_focusWidget)
			{
				GUI::SetUnFocusedEvent* unfocuseEvent = new GUI::SetUnFocusedEvent;
				unfocuseEvent->anyData = m_focusWidget;
				m_adapter->OnSetUnFocusedEvent(unfocuseEvent);
				m_focusWidget->SetFocuse(false);					
			}

			SetFocusedEvent* focuseEvent = new SetFocusedEvent;
			focuseEvent->anyData = newFocuseWidget;
			m_adapter->OnSetFocusedEvent(focuseEvent);

			newFocuseWidget->SetFocuse(true);
			m_focusWidget = newFocuseWidget;
			m_focusWidget->OnMouseLeftButtonDown(e);					
		}
	}
Example #10
0
		bool IsSupported(const char* extension, Driver* driver)
		{
			const char* allWgl = wglGetExtensionsStringARB(::GetDC(*driver->GetWindow()));
			int num;
			glGetIntegerv(GL_NUM_EXTENSIONS, &num);
			const char* ptr;
			const char* start;
			start = allWgl;
			for (int i = 0; i < num; i++)
			{
				const char* ext = (const char*)glGetStringi(GL_EXTENSIONS, i);
				if ((ptr = strstr(extension, ext)) != NULL)
				{
					const char* end = ptr + strlen(extension);
					if (isspace(*end) || *end == '\0')
					{
						out_message() << System::string::Format(L"[Video] %s is supported", System::string(extension).Data()) << std::endl;
						return true;
					}
				}
			}
			out_warning() << System::string::Format(L"[Video] %s is not supported", System::string(extension).Data()) << std::endl;
			return false;
		};
Example #11
0
pdsp::MessageBuffer& pdsp::ScoreSection::out( int index ){
    return out_message(index);
}