Reklama
Strona 2 z 2 PierwszaPierwsza 12
Pokazuje wyniki od 16 do 18 z 18

Temat: Mój kawałek kodu.

  1. #16

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    16

    Domyślny

    Kod:
                float crossPoint01 =
                (
                ((startPoint.Key * endPoint.Value - startPoint.Value * endPoint.Key) * (startTriangle.vertex0.X - startTriangle.vertex1.X)) -
                ((startTriangle.vertex0.X * startTriangle.vertex1.Y - startTriangle.vertex0.Y * startTriangle.vertex1.X) * (startPoint.Key - endPoint.Key))
                ) / (
                ((startPoint.Key - endPoint.Key) * (startTriangle.vertex0.Y - startTriangle.vertex1.Y)) - (startPoint.Value - endPoint.Value) * (startTriangle.vertex0.X - startTriangle.vertex1.X)
                );
    Równanie prostych dla boku trójkąta i raya zdefiniowanego przez punkty startPoint i endPoint. Część mojego raytracera, którego uzywam w projekcie.

  2. #17
    konto usunięte

    Domyślny

    Prosta klasa dla callbacków.

    Kod:
    #include <vector>
    
    template<class RT, class AT, class OT>
    class Callback
    {
    	typedef RT (*tCallbackF)(AT arg);
    	typedef RT (OT::*tCallbackM)(AT arg);
    
    	typedef std::vector<tCallbackF> tCallbackListF;
    	typedef std::pair<OT*,tCallbackM> tCallbackMp;
    	typedef std::vector<tCallbackMp> tCallbackListM;
    
    	tCallbackListF			m_callbackListF;
    	tCallbackListM			m_callbackListM;
    	
    public:
    	void registerListener(OT*, tCallbackM method);
    	void registerListener(tCallbackF method);
    
    	void notify(AT arg);
    	
    };
    
    template<class RT, class AT, class OT>
    void Callback<RT, AT, OT>::notify(AT arg)
    {
    	for (auto f : m_callbackListF)
    		f(arg);
    	
    	for (auto m : m_callbackListM)
    		(m.first->*m.second)(arg);
    }
    
    template<class RT, class AT, class OT>
    void Callback<RT, AT, OT>::registerListener(tCallbackF method)
    {
    	m_callbackListF.push_back(method);
    }
    
    template<class RT, class AT, class OT>
    void Callback<RT, AT, OT>::registerListener(OT* obj, tCallbackM method)
    {
    	tCallbackMp pair(obj, method);
    	m_callbackListM.push_back(pair);
    }

    Oraz użycie:

    Kod:
    #include "Callback.h"
    
    class Test
    {
    public:
    	Test() { }
    	void foo(int x) { std::cout << "Test::foo() called: " << x << std::endl; }
    };
    
    void bar(int x)
    {
    	{ std::cout << "bar() called: " << x << std::endl; }
    }
    
    int main()
    {
    	Test test;
    
    	Callback<void, int, Test> callback;
    	callback.registerListener(&test, &Test::foo);
    	callback.registerListener(&bar);
    
    	callback.notify(10);
    
    	return 0;
    }

  3. Reklama
  4. #18

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    16

    Domyślny

    Zadanie na konkurs MasterCoder numer siedem - Algorytm Dijkstry na nietypowym nieskierowanym grafie , kolejka priorytetowa została napisana w oparciu o implementację z neta xD

    https://anonfiles.com/file/a886d423f...d67ca4fdc2758e

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Kawałek od znamojego ( Rap )
    Przez Alex Fortune w dziale Muzyka
    Odpowiedzi: 7
    Ostatni post: 26-02-2014, 07:24
  2. Kawałek z mocnym bassem w refrenie
    Przez kernilov w dziale Muzyka
    Odpowiedzi: 2
    Ostatni post: 27-09-2013, 23:22
  3. Kawałek - rap.
    Przez mlody100200 w dziale Muzyka
    Odpowiedzi: 2
    Ostatni post: 04-07-2012, 15:47
  4. Odpowiedzi: 8
    Ostatni post: 27-12-2011, 12:37
  5. Co to za kawałek?
    Przez bober1761990 w dziale Muzyka
    Odpowiedzi: 0
    Ostatni post: 08-12-2011, 22:00

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •