Dokumentacja przestrzeni nazw common

Główna przestrzeń nazw biblioteki CommonLib. Więcej...


Komponenty

class  Singleton
 Wzorzec projektowy Singleton - klasa bazowa. Więcej...
class  DeletePolicy
 Polityka zwalaniania inteligentnych wskaźników, która robi: delete p;. Więcej...
class  DeleteArrayPolicy
 Polityka zwalaniania inteligentnych wskaźników, która robi: delete [] p;. Więcej...
class  ReleasePolicy
 Polityka zwalaniania inteligentnych wskaźników, która robi: p->Release();. Więcej...
class  scoped_ptr
 Inteligentny wskaźnik z wyłącznym prawem własności. Więcej...
class  shared_ptr
 Inteligentny wskaźnik ze zliczaniem referencji. Więcej...
class  CloseHandlePolicy
 Polityka zwalniania uchwytu - robi: CloseHandle(p);. Więcej...
class  DeleteObjectPolicy
 Polityka zwalniania uchwytu - robi: DeleteObject(p);. Więcej...
class  scoped_handle
 Inteligentny uchwyt - wyłączna własność. Więcej...
class  shared_handle
 Inteligentny uchwyt ze zliczaniem referencji. Więcej...
class  StringNaturalCompare
 Klasa do porównywania w porządku naturalnym. Więcej...
class  StringNaturalLess
 Predykat do sortowania łańcuchów w porządku naturalnym. Więcej...
class  StringNaturalGreater
 Predykat do sortowania łańcuchów w porządku naturalnym. Więcej...
class  StrLessCi
 Predykat do porównywania łańcuchów bez rozróżniania wielkości liter. Więcej...
class  StrGreaterCi
 Predykat do porównywania łańcuchów bez rozróżniania wielkości liter. Więcej...
class  TimeMeasurer
 Klasa do precyzyjnego mierzenie czasu. Więcej...
class  RandomGenerator
 Generator liczb pseudolosowych. Więcej...
class  UniqueGenerator
 Generator unikatowych identyfikatorów. Więcej...
class  CmdLineParser
 Parser wiersza poleceń. Więcej...
class  Format_pimpl
class  Format
 Klasa do wygodnego składania stringów z różnych informacji. Więcej...
class  Item
 Abstrakcyjna klasa bazowa dla elementów konfiguracji. Więcej...
class  Value
 Wartość tekstowa - przechowuje łańcuch. Więcej...
class  List
 Lista, czyli tak naprawdę wektor stringów. Więcej...
class  Config
 Konfiguracja. Więcej...
struct  DATESPAN
 Reprezentuje odcinek czasu. Więcej...
struct  TIMESPAN
 Reprezentuje odcinek czasu. Więcej...
struct  TMSTRUCT
 Reprezentuje moment czasu. Więcej...
struct  DATETIME
 Reprezentuje moment czasu. Więcej...
class  GenericDator
 Klasa bazowa datora. Więcej...
class  Dator
 Ogólny dator danego typu. Więcej...
class  common::Dator< const T >
 Częściowa specjalizacja datora dla wartości stałej. Więcej...
class  DatorGroup
 Grupa datorów. Więcej...
class  Error
 Klasa bazowa błędów. Więcej...
class  ErrnoError
 Wyjątek utworzony z systemowego błędu errno. Więcej...
class  SDLError
 Wyjątek z błędem pobranym z biblioteki SDL za pomocą SDLError. Więcej...
class  OpenGLError
 Wyjątek z błędem pobranym z biblioteki OpenGL za pomocą OpenGLError. Więcej...
class  FmodError
 Wyjątek z błędem pobranym z biblioteki dźwiękowej FMOD. Więcej...
class  Win32Error
 Tworzy wyjątek na podstawie błędu WinAPI pobieranego za pomocą GetLastError. Więcej...
class  DirectXError
 Tworzy wyjątek na podstawie błędu biblioteki Direct3D. Więcej...
class  WinSockError
 Tworzy wyjątek na podstawie błędu biblioteki WinSock. Więcej...
class  DevILError
 Tworzy wyjątek na podstawie błędu biblioteki graficznej DevIL. Więcej...
class  AVIFileError
 Tworzy wyjątek na podstawie błędu biblioteki AviFile (część WinAPI). Więcej...
class  FileStream
 Strumień plikowy. Więcej...
class  DirLister
 Klasa do listowania zawartości katalogu. Więcej...
class  FreeList
 Alokator posiadający stałą pulę pamięci. Więcej...
class  DynamicFreeList
 Alokator z samorozszerzeającą się pulą pamięci. Więcej...
class  Logger
 Logger - klasa główna systemu logującego. Więcej...
class  ILog
 Abstrakcyjna kasa bazowa wszelkich logów. Więcej...
class  TextFileLog
 Log do pliku TXT. Więcej...
class  HtmlFileLog
 Log do pliku HTML. Więcej...
class  OstreamLog
 Log zapisujący do strumienia wyjściowego biblioteki standardowej C++ - std::ostream. Więcej...
struct  POINT_
 Punkt 2D z liczb całkowitych. Więcej...
struct  VEC2
 Wektor floatów 2D. Więcej...
struct  VEC3
 Wektor floatów 3D. Więcej...
struct  VEC4
 Wektor floatów 4D. Więcej...
struct  RECTI
 Prostokąt z liczb całkowitych. Więcej...
struct  RECTF
 Prostokąt z 4 floatów. Więcej...
struct  BOX
 AABB z 2 punktów 3D. Więcej...
struct  COLOR
 Kolor w formacie A8R8G8B8. Więcej...
struct  COLORF
 Kolor z 4 liczb typu float - R, G, B, A. Więcej...
struct  PLANE
 Płaszczyzna. Więcej...
struct  LINE2D
 Prosta 2D. Więcej...
struct  MATRIX
 Macierz 4 x 4. Więcej...
struct  QUATERNION
 Kwaternion. Więcej...
struct  FRUSTUM_PLANES
 Frustum opisany 6 płaszczyznami z wektorami normalnymi zwróconymi do wewnątrz. Więcej...
struct  FRUSTUM_POINTS
 Frustum zapisany jako 8 wierzchołków. Więcej...
class  FRUSTUM_RADAR
 Frustum - reprezentacja radarowa. Więcej...
class  SmoothCD_obj
class  ProfilerItem
 Pozycja danych profilera. Więcej...
class  Profiler
 Profiler. Więcej...
class  Profile
 Klasa, której obiekt możesz dla wygody utworzyć zamiast wywoływać Begin i End profilera. Więcej...
class  Stream
 Abstrakcyjna klasa bazowa strumieni danych binarnych. Więcej...
class  SeekableStream
 Abstrakcyjna klasa bazowa strumieni pozwalających na odczytywanie rozmiaru i zmianę pozycji. Więcej...
class  CharWriter
 Nakładka przyspieszająca zapisująca do strumienia pojedyncze znaki i inne rzeczy. Więcej...
class  WCharWriter
 Nakładka przyspieszająca zapisująca do strumienia pojedyncze znaki Unicode. Więcej...
class  CharReader
 Nakładka przyspieszająca odczytująca ze strumienia pojedyncze znaki i inne rzeczy. Więcej...
class  WCharReader
 Nakładka przyspieszająca odczytująca ze strumienia pojedyncze znaki Unicode. Więcej...
class  MemoryStream
 Strumień pamięci statycznej. Więcej...
class  VectorStream
 Strumień pamięci, ale dynamicznej. Więcej...
class  StringStream
 Strumień oparty na łańcuchu std::string. Więcej...
class  OverlayStream
 Abstrakcyjna klasa bazowa nakładek na strumienie. Więcej...
class  CounterOverlayStream
 Nakładka na strumień zliczająca ilość zapisanych i odczytanych bajtów. Więcej...
class  LimitOverlayStream
 Nakładka na strumień ograniczająca liczbę odczytywanych i zapisywanych bajtów. Więcej...
class  MultiWriterStream
 Zapisuje zapisywane dane do wielu podłączonych do niego strumieni na raz. Więcej...
class  Hash_Calc
 Klasa obliczająca hash 32-bitowy z kolejno podawanych bloków danych. Więcej...
class  CRC32_Calc
 Klasa obliczająca sumę CRC32 z kolejno podawanych bloków danych. Więcej...
struct  MD5_SUM
 Suma MD5. Więcej...
class  MD5_Calc
 Klasa obliczająca sumę MD5 z kolejno podawanych bloków danych. Więcej...
class  XorCoder
 Koduje lub dekoduje zapisywane/odczytywane bajty XOR podany bajt lub ciąg bajtów. Więcej...
class  BinEncoder
 Koduje strumień binarnych danych wejściowych na ciąg złożony ze znaków '0' i '1' (po 8 na każdy bajt). Więcej...
class  BinDecoder
 Dekoduje ciąg znaków wejściowych zapisanych binarnie (znakami '0' i '1') na dane binarne. Więcej...
class  HexEncoder
 Koduje strumień binarnych danych wejściowych na zapis szesnastkowy (po 2 znaki na każdy bajt). Więcej...
class  HexDecoder
 Dekoduje ciąg znaków wejściowych zapisanych szesnastkowo na dane binarne. Więcej...
class  Base64Encoder
 Koduje strumień binarnych danych wejściowych na ciąg znaków base64. Więcej...
class  Base64Decoder
 Dekoduje ciąg znaków wejściowych zapisanych w standardzie base64 na dane binarne. Więcej...
class  RingBuffer
 Bufor kołowy. Więcej...
class  Thread
 Klasa bazowa wątku. Więcej...
class  Mutex
 Muteks. Więcej...
class  MutexLock
 Klasa pomagająca blokować muteks. Więcej...
class  Semaphore
 Semafor zliczający. Więcej...
class  Cond
 Zmienna warunkowa. Więcej...
class  Barrier
 Bariera. Więcej...
class  Event
 Zdarzenie. Więcej...
class  TokenizerError
 Klasa błędu dla tokenizera. Więcej...
class  Tokenizer
 Tokenizer. Więcej...
class  ZlibError
 Klasa wyjątku dla błędu zgłoszonego przez bibliotekę zlib. Więcej...
class  ZlibCompressionStream
 Strumień do zapisu, który kompresuje dane w formacie zlib. Więcej...
class  GzipCompressionStream
 Strumień do zapisu, który kompresuje w formacie gzip dołączając nagłówek gzip z podanymi parametrami. Więcej...
class  ZlibDecompressionStream
 Strumień do odczytu dekompresujący dane w formacie Zlib. Więcej...
class  GzipDecompressionStream
 Strumień do odczytu, który dekompresuje dane w formacie gzip odczytując też nagłówek. Więcej...
class  GzipFileStream
 Obsługa pliku w formacie gzip (zalecane rozszerzenie ".gz"). Więcej...

Wyliczenia

enum  ORIENTATION { O_NONE, O_VERT, O_HORIZ }
 Orientacja, czyli ułożenie - pionowa lub pozioma. Więcej...
enum  EOLMODE { EOL_NONE, EOL_CRLF, EOL_LF, EOL_CR }
 Rodzaje znaków końca wiersza. Więcej...
enum  CHARSET {
  CHARSET_NONE = 0, CHARSET_WINDOWS, CHARSET_ISO, CHARSET_IBM,
  CHARSET_UTF8
}
 Strona kodowa polskich znakow. Więcej...
enum  WEEKDAY {
  SUN, MON, TUE, WED,
  THU, FRI, SAT, INV_WEEKDAY
}
 Dzień tygodnia. Więcej...
enum  MONTH {
  JAN, FEB, MAR, APR,
  MAY, JUN, JUL, AUG,
  SEP, OCT, NOV, DEC,
  INV_MONTH
}
 Miesiąc roku. Więcej...
enum  NAME_FORM {
  NAME_SHORT = 0x00, NAME_LONG = 0x01, NAME_LOWERCASE = 0x00, NAME_FIRST_UPPERCASE = 0x10,
  NAME_UPPERCASE = 0x20, NAME_SHORT_LOWERCASE = 0x00, NAME_SHORT_FIRST_UPPERCASE = 0x10, NAME_SHORT_UPPERCASE = 0x20,
  NAME_LONG_LOWERCASE = 0x01, NAME_LONG_FIRST_UPPERCASE = 0x11, NAME_LONG_UPPERCASE = 0x21
}
 Flagi bitowe - należy połączyć razem flagę SHORT/LONG z flagą LOWERCASE/FIRST_UPPERCASE/UPPERCASE lub użyć jednej z już połączonych. Więcej...
enum  FILE_ITEM_TYPE { IT_NONE, IT_DIR, IT_FILE }
 Rodzaj elementu systemu plików. Więcej...
enum  FILE_MODE {
  FM_WRITE, FM_WRITE_PLUS, FM_READ, FM_READ_PLUS,
  FM_APPEND, FM_APPEND_PLUS
}
 Tryb otwarcia pliku. Więcej...
enum  FILE_ENCODING {
  FILE_ENCODING_UTF16_LE = 1, FILE_ENCODING_UTF8 = 2, FILE_ENCODING_ANSI = 3, FILE_ENCODING_FORCE_BOM = 0x00010000,
  FILE_ENCODING_NO_BOM = 0x00020000, FILE_ENCODING_AUTODETECT = 0x00040000
}
 Kodowanie pliku tekstowego. Więcej...
enum  LOG_FILE_MODE { FILE_MODE_NORMAL, FILE_MODE_FLUSH, FILE_MODE_REOPEN }
 Tryby, w jakich może pracować logger plikowy. Więcej...
enum  DECODE_TOLERANCE { DECODE_TOLERANCE_NONE, DECODE_TOLERANCE_WHITESPACE, DECODE_TOLERANCE_ALL }
 Tolerancja błędów podczas dekodowania danych zapisanych tekstowo. Więcej...
enum  GZIP_FILE_MODE { GZFM_WRITE, GZFM_READ }
 Tryb otwarcia pliku GZip. Więcej...

Funkcje

template<typename T>
bool IsPow2 (T x)
 Zwraca true, jeśli podana liczba jest potęgą dwójki.
uint4 log2u (uint4 x)
 Zwraca logarytm dwójkowy z podanej liczby całkowitej bez znaku, tzn numer najstarszego niezerowego bitu.
uint4 GetBitMask (uint4 n)
 Zwraca maskę bitową z ustawionymi na jedynkę n najmłodszymi bitami.
template<typename T>
T ** new_2d (size_t cx, size_t cy)
 Alokuje nową tablicę dynamiczną 2D.
template<typename T>
void delete_2d (T **a, size_t cx)
 Zwalnia tablicę dynamiczną 2D.
void strcpy0 (tchar *dest, const tstring &src)
 Kopiuje string do char* łącznie ze znakami '\0' (czego nie zapewnia strcpy).
void ZeroMem (void *Data, size_t NumBytes)
 Zeruje pamięć.
void CopyMem (void *Out, const void *In, size_t NumBytes)
 Kopuje pamięć.
bool CompareMem (const void *Data1, const void *Data2, size_t NumBytes)
 Zwraca true, jeśli pamięć jest identyczna.
void FillMem (void *Data, size_t NumBytes, uint1 Byte)
 Wypełnia pamięć podanym bajtem.
template<class Iterator>
void InsertionSort (Iterator b, Iterator e)
 Algorytm jak te z STL - sortowanie przez wstawianie.
template<class Iterator, typename Compare>
void InsertionSort (Iterator b, Iterator e, Compare Comp)
 Algorytm jak te z STL - sortowanie przez wstawianie, z własnym komparatorem.
template<typename T, typename PolicyT>
void swap (scoped_ptr< T, PolicyT > &a, scoped_ptr< T, PolicyT > &b)
template<typename T, typename PolicyT>
void swap (shared_ptr< T, PolicyT > &a, shared_ptr< T, PolicyT > &b)
template<typename T, typename PolicyT>
void swap (scoped_handle< T, PolicyT > &a, scoped_handle< T, PolicyT > &b)
template<typename T, typename PolicyT>
void swap (shared_handle< T, PolicyT > &a, shared_handle< T, PolicyT > &b)
bool CharIsAlphaNumeric (tchar ch)
 Zwraca true, jesli znak jest alfanumeryczny (litera lub cyfra) wg ustawień systemu.
bool CharIsAlpha (tchar ch)
 Zwraca true, jesli znak jest litera.
bool CharIsDigit (tchar ch)
 Zwraca true, jesli znak jest cyfrą dziesietną.
bool CharIsHexDigit (tchar ch)
 Zwraca true, jeśli znak jest cyfrą szesnastkową.
bool CharIsLower (tchar ch)
 Zwraca true, jesli znak jest mala litera.
bool CharIsUpper (tchar ch)
 Zwraca true, jesli znak jest duza litera.
bool CharIsWhitespace (char ch)
 Zwraca true, jesli podany znak jest odstepem, czyli bialym znakiem wg systemu.
bool CharIsWhitespace (wchar_t ch)
bool CharIsWhitespace_f (tchar ch)
 Zwraca true, jesli podany znak jest odstepem, czyli bialym znakiem.
void ReverseString (tstring *s)
 Odwraca łańcuch w miejscu.
void Trim (tstring *s)
 Obcina białe znaki z początku i końca łańcucha w miejscu.
void Trim (tstring *Out, const tstring &s)
 Obcina białe znaki z początku i końca łańcucha.
tchar CharToLower (tchar ch)
 Jeśli to litera, konwertuje na małą.
tchar CharToUpper (tchar ch)
 Jeśli to litera, konwertuje na dużą.
void LowerCase (tstring *s)
 Konwertuje łańcuch na małe litery.
void LowerCase (tstring *Out, const tstring &s)
void UpperCase (tstring *s)
 Konwertuje łańcuch na duże.
void UpperCase (tstring *Out, const tstring &s)
bool Charset_WindowsSpecialChar (char a_c, string *a_s)
 Zmienia znak specjalny kodowania Windows-1250 na odpowiednik normalny.
char Charset_Convert_Char (char a_c, CHARSET a_Charset1, CHARSET a_Charset2)
 Zmienia znak z jednej strony kodowej na druga lub pozostawia bez zmian.
void Charset_Convert (string *out, const string &s, CHARSET Charset1, CHARSET Charset2)
 Konwertuje lancuch na podana strone kodowa.
void Rot13 (tstring *InOut)
 Szyforowanie/deszyfrowanie algorytmem ROT13.
void Rot13 (tstring *Out, const tstring &In)
void EolModeToStr (tstring *Out, EOLMODE EolMode)
 Rodzaj znaku końca wiersza na odpowiadający mu znak (lub znaki).
void Replace (tstring *result, const tstring &s, const tstring &s1, const tstring &s2)
 Zamienia w łańcuchu wszystkie wystąpienia jedego podłańcucha na drugi.
void Replace (tstring *Out, const tstring &s, tchar Ch1, tchar Ch2)
 Zmienia w łańcuchu wszystkie wystąpienia znaku Ch1 na Ch2.
void Replace (tstring *InOut, tchar Ch1, tchar Ch2)
 Zmienia w łańcuchu wszystkie wystąpienia znaku Ch1 na Ch2 w miejscu.
void ReplaceEOL (tstring *result, const tstring &s, EOLMODE EOLMode)
 Zmienia wszelkiego rodzaju znaki końca wiersza w poddanym tekście na takie same - wg podanego trybu.
void NormalizeWhitespace (tstring *result, const tstring &s)
 Zamienia wszystkie odstępy na pojedyncze spacje.
void DupeString (tstring *Out, const tstring &s, size_t count)
 Zwraca łańcuch powtórzony podaną liczbę razy.
void RightStr (tstring *Out, const tstring &s, size_t Length)
 Zwraca podłańcuch z prawej strony.
size_t SubstringCount (const tstring &str, const tstring &substr)
 Zwraca liczbę wystąpień podłańcucha.
bool StrEqualI (const tstring &s1, const tstring &s2)
 Zwraca true, jeśli podane łańcuchy są równe bez rozróżniania wielkości liter.
bool SubStrEqual (const tstring &s1, size_t off1, const tstring &s2, size_t off2, size_t length)
 Zwraca true, jeśli podfragmenty podanych łańcuchów są identyczne.
bool SubStrEqualI (const tstring &s1, size_t off1, const tstring &s2, size_t off2, size_t length)
 Zwraca true, jeśli podfragmenty podanych łańcuchów są identyczne nie rozróżniając wielkości liter.
bool ContainsEOL (const tstring &s)
 Czy łańcuch zawiera znaki końca wiersza?
bool StrBegins (const tstring &s, const tstring &sub, size_t Begin=0)
 Zwraca true, jesli podany lancuch zaczyna sie od podanego podlancucha.
bool StrEnds (const tstring &s, const tstring &Sub)
 Zwraca true, jeśli podany łańcuch kończy się podanym podłańcuchem.
bool Split (const tstring &s, const tstring &delimiter, tstring *out, size_t *index)
 Kolejne wywołania rozdzielają łańcuch na kolejne elementy oddzielone w jego treści określonym podłańcuchem.
bool SplitFirstOf (const tstring &s, const tstring &delimiters, tstring *out, size_t *index)
 Działa jak Split(), ale łańcuchem rozdzielającym jest każdy dowolny znak z delimiters.
void Split (STRING_VECTOR *Out, const tstring &s, const tstring &Delimiter)
 Dzieli łańcuch na części i zwraca je jako wektor.
bool SplitEOL (const tstring &s, tstring *out, size_t *index)
 Kolejne wywołania rozdzielają łańcuch na kolejne elementy oddzielone w jego treści którąś z sekwencji uznawaną za koniec wiersza (czyli na kolejne wiersze).
bool SplitQuery (const tstring &s, tstring *out, size_t *index)
 Kolejne wywołania rozdzielają łańcuch na elementy oddzielone odstępami uwzględniając ciągi obięte w cudzysłowy "" jako całość.
bool ValidateWildcard (const tstring &Mask, const tstring &S, bool CaseSensitive=true, size_t MaskOff=0, size_t SOff=0)
 Sprawdza, czy podany łancuch jest zgodny z podaną maską mogącą zawierać znaki wieloznaczne.
float FineSearch (const tstring &SubStr, const tstring &Str)
 Zwraca zmiennoprzecinkową trafność wyszukiwania stringa SubStr w stringu Str.
size_t LevenshteinDistance (const tstring &s1, const tstring &s2)
 Odległość edycyjna między dwoma łańcuchami.
size_t LevenshteinDistanceI (const tstring &s1, const tstring &s2)
 Odległość edycyjna między dwoma łańcuchami bez uwzględniania wielkości liter.
bool ConvertUnicodeToChars (string *Out, const wstring &S, unsigned CodePage)
bool ConvertUnicodeToChars (string *Out, const wchar_t *S, unsigned NumChars, unsigned CodePage)
bool ConvertCharsToUnicode (wstring *Out, const string &S, unsigned CodePage)
bool ConvertCharsToUnicode (wstring *Out, const char *S, unsigned NumChars, unsigned CodePage)
bool TstringToString (string *Out, const tstring &S)
bool StringToTstring (tstring *Out, const string &S)
bool TstringToWstring (wstring *Out, const tstring &S)
bool WstringToTstring (tstring *Out, const wstring &S)
string TstringToStringR (const tstring &S)
tstring StringToTstringR (const string &S)
wstring TstringToWstring (const tstring &S)
tstring WstringToTstring (const wstring &S)
bool PathIsAbsolute (const tstring &s)
 Zwraca true, jeśli ścieżka jest bezwzględna.
void IncludeTrailingPathDelimiter (tstring *InOutPath)
 Dodaje do sciezki konczacy '/' lub '\', jesli go nie ma - na miejscu.
void IncludeTrailingPathDelimiter (tstring *OutPath, const tstring &InPath)
 Dodaje do sciezki konczacy '/' lub '\', jesli go nie ma - do nowego stringa.
void ExcludeTrailingPathDelimiter (tstring *InOutPath)
 Pozbawia sciezke konczacego '/' lub '\', jesli go ma - na miejscu.
void ExcludeTrailingPathDelimiter (tstring *OutPath, const tstring &InPath)
 Pozbawia sciezke konczacego '/' lub '\', jesli go ma - do nowego stringa.
void ExtractPathPrefix (tstring *OutPrefix, const tstring &s)
 Zwraca początek ścieżki, w postaci takiej jak "C:\", "\\komputer\udział\" czy "/" albo "\".
void ExtractFilePath (tstring *OutPath, const tstring &s)
 Zwraca ścieżkę do pliku bez nazwy pliku.
void ExtractFileName (tstring *OutFileName, const tstring &s)
 Zwraca samą nazwę pliku bez ścieżki.
void ExtractFileExt (tstring *OutExt, const tstring &s)
 Zwraca rozszerzenie pliku wraz z kropką.
void ChangeFileExt (tstring *Out, const tstring &FileName, const tstring &Ext)
 Zmienia w nazwie pliku rozszerzenie na nowe.
void NormalizePath (tstring *OutPath, const tstring &s)
 Pozbawia sciezke artefaktow typu ".\\" czy "..\\".
void RelativeToAbsolutePath (tstring *Out, const tstring &Base, const tstring &Path)
 Przetwarza sciezke wzgledna na bezwzgledna wzgledem okreslonej sciezki.
void AbsoluteToRelativePath (tstring *Out, const tstring &Base, const tstring &Target)
 Przetwarza sciezke bezwzgledna na wzgledna wzgledem okreslonej sciezki.
int HexDigitToNumber (char Ch)
 Zwraca liczbowy odpowiednik cyfry szesnastkowej.
int HexDigitToNumber (wchar_t Ch)
template<typename T>
void UintToStr (tstring *Out, T x, uint4 Base=10, bool UpperCase=true)
 Konwersja liczby całkowitej na łańcuch.
template<typename T>
void IntToStr (tstring *Out, T x, uint4 Base=10, bool UpperCase=true)
template<typename T>
bool _CharToDigit (T *Digit, tchar ch)
 Konwertuje znak cyfry w dowolknym systemie ('0'..'9', 'A'..'Z', 'a'..'z') na liczbę, zwraca false jeśli błąd.
template<typename T>
int StrToUint (T *Number, const tstring &str, unsigned Base=10)
 Konwersja łańcucha na liczbę całkowitą.
template<typename T>
int StrToInt (T *Number, const tstring &str, unsigned Base=10)
template<typename T>
tstring IntToStrR (T x, int base=10, bool UpperCase=true)
template<typename T>
tstring UintToStrR (T x, int base=10, bool UpperCase=true)
void Size_tToStr (tstring *Out, size_t x, size_t Base=10, bool UpperCase=true)
tstring Size_tToStrR (size_t x, size_t Base=10, bool UpperCase=true)
template<typename T>
void UintToStr2 (tstring *Out, T x, unsigned Length, int base=10)
 Konwersja liczby na łańcuch o minimalnej podanej długości.
template<typename T>
void IntToStr2 (tstring *Out, T x, unsigned Length, int base=10)
template<typename T>
tstring UintToStr2R (T x, unsigned Length, int Base=10)
template<typename T>
tstring IntToStr2R (T x, unsigned Length, int Base=10)
void CharToStr (tstring *Out, tchar ch)
 Konwertuje znak na łańcuch, jako że automatycznie to się niestety nie odbywa.
tstring CharToStrR (tchar ch)
void DoubleToStr (tstring *Out, double x, char Mode= 'g', int Precision=6)
 Konwersja liczb zmiennoprzecinkowych na łańcuch.
void FloatToStr (tstring *Out, float x, char Mode= 'g', int Precision=6)
tstring DoubleToStrR (double x, char Mode= 'g', int Precision=6)
tstring FloatToStrR (float x, char Mode= 'g', int Precision=6)
int StrToDouble (double *out, const tstring &s)
 Konwersja łańcucha na liczbę zmiennoprzecinkową.
int StrToFloat (float *out, const tstring &s)
void BoolToStr (tstring *Out, bool x, char mode= 'f')
 Konwertuje wartość logiczną na łańcuch.
tstring BoolToStrR (bool x, char mode= 'f')
bool StrToBool (bool *result, const tstring &s)
 Konwertuje łańcuch na wartość logiczną.
void PtrToStr (tstring *Out, const void *p)
 Konwertuje wskaźnik na łańcuch 8 znaków zapisany szesnastkowo.
tstring PtrToStrR (const void *p)
template<typename T>
void SizeToStr (tstring *str, T size, bool Space, int Precision)
 Liczba bajtów na łańcuch z rozmiarem np. "1 B", "10.5 kB".
template<typename T>
tstring SizeToStrR (T Size, bool Space, int Precision)
void Wait (uint4 Miliseconds)
 Zatrzymuje bieżący wątek na podaną liczbę milisekund.
bool is_finite (float x)
 Zwraca true, jeśli liczba jest niezwyczajna (INF lub NaN).
bool is_finite (double x)
 Zwraca true, jeśli liczba jest niezwyczajna (INF lub NaN).
bool is_nan (float x)
 Zwraca true, jeśli liczba jest NaN.
bool is_nan (double x)
 Zwraca true, jeśli liczba jest NaN.
template<typename T>
T safe_add (T a, T b)
 Dodaje dwie liczby z ograniczeniem zakresu zamiast zawinięcia przy przepełnieniu.
template<typename T>
T safe_sub (T a, T b)
 Odejmuje dwie liczby z ograniczeniem zakresu zamiast zawinięcia przy przepełnieniu.
template<typename T>
T safe_mul (T a, T b)
 Mnoży dwie liczby z ograniczeniem zakresu zamiast zawinięcia przy przepełnieniu.
float safe_acos (float x)
 Bezpieczny arcus cosinus, ogranicza zakres wejściowy do -1...+1 zwracając w razie przekrocznia skrajne wartości wyniku.
int round (float x)
 Zaokrągla liczbę, zamiast ją obcinać.
int round (double x)
template<typename T>
T ceil_div (T x, T y)
 Dzieli 2 liczby całkowite zaokrąglając wynik w górę.
bool around (float x, float epsilon)
 Zwraca true, jeśli liczba leży w epsilonowym otoczeniu zera.
bool around (double x, double epsilon)
bool around (float x, float y, float epsilon)
 Zwraca true, jeśli liczba leży w epsilonowym otoczeniu drugiej liczby.
bool around (double x, double y, double epsilon)
bool float_equal (float x, float y)
 Zwraca true, jeśli dwie liczby zmiennoprzecinkowe są praktycznie równe.
bool double_equal (double x, double y)
uint4 greater_power_of_2 (uint4 x)
 Zwraca najmniejszą potęgę dwójki większą lub równą podanej liczbie.
template<typename T>
T powi (T a, uint4 b)
 Liczy potęge o całkowitym wykładniku (bardzo szybko!).
template<typename T>
T max3 (const T &a, const T &b, const T &c)
 Zwraca największą z podanych 3 liczb.
template<typename T>
T min3 (const T &a, const T &b, const T &c)
 Zwraca najmniejszą z podanych 3 liczb.
template<typename T>
T minmax (const T &a, const T &x, const T &b)
 Zwraca liczbę x ograniczoną do podanego zakresu od a do b.
float trunc (float x)
 Zwraca część całkowitą liczby wraz ze znakiem.
double trunc (double x)
float frac (float x)
 Zwraca część ułamkową liczby wraz ze znakiem.
double frac (double x)
float Lerp (float x, float y, float t)
 Interpolacja liniowa 1D (t = 0..1).
float SafeLerp (float x, float y, float t)
 Interpolacja liniowa 1D (t jest ograniczane do 0..1).
float Lerp2D (float x11, float x21, float x12, float x22, float tx, float ty)
 Interpolacja liniowa 2D.
float NormalizeAngle (float angle)
 Normalizuje kąt do przedziału < 0..2PI ).
float NormalizeAngle2 (float Angle)
 Normalizuje kąt do przedziału -PI..+PI.
float DegToRad (float Angle)
 Przelicza kąt ze stopni na radiany.
float RadToDeg (float Angle)
 Przelicza kąt z radianów na stopnie.
float AngleDiff (float A, float B)
 Oblicza różnicę kątów A-B, gdzie A, B należą do: 0..2*PI.
void SmoothCD (float *InOutPos, float Dest, float *InOutVel, float SmoothTime, float TimeDelta)
 Funkcja wygładzająca - Critically Damped Smoothing.
void SmoothCD (float *InOutPos, float Dest, float *InOutVel, float SmoothTime, float TimeDelta, float MaxSpeed)
float Trapezoidal (float x, float a, float b, float c, float d)
 Zwraca liczbę z przedziału 0..1, zależnie od wartości x względem brzegów trapezu a, b, c, d.
float Trapezoidal (float x, float a, float b, float c, float d, float min, float max)
 Jak Trapezoidal(), ale zamiast 0..1 zwraca liczbę z przedziału min..max.
int QuadraticEquation (float a, float b, float c, float *Out_x1, float *Out_x2)
 Równanie kwadratowe a*x^2 + b*x + c = 0.
float PerlinNoise1 (float x)
float PerlinNoise2 (float x, float y)
float PerlinNoise3 (float x, float y, float z)
float BrownianNoise1 (float x, uint i, float Persistence)
float BrownianNoise2 (float x, float y, uint i, float Persistence)
float BrownianNoise3 (float x, float y, float z, uint i, float Persistence)
float WaveformSine (float x, float Base, float Amplitude, float Frequency, float Phase)
 Standard sine wave which smoothly changes from low to high and back again.
float WaveformSine (float x)
float WaveformTriangle (float x, float Base, float Amplitude, float Frequency, float Phase)
 An angular wave with a constant increase / decrease speed with pointed peaks.
float WaveformTriangle (float x)
float WaveformSquare (float x, float Base, float Amplitude, float Frequency, float Phase)
 Half of the time is spent at the min, half at the max with instant transition between.
float WaveformSquare (float x)
float WaveformSawtooth (float x, float Base, float Amplitude, float Frequency, float Phase)
 Gradual steady increase from min to max over the period with an instant return to min at the end.
float WaveformSawtooth (float x)
float WaveformInvSawtooth (float x, float Base, float Amplitude, float Frequency, float Phase)
 Gradual steady decrease from max to min over the period, with an instant return to max at the end.
float WaveformInvSawtooth (float x)
float WaveformPWM (float x, float DutyCycle, float Base, float Amplitude, float Frequency, float Phase)
 Pulse Width Modulation.
float WaveformPWM (float x, float DutyCycle)
template<typename T>
const Format operator% (const Format &fmt, const T &x)
const Format operator% (const Format &fmt, const tchar *x)
DATESPAN operator+ (const DATESPAN &ds1, const DATESPAN &ds2)
DATESPAN operator- (const DATESPAN &ds1, const DATESPAN &ds2)
DATESPAN operator* (const DATESPAN &ds, int n)
DATESPAN operator* (int n, const DATESPAN &ds)
TIMESPAN operator* (const TIMESPAN &t, int n)
TIMESPAN operator* (int n, const TIMESPAN &t)
TIMESPAN operator+ (const TIMESPAN &t1, const TIMESPAN &t2)
TIMESPAN operator- (const TIMESPAN &t1, const TIMESPAN &t2)
TMSTRUCT operator+ (const TMSTRUCT &tm, const DATESPAN &ds)
TMSTRUCT operator- (const TMSTRUCT &tm, const DATESPAN &ds)
TIMESPAN operator- (const DATETIME &dt1, const DATETIME &dt2)
DATETIME operator+ (const DATETIME &dt, const TIMESPAN &ts)
DATETIME operator- (const DATETIME &dt, const TIMESPAN &ts)
bool IsLeapYear (int Year)
 Zwraca true, jeśli podany rok jest przestępny.
uint GetNumOfDaysInYear (int Year)
 Zwraca liczbę dni w podanym roku (365 lub 366).
uint GetNumOfDaysInMonth (int Year, uint Month)
 Zwraca liczbę dni w podanym miesiącu podanego roku.
int GetCentury (int Year)
 Zwraca wiek podanego roku.
time_t GetTimeNow ()
 Zwraca bieżącą datę i czas jako time_t.
void GetTmNow (struct tm *Out)
 Zwraca bieżącą datę i czas jako struct tm.
DATETIME Now ()
 Zwraca bieżącą datę i czas, dokładność co do sekund.
DATETIME UNow ()
 Zwraca bieżącą datę i czas, dokładność co do milisekund.
const tchar * GetWeekDayName (WEEKDAY WeekDay, NAME_FORM Form)
 Zwraca nazwę dnia tygodnia w podanej formie (W jezyku polskim!!!).
const tchar * GetMonthName (MONTH Month, NAME_FORM Form)
 Zwraca nazwę miesiąca w podanej formie (W jezyku polskim!!!).
void DateToStr (tstring *Out, const TMSTRUCT &tm, const tstring &Format)
 Konwertuje datę na łańcuch.
WEEKDAY StrToWeekDay (const tstring &s)
 Konwertuje łańcuch na dzień tygodnia. Łańcuch może być w dowolnej formie.
MONTH StrToMonth (const tstring &s)
 Konwertuje łańcuch na miesiąc. Łańcuch może być w dowolnej formie.
bool StrToDate (TMSTRUCT *Out, const tstring &s, const tstring &Format)
 Konwertuje łańcuch na datę.
void SaveStringToFile (const tstring &FileName, const string &Data)
 Zapisuje podany łańcuch jako treść pliku.
void SaveDataToFile (const tstring &FileName, const void *Data, size_t NumBytes)
 Zapisuje podany łańcuch jako treść pliku.
void LoadStringFromFile (const tstring &FileName, string *Data)
 Wczytuje całą zawartość pliku do łańcucha.
void SaveStringToFile (const tstring &FileName, const wstring &Data)
 Wersje Unicode.
void LoadStringFromFile (const tstring &FileName, wstring *Data)
bool GetFileItemInfo (const tstring &Path, FILE_ITEM_TYPE *OutType, uint *OutSize, DATETIME *OutModificationTime, DATETIME *OutCreationTime=NULL, DATETIME *OutAccessTime=NULL)
 Zwraca wybrane informacje na temat pliku/katalogu.
void MustGetFileItemInfo (const tstring &Path, FILE_ITEM_TYPE *OutType, uint *OutSize, DATETIME *OutModificationTime, DATETIME *OutCreationTime=NULL, DATETIME *OutAccessTime=NULL)
FILE_ITEM_TYPE GetFileItemType (const tstring &Path)
 Zwraca typ - czy to jest plik, katalog czy błąd/nie-istnieje.
bool UpdateFileTimeToNow (const tstring &FileName)
 Ustawia czas dostępu i modyfikacji podanego pliku na bieżący.
void MustUpdateFileTimeToNow (const tstring &FileName)
bool UpdateFileTime (const tstring &FileName, const DATETIME &ModificationTime, const DATETIME &AccessTime)
 Ustawia czas dostępu i modyfikacji podanego pliku na podane.
void MustUpdateFileTime (const tstring &FileName, const DATETIME &ModificationTime, const DATETIME &AccessTime)
bool CreateDirectory (const tstring &Path)
 Tworzy katalog.
void MustCreateDirectory (const tstring &Path)
bool DeleteDirectory (const tstring &Path)
 Usuwa katalog.
void MustDeleteDirectory (const tstring &Path)
bool CreateDirectoryChain (const tstring &Path)
 Tworzy całą ścieżkę katalogów aż po podanego, np. "C:\A\B\C" nawet jeśli nie istniał nawet "C:\A".
void MustCreateDirectoryChain (const tstring &Path)
bool DeleteFile (const tstring &FileName)
 Usuwa plik.
void MustDeleteFile (const tstring &FileName)
bool MoveItem (const tstring &OldPath, const tstring &NewPath)
 Przenosi lub zmienia nazwę pliku lub katalogu.
void MustMoveItem (const tstring &OldPath, const tstring &NewPath)
void SaveUnicodeToFile (const tstring &FileName, const wstring &Data, unsigned Encoding)
 Zapisuje tekst Unicode do pliku w podanym kodowaniu.
void SaveUnicodeToFile (const tstring &FileName, const wchar_t *Data, unsigned NumChars, unsigned Encoding)
void SaveUnicodeToStream (Stream *Dest, const wstring &Data, unsigned Encoding)
void SaveUnicodeToStream (Stream *Dest, const wchar_t *Data, unsigned NumChars, unsigned Encoding)
void LoadUnicodeFromFile (const tstring &FileName, wstring *Out, unsigned Encoding, FILE_ENCODING *OutEncoding=NULL)
 Wczytuje plik tekstowy do łańcucha Unicode.
void LoadUnicodeFromFile (const tstring &FileName, string *Out, unsigned Encoding, FILE_ENCODING *OutEncoding=NULL)
 Wczytuje plik tekstowy do łańcucha ANSI.
void LoadUnicodeFromStream (SeekableStream *Src, wstring *Out, unsigned Encoding, FILE_ENCODING *OutEncoding=NULL)
void LoadUnicodeFromStream (SeekableStream *Src, string *Out, unsigned Encoding, FILE_ENCODING *OutEncoding=NULL)
void CreateLogger (bool UseQueue)
 Tworzy logger.
void DestroyLogger ()
 Usuwa logger.
Logger & GetLogger ()
 Pobiera logger.
bool IsLogger ()
 Zwraca true, jeśli Logger jest zainicjowany.
template<typename DestT, typename SrcT>
DestT & math_cast (const SrcT &x)
 Szablon bazowy do konwersji między typami matematycznymi.
POINT_ operator* (const POINT_ pt, int v)
POINT_ operator/ (const POINT_ pt, int v)
POINT_ operator* (int v, const POINT_ pt)
POINT_ operator/ (int v, const POINT_ pt)
template<>
::POINT & math_cast<::POINT, POINT_ > (const POINT_ &x)
 Konwersja z common::POINT_ do POINT.
template<>
POINT_ & math_cast< POINT_,::POINT > (const ::POINT &x)
 Konwersja z POINT do common::POINT_.
void swap (POINT_ &v1, POINT_ &v2)
VEC2 operator* (const VEC2 pt, float v)
VEC2 operator/ (const VEC2 pt, float v)
VEC2 operator* (float v, const VEC2 pt)
VEC2 operator/ (float v, const VEC2 pt)
void swap (VEC2 &v1, VEC2 &v2)
VEC3 operator* (const VEC3 pt, float v)
VEC3 operator/ (const VEC3 pt, float v)
VEC3 operator* (float v, const VEC3 pt)
VEC3 operator/ (float v, const VEC3 pt)
void swap (VEC3 &v1, VEC3 &v2)
VEC4 operator* (const VEC4 pt, float v)
VEC4 operator/ (const VEC4 pt, float v)
VEC4 operator* (float v, const VEC4 pt)
VEC4 operator/ (float v, const VEC4 pt)
void swap (VEC4 &v1, VEC4 &v2)
float LengthSq (const VEC2 &v)
 Zwraca kwadrat długości wektora.
float LengthSq (const VEC3 &v)
 Zwraca kwadrat długości wektora.
float LengthSq (const VEC4 &v)
 Zwraca kwadrat długości wektora.
float Length (const VEC2 &v)
 Zwraca długość wektora.
float Length (const VEC3 &v)
 Zwraca długość wektora.
float Length (const VEC4 &v)
 Zwraca długość wektora.
void Min (VEC2 *Out, const VEC2 &v1, const VEC2 &v2)
 Zwraca wektor złożony z mniejszych składowych podanych wektorów.
void Min (VEC3 *Out, const VEC3 &v1, const VEC3 &v2)
void Min (VEC4 *Out, const VEC4 &v1, const VEC4 &v2)
void Max (VEC2 *Out, const VEC2 &v1, const VEC2 &v2)
 Zwraca wektor złożony z większych składowych podanych wektorów.
void Max (VEC3 *Out, const VEC3 &v1, const VEC3 &v2)
void Max (VEC4 *Out, const VEC4 &v1, const VEC4 &v2)
void Mul (VEC2 *Out, const VEC2 &v, float f)
void Mul (VEC3 *Out, const VEC3 &v, float f)
void Mul (VEC4 *Out, const VEC4 &v, float f)
void Add (VEC2 *Out, const VEC2 &v1, const VEC2 &v2)
void Add (VEC3 *Out, const VEC3 &v1, const VEC3 &v2)
void Add (VEC4 *Out, const VEC4 &v1, const VEC4 &v2)
void Sub (VEC2 *Out, const VEC2 &v1, const VEC2 &v2)
void Sub (VEC3 *Out, const VEC3 &v1, const VEC3 &v2)
void Sub (VEC4 *Out, const VEC4 &v1, const VEC4 &v2)
void Mul (VEC2 *Out, const VEC2 &v1, const VEC2 &v2)
void Mul (VEC3 *Out, const VEC3 &v1, const VEC3 &v2)
void Mul (VEC4 *Out, const VEC4 &v1, const VEC4 &v2)
void Div (VEC2 *Out, const VEC2 &v1, const VEC2 &v2)
void Div (VEC3 *Out, const VEC3 &v1, const VEC3 &v2)
void Div (VEC4 *Out, const VEC4 &v1, const VEC4 &v2)
float Dot (const VEC2 &v1, const VEC2 &v2)
 Iloczyn skalarny wektorów.
float Dot (const VEC3 &v1, const VEC3 &v2)
float Dot (const VEC4 &v1, const VEC4 &v2)
void Minus (VEC2 *Out, VEC2 &v)
 Odwraca znak składowych wektora.
void Minus (VEC3 *Out, VEC3 &v)
void Minus (VEC4 *Out, VEC4 &v)
void Minus (VEC2 *InOut)
void Minus (VEC3 *InOut)
void Minus (VEC4 *InOut)
float Cross (const VEC2 &v1, const VEC2 &v2)
 Iloczyn wektorowy dwóch wektorów dający liczbę mówiącą czy drugi wskazuje na lewo, czy na prawo względem pierwszego.
void Cross (VEC3 *Out, const VEC3 &v1, const VEC3 &v2)
 Iloczyn wektorowy dwóch wektorów 3D.
float DistanceSq (const VEC2 &p1, const VEC2 &p2)
 Kwadrat odległości między dwoma punktami.
float DistanceSq (const VEC3 &p1, const VEC3 &p2)
float DistanceSq (const VEC4 &p1, const VEC4 &p2)
float Distance (const VEC2 &p1, const VEC2 &p2)
 Odległość między dwoma punktami.
float Distance (const VEC3 &p1, const VEC3 &p2)
float Distance (const VEC4 &p1, const VEC4 &p2)
void Lerp (VEC2 *Out, const VEC2 &v1, const VEC2 &v2, float t)
 Liniowa interpolacja wektorów.
void Lerp (VEC3 *Out, const VEC3 &v1, const VEC3 &v2, float t)
void Lerp (VEC4 *Out, const VEC4 &v1, const VEC4 &v2, float t)
void Normalize (VEC2 *Out, const VEC2 &v)
 Normalizuje wektor, czyli zmienia mu długość na 1.
void Normalize (VEC3 *Out, const VEC3 &v)
void Normalize (VEC4 *Out, const VEC4 &v)
void Normalize (VEC2 *v)
 Normalizuje wektor w miejscu.
void Normalize (VEC3 *v)
void Normalize (VEC4 *v)
void Vec3ToVec4 (VEC4 *Out, const VEC3 &v)
 Konwersja z wektora 3D na 4D dopisująca W=1.
void Vec4ToVec3_Ignore (VEC3 *Out, const VEC4 &v)
 Konwersja z wektora 4D na 3D ze zignorowaniem składowej W.
void Vec4ToVec3_Div (VEC3 *Out, const VEC4 &v)
 Konwersja z wektora 4D na 3D ze podzieleniem składowych przez W.
void MidPoint (VEC2 *Out, const VEC2 &p1, const VEC2 &p2)
 Zwraca punkt w połowie drogi między podanymi punktami.
void MidPoint (VEC3 *Out, const VEC3 &p1, const VEC3 &p2)
void MidPoint (VEC4 *Out, const VEC4 &p1, const VEC4 &p2)
bool VecEqual (const VEC2 &v1, const VEC2 &v2)
 Zwraca true, jeśli podane wektory/punkty są sobie mniej więcej równe.
bool VecEqual (const VEC3 &v1, const VEC3 &v2)
bool VecEqual (const VEC4 &v1, const VEC4 &v2)
bool Less (const VEC2 &v1, const VEC2 &v2)
bool Less (const VEC3 &v1, const VEC3 &v2)
bool Less (const VEC4 &v1, const VEC4 &v2)
bool LessOrEqual (const VEC2 &v1, const VEC2 &v2)
bool LessOrEqual (const VEC3 &v1, const VEC3 &v2)
bool LessOrEqual (const VEC4 &v1, const VEC4 &v2)
bool Greater (const VEC2 &v1, const VEC2 &v2)
bool Greater (const VEC3 &v1, const VEC3 &v2)
bool Greater (const VEC4 &v1, const VEC4 &v2)
bool GreaterOrEqual (const VEC2 &v1, const VEC2 &v2)
bool GreaterOrEqual (const VEC3 &v1, const VEC3 &v2)
bool GreaterOrEqual (const VEC4 &v1, const VEC4 &v2)
bool around (const VEC2 &v1, const VEC2 &v2, float Epsilon)
bool around (const VEC3 &v1, const VEC3 &v2, float Epsilon)
bool around (const VEC4 &v1, const VEC4 &v2, float Epsilon)
void Perpedicular (VEC2 *Out, const VEC2 &v)
 Zwraca wektor prostopadły do podanego wektora 2D.
void Reflect (VEC2 *Out, const VEC2 &v, const VEC2 &PlaneNormal)
 Oblicza wektor kierunku odbicia od płaszczyzny o podanej normalnej.
void Reflect (VEC3 *Out, const VEC3 &v, const VEC3 &PlaneNormal)
void Project (VEC2 *Out, const VEC2 &V, const VEC2 &N)
 Rzutowanie wektora V na wektor N.
void Project (VEC3 *Out, const VEC3 &V, const VEC3 &N)
void Project_N (VEC2 *Out, const VEC2 &V, const VEC2 &N)
 Wersja common::Project, kiedy wektor N jest już na pewno znormalizowany.
void Project_N (VEC3 *Out, const VEC3 &V, const VEC3 &N)
void Orthogonalize_Fast (VEC3 *OutR1, VEC3 *OutR2, VEC3 *OutR3, const VEC3 &R1, const VEC3 &R2, const VEC3 &R3)
 Ortogonalizacja trzech wektorów - Metoda szybka.
void Orthogonalize (VEC3 *OutR1, VEC3 *OutR2, VEC3 *OutR3, const VEC3 &R1, const VEC3 &R2, const VEC3 &R3)
 Ortogonalizacja trzech wektorów - Metoda dokładna.
void PerpedicularVectors (VEC3 *Out1, VEC3 *Out2, const VEC3 &v)
 Wyznacza dwa dowolne wektory prostopadłe do podanego.
float TriangleArea (const VEC2 &p1, const VEC2 &p2, const VEC2 &p3)
 Oblicza signed pole powierzchni trójkąta.
float TriangleArea (const VEC3 &p1, const VEC3 &p2, const VEC3 &p3)
float TrianglePerimeter (const VEC2 &p1, const VEC2 &p2, const VEC2 &p3)
 Znajduje obwód trójkąta.
float TrianglePerimeter (const VEC3 &p1, const VEC3 &p2, const VEC3 &p3)
void Barycentric (VEC2 *Out, const VEC2 &p1, const VEC2 &p2, const VEC2 &p3, float f, float g)
 Oblicza punkt na powierzhchni trójkąta we wsp. barycentrycznych.
void Barycentric (VEC3 *Out, const VEC3 &p1, const VEC3 &p2, const VEC3 &p3, float f, float g)
void Barycentric (VEC4 *Out, const VEC4 &p1, const VEC4 &p2, const VEC4 &p3, float f, float g)
void CalculateBarycentric (const VEC3 &p, const VEC3 &p1, const VEC3 &p2, const VEC3 &p3, const VEC3 *Normal, float *e, float *f, float *g)
 Oblicz współrzędne barycentryczne podanego punktu p w ramach trójkąta p1-p2-p3.
void TriangleInscribedCircle (VEC2 *OutCenter, float *OutRadius, const VEC2 &v1, const VEC2 &v2, const VEC2 &v3)
 Znajduje okrąg wpisany w trójkąt.
void TriangleInscribedCircle (VEC3 *OutCenter, float *OutRadius, const VEC3 &v1, const VEC3 &v2, const VEC3 &v3)
void TriangleCircumscribedCircle (VEC2 *OutCenter, float *OutRadius, const VEC2 &v1, const VEC2 &v2, const VEC2 &v3)
 Znajduje okrąg opisany na trójkącie.
void TriangleCircumscribedCircle (VEC3 *OutCenter, float *OutRadius, const VEC3 &v1, const VEC3 &v2, const VEC3 &v3)
void PointOnRay (VEC2 *Out, const VEC2 &Origin, const VEC2 &Direction, float t)
 Zwraca punkt na promieniu.
void PointOnRay (VEC3 *Out, const VEC3 &Origin, const VEC3 &Direction, float t)
template<>
::RECT & math_cast<::RECT, RECTI > (const RECTI &x)
 Konwersja z common::RECTI do RECT z WinAPI.
template<>
RECTI & math_cast< RECTI,::RECT > (const ::RECT &x)
 Konwersja z RECT z WinAPI do common::RECTI.
void swap (RECTI &r1, RECTI &r2)
void swap (RECTF &r1, RECTF &r2)
bool PointInRect (const POINT_ &p, const RECTI &r)
 Zwraca true, jeśli punkt należy do prostokąta.
bool PointInRect (const VEC2 &p, const RECTF &r)
bool RectInRect (const RECTI &sr, const RECTI &r)
 Zwraca true, jeśli prostokąt sr zawiera się w całości wewnątrz r.
bool RectInRect (const RECTF &sr, const RECTF &r)
bool OverlapRect (const RECTI &r1, const RECTI &r2)
 Zwraca true, jeśli podane prostokąty zachodzą na siebie.
bool OverlapRect (const RECTF &r1, const RECTF &r2)
bool Intersection (RECTI *Out, const RECTI &r1, const RECTI &r2)
 Jeśli prostokąty posiadają część wspólną, zwraca ją przez Out i zwraca true.
bool Intersection (RECTF *Out, const RECTF &r1, const RECTF &r2)
void Union (RECTI *Out, const RECTI &r1, const RECTI &r2)
 Zwraca prostokąt opisany na podanych dwóch prostokątach.
void Union (RECTF *Out, const RECTF &r1, const RECTF &r2)
void swap (BOX &b1, BOX &b2)
void Scale (BOX *Out, const BOX &b, float s)
 Skaluje boks o podaną liczbę.
void Scale (BOX *Out, const BOX &b, const VEC3 &s)
 Skaluje boks o podane 3 wymiary.
bool PointInBox (const VEC3 &p, const BOX &b)
 Zwraca true, jeśli punkt należy do boksa.
bool BoxInBox (const BOX &sb, const BOX &b)
 Zwraca true, jeśli boks sb zawiera się w całości wewnątrz b.
bool OverlapBox (const BOX &b1, const BOX &b2)
 Zwraca true, jeśli podane boksy zachodzą na siebie.
bool Intersection (BOX *Out, const BOX &b1, const BOX &b2)
 Jeśli boksy posiadają część wspólną, zwraca ją przez Out i zwraca true.
void Union (BOX *Out, const BOX &b1, const BOX &b2)
 Zwraca boks opisany na podanych dwóch boksach.
void swap (COLORF &c1, COLORF &c2)
COLORF operator* (float s, const COLORF &c)
COLORF operator/ (float s, const COLORF &c)
COLOR operator* (float s, const COLOR &c)
COLOR operator/ (float s, const COLOR &c)
template<>
uint4 & math_cast< uint4, COLOR > (const COLOR &x)
template<>
unsigned long & math_cast< unsigned long, COLOR > (const COLOR &x)
template<>
COLOR & math_cast< COLOR, uint4 > (const uint4 &x)
template<>
COLOR & math_cast< COLOR, unsigned long > (const unsigned long &x)
template<>
D3DXCOLOR & math_cast< D3DXCOLOR, COLORF > (const COLORF &x)
template<>
COLORF & math_cast< COLORF, D3DXCOLOR > (const D3DXCOLOR &x)
void ColorToColorf (COLORF *Out, COLOR c)
 Konwersje między tymi dwoma reprezentacjami kolorów.
COLOR ColorfToColor (const COLORF &c)
void ColorToStr (tstring *Out, COLOR Color, char Format= 'X')
 Konwersja koloru na łańcuch.
void ColorToStr (tstring *Out, const COLORF &Color, char Format= 'F')
bool StrToColor (COLOR *Out, const tstring &Str)
 Konwersja łańcucha na kolor.
bool StrToColor (COLORF *Out, const tstring &Str)
void Add (COLORF *Out, const COLORF &c1, const COLORF &c2)
void Sub (COLORF *Out, const COLORF &c1, const COLORF &c2)
void Mul (COLORF *Out, const COLORF &c1, const COLORF &c2)
void Mul (COLORF *Out, const COLORF &c, float s)
void Div (COLORF *Out, const COLORF &c, float s)
void Negative (COLORF *Out, const COLORF &c)
COLOR ARGB_ABGR (COLOR color)
 Konwertuje kolor między systemami ARGB i ABGR.
void Lerp (COLORF *Out, const COLORF &c1, const COLORF &c2, float t)
COLOR Lerp (COLOR c1, COLOR c2, float t)
void HsbToRgb (COLORF *Out, float hue, float saturation, float brightness)
 Konwertuje kolor między HSB a RGB.
void RgbToHsb (float *OutHue, float *OutSaturation, float *OutBrightness, const COLORF &Color)
 Konwertuje kolor RGB na HSB.
void ColorRainbow (COLORF *Out, float t)
 Zwraca kolor tęczy od czerwonego (odpowiada mu t = 0) do niebieskiego (t = 1).
float ColorToGrayscale (const COLORF &c)
 Zwraca jasność podanego koloru (odcień szarości) z zakresu 0..1.
float ColorToGrayscale (COLOR &c)
void GrayscaleToColor (COLORF *Out, float t)
 Zwraca kolor szary o podanej jasności t = 0..1.
void GrayscaleToColor (COLOR *Out, float t)
void AdjustContrast (COLORF *Color, float t)
 Zmienia kolorowi kontrast na miejscu.
void AdjustSaturation (COLORF *Color, float t)
 Zmienia kolorowi nasycenie na miejscu.
COLOR VectorToColor (const VEC3 &v)
 Przetwarza znormalizowany wektor na kolor XRGB. A zwraca 0.
void ColorToVector (VEC3 *Out, COLOR color)
 Przetwarza kolor na wektor.
uint ColorDistance (COLOR Color1, COLOR Color2)
 Zwraca "odległość" dwóch kolorów wg jakiejśtam byle jakiej metryki. Uwzględnia składowe R, G, B.
PLANE operator* (float s, const PLANE &p)
void swap (PLANE &p1, PLANE &p2)
VEC3 & GetPlaneNormal (PLANE &Plane)
 Daje dostęp do wektora normalnego podanej płaszczyzny, czyli jej składowych a, b, c zrzutowanych jako VEC3.
const VEC3 & GetPlaneNormal (const PLANE &Plane)
 Zwraca wektor normalny płaszczyzny, czyli jej składowe a, b, c zrzutowane jako VEC3.
void GetPlaneMemberPoint (VEC3 *Out, const PLANE &Plane)
 Zwraca jakiś punkt leżący na tej płaszczyźnie.
void RecalculatePlaneD (PLANE *Plane, const VEC3 &p)
 Zmienia odległość od początku układu współrzędnych.
bool PlaneEqual (const PLANE &p1, const PLANE &p2)
 Zwraca true, jeśli podane płaszczyzny są sobie mniej więcej równe.
void PointsToPlane (PLANE *Out, const VEC3 &p1, const VEC3 &p2, const VEC3 &p3)
 Tworzy płaszczyznę na podstawie trzech punktów.
void PointNormalToPlane (PLANE *Out, const VEC3 &Point, const VEC3 &Normal)
 Tworzy płaszczyznę z wektora normalnego i punktu leżącego na tej płaszczyźnie.
void Mul (PLANE *Out, const PLANE &p, float s)
 Skalowanie płaszczyzny.
void Div (PLANE *Out, const PLANE &p, float s)
float Dot (const PLANE &p, const VEC4 &pt)
 Iloczyn skalarny płaszczyzny i punktu we współrzędnych jednorodnych.
float DotCoord (const PLANE &p, const VEC3 &pt)
 Iloczyn skalarny płaszczyzny z punktem 3D: a*x+b*y+c*z+d*1.
float DotNormal (const PLANE &p, const VEC3 &v)
 Iloczyn skalarny płaszczyzny z wektorem 3D: a*x+b*y+c*z+d*0.
void Normalize (PLANE *Out, const PLANE &p)
 Normalizacja płaszczyzny.
void Normalize (PLANE *p)
 Normalizacja płaszczyzny w miejscu.
LINE2D operator* (float s, const LINE2D &p)
LINE2D operator/ (float s, const LINE2D &p)
bool LineEqual (const LINE2D &p1, const LINE2D &p2)
 Zwraca true, jeśli podane proste są sobie mniej więcej równe.
void swap (LINE2D &p1, LINE2D &p2)
void PointsToLine (LINE2D *Out, const VEC2 &p1, const VEC2 &p2)
 Tworzy prostą na podstwie dwóch punktów.
void PointNormalToLine (LINE2D *Out, const VEC2 &Point, const VEC2 &Normal)
 Tworzy prostą z wektora normalnego i punktu leżącego na tej prostej.
bool LinesParallel (const LINE2D &L1, const LINE2D &L2)
 Zwraca true, jeśli podane proste są równoległe.
bool LinesPerpedicular (const LINE2D &L1, const LINE2D &L2)
 Zwraca true, jeśli podane proste są prostopadłe.
float Dot (const LINE2D &L1, const LINE2D &L2)
 Zwraca dot z wektorów normalnych dwóch prostych.
float LineDistance (const LINE2D &L1, const LINE2D &L2)
 Zwraca signed odległość dwóch prostych na płaszczyźnie.
bool LinesIntersection (VEC2 *Out, const LINE2D &L1, const LINE2D &L2)
 Oblicza punkt przeciecia dwóch prostych.
bool PointsColinear (const VEC2 &p1, const VEC2 &p2, const VEC2 &p3)
 Zwraca true, jeśli podane trzy punkty leżą na jednej prostej.
void Mul (LINE2D *Out, const LINE2D &p, float s)
 Skalowanie prostej.
void Div (LINE2D *Out, const LINE2D &p, float s)
float Dot (const LINE2D &p, const VEC3 &pt)
 Iloczyn skalarny płaszczyzny i punktu we współrzędnych jednorodnych 2D.
float DotCoord (const LINE2D &p, const VEC2 &pt)
 Iloczyn skalarny prostej 2D z punktem 2D: a*x + b*y + c*1.
float DotNormal (const LINE2D &p, const VEC2 &v)
 Iloczyn skalarny prostej 2D z wektorem 2D: a*x + b*y + c*z + d*0.
void Normalize (LINE2D *Out, const LINE2D &p)
 Normalizacja prostej 2D.
void Normalize (LINE2D *p)
 Normalizacja prostej w miejscu.
void MatrixToStr (tstring *Out, const MATRIX &m)
bool StrToMatrix (MATRIX *Out, const tstring &Str)
void swap (MATRIX &m1, MATRIX &m2)
bool MatrixEqual (const MATRIX &m1, const MATRIX &m2)
 Zwraca true, jeśli podane macierze są sobie mniej więcej równe.
void Minus (MATRIX *m)
 Negacja macierzy w miejscu.
void Add (MATRIX *Out, const MATRIX &m1, const MATRIX &m2)
 Dodawanie macierzy.
void Sub (MATRIX *Out, const MATRIX &m1, const MATRIX &m2)
 Odejmowanie macierzy.
void Mul (MATRIX *Out, const MATRIX &m1, const MATRIX &m2)
 Mnożenie macierzy.
void Mul (MATRIX *m, float s)
 Mnożenie macierzy przez skalar w miejscu.
void Div (MATRIX *m, float s)
 Dzielenie macierzy przez skalar w miejscu.
void Transform (VEC4 *Out, const VEC2 &v, const MATRIX &m)
 Mnożenie wektora 2D jako [x,y,0,1] przez macierz, wychodzi wektor 4D.
void Transform (VEC2 *Out, const VEC2 &v, const MATRIX &m)
 Mnożenie wektora 2D jako [x,y,0,1] przez macierz z olaniem wyjściowego W.
void TransformCoord (VEC2 *Out, const VEC2 &v, const MATRIX &m)
 Mnożenie wektora 2D jako [x,y,0,1] przez macierz i sprowadzenie z powrotem do 2D przez podzielenie przez W.
void TransformNormal (VEC2 *Out, const VEC2 &v, const MATRIX &m)
 Mnożenie wektora 2D jako [x,y,0,0] przez macierz.
void Transform (VEC4 *Out, const VEC3 &v, const MATRIX &m)
 Mnożenie wektora 3D jako [X,Y,Z,1] przez macierz, wychodzi wektor 4D.
void Transform (VEC3 *Out, const VEC3 &v, const MATRIX &m)
 Mnożenie wektora 3D jako [X,Y,Z,1] przez macierz z olaniem wyjściowego W.
void TransformCoord (VEC3 *Out, const VEC3 &v, const MATRIX &m)
 Mnożenie wektora 3D jako [X,Y,Z,1] przez macierz i sprowadzenie z powrotem do 3D przez podzielenie przez W.
void TransformNormal (VEC3 *Out, const VEC3 &v, const MATRIX &m)
 Mnożenie wektora 3D jako [X,Y,Z,0] przez macierz.
void TransformArray (VEC3 OutPoints[], const VEC3 InPoints[], size_t PointCount, const MATRIX &M)
 Przekształca na raz całą tablicę wektorów - w miejscu lub z tablicy wejściowej do wyjściowej.
void TransformArray (VEC3 InOutPoints[], size_t PointCount, const MATRIX &M)
void TransformNormalArray (VEC3 OutPoints[], const VEC3 InPoints[], size_t PointCount, const MATRIX &M)
void TransformNormalArray (VEC3 InOutPoints[], size_t PointCount, const MATRIX &M)
void TransformCoordArray (VEC3 OutPoints[], const VEC3 InPoints[], size_t PointCount, const MATRIX &M)
void TransformCoordArray (VEC3 InOutPoints[], size_t PointCount, const MATRIX &M)
void Transform (VEC4 *Out, const VEC4 &v, const MATRIX &m)
 Mnożenie wektora 4D przez macierz.
void Transform (PLANE *Out, const PLANE &p, const MATRIX &m)
 Przekształca płaszczyznę przez macierz.
void TransformRay (VEC3 *OutOrigin, VEC3 *OutDir, const VEC3 &RayOrigin, const VEC3 &RayDir, const MATRIX &m)
 Przekształca promień przez macierz.
void TransformBox (BOX *Out, const BOX &In, const MATRIX &M)
 Przekształca AABB przez podaną macierz i wylicza AABB tego co wyszło po przekształceniu.
void TransformBoxCoord (BOX *Out, const BOX &In, const MATRIX &M)
 Przekształca AABB przez podaną macierz i wylicza AABB tego co wyszło po przekształceniu.
void AxesToMatrix (MATRIX *Out, const VEC3 &AxisX, const VEC3 &AxisY, const VEC3 &AxisZ)
 Tworzy macierz przekształcającą do lokalnego układu współrzędnych wyznaczonego przez podane 3 osie.
void AxesToMatrixTranslation (MATRIX *Out, const VEC3 &Origin, const VEC3 &AxisX, const VEC3 &AxisY, const VEC3 &AxisZ)
 Tworzy macierz przekształcającą do lokalnego układu współrzędnych wyznaczonego przez podane 3 osie i pozycję początku tego układu.
void LookAtLH (MATRIX *Out, const VEC3 &Eye, const VEC3 &Forward, const VEC3 &Up)
 Macierz kamery.
void LookAtRH (MATRIX *Out, const VEC3 &Eye, const VEC3 &Forward, const VEC3 &Up)
void Identity (MATRIX *Out)
 Tworzy macierz identycznościową.
void Translation (MATRIX *Out, float x, float y, float z)
 Tworzy macierz translacji (przesuwania).
void Translation (MATRIX *Out, const VEC3 &v)
void Scaling (MATRIX *Out, float sx, float sy, float sz)
 Tworzy macierz skalowania (powiększania, pomniejszania, rozciągania).
void Scaling (MATRIX *Out, const VEC3 &sv)
void Scaling (MATRIX *Out, float s)
void ScalingAxis (MATRIX *Out, const VEC3 &n, float k)
 Tworzy macierz skalowania wzdłuż podanego kierunku.
void Rotation2D (MATRIX *Out, float Angle)
 Macierz obrotu 2D.
void RotationX (MATRIX *Out, float Angle)
 Macierz obrotu wokół osi X.
void RotationY (MATRIX *Out, float Angle)
 Macierz obrotu wokół osi Y.
void RotationZ (MATRIX *Out, float Angle)
 Macierz obrotu wokół osi Z.
void RotationAxisLH (MATRIX *Out, const VEC3 &Axis, float Angle)
void RotationAxisRH (MATRIX *Out, const VEC3 &Axis, float Angle)
void RotationYawPitchRoll (MATRIX *Out, float Yaw, float Pitch, float Roll)
 Macierz obrotu wokół trzech osi w kolejności Yaw-Pitch-Roll (ZXY) - tzw. kąty Eulera.
void RotationYawPitchRoll (MATRIX *Out, const VEC3 &EulerAngles)
void RotationYawPitchRollInv (MATRIX *Out, float Yaw, float Pitch, float Roll)
 Przekształca ze wsp. świata do obiektu (interial -> object space).
void RotationYawPitchRollInv (MATRIX *Out, const VEC3 &EulerAngles)
void OrthoLH (MATRIX *Out, float Width, float Height, float ZNear, float ZFar)
 Tworzy macierz rzutowania ortogonalnego.
void OrthoRH (MATRIX *Out, float Width, float Height, float ZNear, float ZFar)
void OrthoOffCenterLH (MATRIX *Out, float Left, float Right, float Bottom, float Top, float ZNear, float ZFar)
void OrthoOffCenterRH (MATRIX *Out, float Left, float Right, float Bottom, float Top, float ZNear, float ZFar)
void PerspectiveLH (MATRIX *Out, float Width, float Height, float ZNear, float ZFar)
 Tworzy macierz rzutowania perspektywicznego.
void PerspectiveRH (MATRIX *Out, float Width, float Height, float ZNear, float ZFar)
void PerspectiveFovLH (MATRIX *Out, float FovY, float Aspect, float ZNear, float ZFar)
void PerspectiveFovRH (MATRIX *Out, float FovY, float Aspect, float ZNear, float ZFar)
void PerspectiveOffCenterLH (MATRIX *Out, float Left, float Right, float Bottom, float Top, float ZNear, float ZFar)
void PerspectiveOffCenterRH (MATRIX *Out, float Left, float Right, float Bottom, float Top, float ZNear, float ZFar)
void PerspectiveFovLH_Inf (MATRIX *Out, float FovY, float Aspect, float ZNear)
 Wersja tworząca macierz z Z-Far = INFINITY.
void MatrixShadow (MATRIX *Out, const VEC4 &Light, const PLANE &Plane)
 Tworzy macierz spłaszczającą geometrię na podaną płaszczyznę w podanym kierunku padania światła.
void MatrixReflect (MATRIX *Out, const PLANE &p)
 Tworzy macierz odbijającą geometrię względem podanej płaszczyzny.
void Transpose (MATRIX *m)
 Transpozycja macierzy na miejscu.
void Lerp (MATRIX *Out, const MATRIX &m1, const MATRIX &m2, float t)
 Interpolacja liniowa macierzy.
float Det (const MATRIX &m)
 Wyznacznik macierzy.
bool Inverse (MATRIX *Out, const MATRIX &m)
 Odwrotność macierzy.
QUATERNION operator* (const QUATERNION pt, float v)
QUATERNION operator/ (const QUATERNION pt, float v)
QUATERNION operator* (float v, const QUATERNION pt)
QUATERNION operator/ (float v, const QUATERNION pt)
void swap (QUATERNION &v1, QUATERNION &v2)
float CalcQuaternionAngle (const QUATERNION &Q)
 Zwraca kąt obrotu jaki reprezentuje ten kwaternion.
void CalcQuaternionAxis (VEC3 *Out, const QUATERNION &Q)
 Zwraca oś obrotu jaką reprezentuje ten kwaternion.
bool QuaternionEqual (const QUATERNION &q1, const QUATERNION &q2)
 Zwraca true, jeśli podane kwaterniony są sobie mniej więcej równe.
void Minus (QUATERNION *q)
 Ujemny kwaternion.
void Minus (QUATERNION *Out, const QUATERNION &q)
void Add (QUATERNION *Out, const QUATERNION &q1, const QUATERNION &q2)
 Dodawanie, odejmowanie, mnożenie kwaternionów.
void Sub (QUATERNION *Out, const QUATERNION &q1, const QUATERNION &q2)
void Mul (QUATERNION *Out, const QUATERNION &q1, const QUATERNION &q2)
void Mul (QUATERNION *q, float v)
 Mnożenie i dzielenie kwaterniona przez skalar.
void Div (QUATERNION *q, float v)
void Mul (QUATERNION *Out, const QUATERNION &q, float v)
void Div (QUATERNION *Out, const QUATERNION &q, float v)
void RotationMatrixToQuaternion (QUATERNION *Out, const MATRIX &RotationMatrix)
 Tworzy kwaternion na podstawie macierzy obrotu.
void QuaternionToRotationMatrix (MATRIX *Out, const QUATERNION &q)
 Przekształca kwaternion w macierz obrotu.
void QuaternionTransform (VEC3 *Out, const VEC3 &p, const QUATERNION &q)
 Przekształca punkt/wektor przez kwaternion obracając go o ten kwaternion.
void EulerAnglesToQuaternionO2I (QUATERNION *Out, float Yaw, float Pitch, float Roll)
 Konwersja kątów Eulera na kwaternion (który obraca ze wsp. obiektu do świata, czyli object -> interial space) [a może odwrotnie?].
void EulerAnglesToQuaternionI2O (QUATERNION *Out, float Yaw, float Pitch, float Roll)
 Konwersja kątów Eulera na kwaternion (który obraca ze wsp. świata do obiektu, czyli interial -> object space) [a może odwrotnie?].
void QuaternionO2IToEulerAngles (float *Yaw, float *Pitch, float *Roll, const QUATERNION &q)
 Konwersja kwaterniona który obraca ze wsp. obiektu do świata, czyli object -> interial space, na kąty Eulera.
void QuaternionI2OToEulerAngles (float *Yaw, float *Pitch, float *Roll, const QUATERNION &q)
 Konwersja kwaterniona który obraca ze wsp. świata do obiektu, czyli interial -> object space, na kąty Eulera.
void QuaternionRotationX (QUATERNION *Out, float a)
 Tworzy kwaternion obracający wokół osi X.
void QuaternionRotationY (QUATERNION *Out, float a)
 Tworzy kwaternion obracający wokół osi Y.
void QuaternionRotationZ (QUATERNION *Out, float a)
 Tworzy kwaternion obracający wokół osi Z.
void AxisToQuaternion (QUATERNION *Out, const VEC3 &Axis, float Angle)
 Tworzy kwaternion na podstawie osi obrotu i kąta.
void QuaternionDiff (QUATERNION *Out, const QUATERNION &a, const QUATERNION &b)
 Oblica "różnicę" dwóch kwaternionów reprezentującą taki obrót że a*Out = b.
void Conjugate (QUATERNION *q)
 Kwaternion sprzężony do danego.
void Conjugate (QUATERNION *Out, const QUATERNION &q)
void Inverse (QUATERNION *Out, const QUATERNION &q)
 Odwrotność kwaterniona.
void Normalize (QUATERNION *Out, const QUATERNION &q)
 Normalizacja kwaternion.
void Normalize (QUATERNION *InOut)
float Dot (const QUATERNION &q1, const QUATERNION &q2)
 Iloczyn skalarny dwóch kwaternionów.
float LengthSq (const QUATERNION &q)
 Kwadrat długości kwaterniona.
float Length (const QUATERNION &q)
 Długość kwaterniona.
void Log (QUATERNION *Out, const QUATERNION &q)
void Exp (QUATERNION *Out, const QUATERNION &q)
void Pow (QUATERNION *InOut, float t)
 Podnieś kwaternion do potęgi.
void Pow (QUATERNION *Out, const QUATERNION &q, float t)
void Lerp (QUATERNION *Out, const QUATERNION &q1, const QUATERNION &q2, float t)
 Interpolacja normalna kwaternionów.
void Slerp (QUATERNION *Out, const QUATERNION &q0, const QUATERNION &q1, float t)
 Interpolacja sferyczna kwaternionów.
void Squad (QUATERNION *Out, const QUATERNION &Q1, const QUATERNION &A, const QUATERNION &B, const QUATERNION &C, float t)
void SquadSetup (QUATERNION *OutA, QUATERNION *OutB, QUATERNION *OutC, const QUATERNION &Q0, const QUATERNION &Q1, const QUATERNION &Q2, const QUATERNION &Q3)
float CapsuleVolume (const VEC3 &p1, const VEC3 &p2, float R)
 Objętość kapsuły.
void RandomPointInCapsule (VEC3 *Out, const VEC3 &p1, const VEC3 &p2, float R, RandomGenerator &Rand)
 Losuje punkt z wnętrza kapsuły. Rozkład równomierny.
void RandomPointInCapsule (VEC3 *Out, const VEC3 &p1, const VEC3 &p2, float R)
template<typename T>
void SmoothCD_T (T *InOutPos, const T &Dest, T *InOutVel, float SmoothTime, float TimeDelta)
template<>
void SmoothCD_T< float > (float *InOutPos, const float &Dest, float *InOutVel, float SmoothTime, float TimeDelta)
template<>
void SmoothCD_T< VEC2 > (VEC2 *InOutPos, const VEC2 &Dest, VEC2 *InOutVel, float SmoothTime, float TimeDelta)
template<>
void SmoothCD_T< VEC3 > (VEC3 *InOutPos, const VEC3 &Dest, VEC3 *InOutVel, float SmoothTime, float TimeDelta)
void SphericalToCartesian (VEC3 *Out, float Yaw, float Pitch, float R)
 Tu można podawać co się chce.
void CartesianToSpherical (float *OutYaw, float *OutPitch, float *OutR, const VEC3 &Pos)
void ConvexHull2D (std::vector< VEC2 > *OutPoints, const VEC2 InPoints[], size_t InPointCount)
 Zwraca wypukłą otoczkę zbioru punktów 2D.
float ClosestPointOnLine (const VEC3 &p, const VEC3 &RayOrig, const VEC3 &RayDir)
 Dany punkt p i promień (RayOrig, RayDir), oblicza parametr t dla punktu na tym promieniu będącego rzutem tego punktu na ten promień.
float PointToLineDistance (const VEC3 &P, const VEC3 &LineOrig, const VEC3 &LineDir)
 Zwraca odległość punktu od prostej.
bool PointOnLine (const VEC3 &P, const VEC3 &LineOrig, const VEC3 &LineDir)
 Zwraca true, jeśli punkt leży na prostej.
float PointToLine (const VEC3 &P, const VEC3 &LineOrig, const VEC3 &LineDir)
 Zwraca parametr T punktu leżącego na prostej.
bool PointInLineSegment (const VEC3 &P, const VEC3 &SegmentBeg, const VEC3 &SegmentEnd)
 Zwraca true, jeśli punkt leży na odcinku.
void ClosestPointOnLineSegment (VEC3 *Out, const VEC3 &P, const VEC3 &P1, const VEC3 &P2)
 Wyznacza najbliższy punkt leżący na odcinku P1-P2 względem punktu P.
void ClosestPointInBox (VEC3 *Out, const BOX &Box, const VEC3 &p)
 Wyznacza najbliższy punkt wewnątrz prostopadłościanu względem punktu p.
float PointToBoxDistance (const VEC3 &p, const BOX &box)
 Odległość punktu od prostopadłościanu.
bool PointInSphere (const VEC3 &p, const VEC3 &SphereCenter, float SphereRadius)
 Zwraca true, jeśli podany punkt należy do sfery.
float PointToSphereDistance (const VEC3 &p, const VEC3 &SphereCenter, float SphereRadius)
 Zwraca odległość punktu od powierzchni sfery.
void ClosestPointOnSphere (VEC3 *Out, const VEC3 &SphereCenter, float SphereRadius, const VEC3 &p)
 Wyznacza najbliższy punkt na powierzchni sfery względem punktu p.
bool PointOnPlane (const VEC3 &p, const PLANE &plane)
 Zwraca true, jeśli podany punkt należy do płaszczyzny.
void ClosestPointOnPlane (VEC3 *Out, const PLANE &Plane, const VEC3 &p)
 Wyznacza najbliższy punkt na płaszczyźnie względem punktu p.
bool PointOnTriangle (const VEC3 &point, const VEC3 &pa, const VEC3 &pb, const VEC3 &pc)
 Zwraca true, jeśli punkt należy do trójkąta.
bool PointInFrustum (const VEC3 &p, const FRUSTUM_PLANES &Frustum)
 Zwraca true, jeśli punkt należy do wnętrza podanego frustuma.
bool PointInFrustum (const VEC3 &p, const FRUSTUM_RADAR &Frustum)
bool ClosestPointsOnLines (float *OutT1, float *OutT2, const VEC3 &RayOrig1, const VEC3 &RayDir1, const VEC3 &RayOrig2, const VEC3 &RayDir2)
 Funkcja wyznacza parametry t1 i t2 dla punktów na dwóch prostych, w których te proste są najbliżej siebie.
bool RayToBox (float *OutT, const VEC3 &RayOrig, const VEC3 &RayDir, const BOX &Box)
 Kolizja promienia z prostopadłościanem.
bool RayToSphere (const VEC3 &RayOrig, const VEC3 &RayDir, const VEC3 &SphereCenter, float SphereRadius, float *OutT)
 Wylicza kolizję promienia ze sferą.
bool RayToPlane (const VEC3 &RayOrig, const VEC3 &RayDir, const PLANE &Plane, float *OutT, float *OutVD)
 Przecięcie promienia z płaszczyzną.
bool RayToTriangle (const VEC3 &RayOrig, const VEC3 &RayDir, const VEC3 &p0, const VEC3 &p1, const VEC3 &p2, bool BackfaceCulling, float *OutT)
 Kolizja promienia z trójkątem.
bool RayToFrustum (const VEC3 &RayOrig, const VEC3 &RayDir, const FRUSTUM_PLANES &Frustum, float *t_near, float *t_far)
 Kolizja promienia z frustumem.
bool SphereToBox (const VEC3 &SphereCenter, float SphereRadius, const BOX &Box)
 Zwraca true jeśli kula koliduje z prostopadłościanem (także jeśli jest w jego środku).
bool SphereInBox (const VEC3 &SphereCenter, float SphereRadius, const BOX &Box)
 Zwraca true, jeśli sfera zawiera się w całości w prostopadłościanie.
bool BoxInSphere (const BOX &Box, const VEC3 &SphereCenter, float SphereRadius)
 Zwraca true, jeśli prostopadłościan zawiera się w całości w sferze.
bool PlaneToBox (const PLANE &plane, const BOX &box)
 Kolizja płaszczyzny z prostopadłościanem.
int ClassifyBoxToPlane (const PLANE &plane, const BOX &box)
 Klasyfikuje położenie prostopadłościanu względem płaszczyzny.
bool TriangleInBox (const VEC3 &p1, const VEC3 &p2, const VEC3 &p3, const BOX &Box)
 Zwraca true, jeśli trójkąt zawiera się w prostopadłościanie.
bool TriangleToBox (const VEC3 &p1, const VEC3 &p2, const VEC3 &p3, const BOX &Box, const PLANE *OptTrianglePlane=NULL)
 Zwraca true, jeśli trójkąt przecina prostopadłościan lub się w nim zawiera.
bool BoxToFrustum_Fast (const BOX &Box, const FRUSTUM_PLANES &Frustum)
 Zwraca true, jeśli podany prostopadłościan jest widoczny choć trochę w bryle widzenia.
bool BoxToFrustum (const BOX &Box, const FRUSTUM_PLANES &FrustumPlanes, const FRUSTUM_POINTS *OptFrustumPoints=NULL)
 Zwraca true, jeśli podany prostopadłościan jest widoczny choć trochę w bryle widzenia.
bool BoxToFrustum (const BOX &Box, const FRUSTUM_RADAR &Frustum)
bool BoxInFrustum (const BOX &Box, const FRUSTUM_PLANES &Frustum)
 Zwraca true, jeśli AABB jest w całości wewnątrz frustuma.
bool SphereToSphere (const VEC3 &Center1, float Radius1, const VEC3 &Center2, float Radius2)
 Zwraca true jeśli podane dwie sfery kolidują ze sobą.
bool SphereToPlane (const VEC3 &SphereCenter, float SphereRadius, const PLANE &Plane)
 Zwraca true, jeśli sfera koliduje z płaszczyzną.
int ClassifySphereToPlane (const VEC3 &SphereCenter, float SphereRadius, const PLANE &Plane)
 Klasyfikuje położenie sfery względem płaszczyzny.
bool SphereToFrustum_Fast (const VEC3 &SphereCenter, float SphereRadius, const FRUSTUM_PLANES &Frustum)
 Zwraca true, jeśli sfera koliduje z frustumem.
bool SphereToFrustum (const VEC3 &SphereCenter, float SphereRadius, const FRUSTUM_PLANES &FrustumPlanes, const FRUSTUM_POINTS *OptFrustumPoints=NULL)
 Zwraca true, jeśli sfera koliduje z frustumem.
bool SphereToFrustum (const VEC3 &SphereCenter, float SphereRadius, const FRUSTUM_RADAR &Frustum)
 Testuje przecięcie sfery z frustumem.
bool SphereInFrustum (const VEC3 &SphereCenter, float SphereRadius, const FRUSTUM_PLANES &Frustum)
 Zwraca true, jeśli sfera zawiera się w całości wewnątrz frustuma.
bool Intersect2Planes (const PLANE &Plane1, const PLANE &Plane2, VEC3 *LineOrig, VEC3 *LineDir)
 Wylicza kolizję dwóch płaszczyzn zwracając parametry prostej tworzącej ich przecięcie.
bool Intersect3Planes (const PLANE &P1, const PLANE &P2, const PLANE &P3, VEC3 *OutP)
 Zwraca punkt przecięcia trzech płaszczyzn lub false, jeśli taki punkt nie istnieje.
bool PlaneToTriangle (const PLANE &Plane, const VEC3 &p0, const VEC3 &p1, const VEC3 &p2)
 Kolizja płaszczyzny z trójkątem.
int ClassifyPlaneToTriangle (const PLANE &Plane, const VEC3 &p0, const VEC3 &p1, const VEC3 &p2)
 Klasyfikuje położenie trójkąta względem płaszczyzny.
int ClassifyFrustumToPlane (const FRUSTUM_POINTS &Frustum, const PLANE &Plane)
 Kolizja płaszczyzny z frustumem (klasyfikacja).
bool IntersectLines (const VEC2 &p1, const VEC2 &p2, const VEC2 &p3, const VEC2 &p4)
 Zwraca true, jeśli dwa odcinki 2D: p1-p2 i p3-p4 zachodzą na siebie.
bool TriangleToTriangle (const VEC3 &V0, const VEC3 &V1, const VEC3 &V2, const VEC3 &U0, const VEC3 &U1, const VEC3 &U2)
 Testuje kolizję dwóch trójkątów 3D.
bool TriangleInFrustum (const VEC3 &t1, const VEC3 &t2, const VEC3 &t3, const FRUSTUM_PLANES &Frustum)
 Testuje, czy trójkąt leży w całości wewnątrz frustuma.
bool TriangleToFrustum (const VEC3 &t1, const VEC3 &t2, const VEC3 &t3, const PLANE *OptTrianglePlane, const FRUSTUM_PLANES &FrustumPlanes, const FRUSTUM_POINTS *OptFrustumPoints)
 Testuje kolizję trójkąta z frustumem.
bool FrustumToFrustum (const FRUSTUM_PLANES &Frustum1_Planes, const FRUSTUM_POINTS &Frustum1_Points, const FRUSTUM_PLANES &Frustum2_Planes, const FRUSTUM_POINTS &Frustum2_Points)
 Testuje kolizję między dwoma frustumami.
bool PointInPolygon (const VEC2 &Point, const VEC2 PolygonPoints[], uint PolygonPointCount)
 Zwraca true, jeśli podany punkt leży wewnątrz podanego wielokąta (2D).
bool RayToPolygon (const VEC3 &RayOrig, const VEC3 &RayDir, const VEC3 PolygonPoints[], uint PolygonPointCount, bool BackfaceCulling, float *OutT)
 Zwraca true, jeśli promień przecina wielokąt (3D) i wtedy przez OutT zwraca parametr dla promienia.
bool SweptSphereToPlane (const VEC3 &SphereCenter, float SphereRadius, const VEC3 &SphereSweepDir, const PLANE &Plane, float *OutT0, float *OutT1)
 Liczy kolizję poruszającej się sfery z płaszczyzną.
bool SweptSphereToFrustum (const VEC3 &SphereCenter, float SphereRadius, const VEC3 &SphereSweepDir, const FRUSTUM_PLANES &Frustum)
 Oblicza kolizję poruszającej się sfery z frustumem.
bool SweptSphereToSphere (const VEC3 &SphereCenter1, float SphereRadius1, const VEC3 &SphereCenter2, float SphereRadius2, const VEC3 &SphereSweepDir1, float *OutT1, float *OutT2)
 Analityczna kolizja dwóch poruszających się sfer.
bool SweptBoxToBox (const BOX &Box1, const BOX &Box2, const VEC3 &SweepDirBox1, float *OutT)
 Kolizja poruszającego się AABB z drugim AABB.
void SphereBoundingPoints (VEC3 *OutSphereCenter, float *OutSphereRadius, const VEC3 Points[], size_t PointCount)
 Znajduje sferę otaczającą podany zbiór punktów.
void BoxBoundingPoints (BOX *box, const VEC3 points[], size_t PointCount)
 Tworzy najmniejszy boks otaczający podany zbiór punktów.
void BoxBoundingSphere (VEC3 *SphereCenter, float *SphereRadius, const BOX &Box)
 Oblicza sferę otaczającą box.
void SphereBoundingBox (BOX *Out, const VEC3 &SphereCenter, float SphereRadius)
 Oblicza box otaczający sferę.
void BoxBoundingSpheres (BOX *OutBox, const VEC3 SpheresCenter[], const float SpheresRadius[], size_t SphereCount)
 Wylicza AABB otaczający podany zbiór sfer.
void RandomPointInUnitSphere (VEC3 *Out, RandomGenerator &Rand)
 Losuje punkt wewnątrz kuli o środku w (0,0,0) i promieniu 1. Rozkład równomierny.
void RandomPointInUnitSphere (VEC3 *Out)
void RandomPointInUnitCircle (VEC2 *Out, RandomGenerator &Rand)
 Losuje punkt wewnątrz koła o środku w (0,0) i promieniu 1. Rozkład równomierny.
void RandomPointInUnitCircle (VEC2 *Out)
void _ThrowBufEndError (const tchar *File, int Line)
void MD5ToStr (tstring *Out, const MD5_SUM MD5)
bool StrToMD5 (MD5_SUM *Out, const tstring &s)
size_t Copy (Stream *Dst, Stream *Src, size_t MaxLength)
 Kopiuje dane z jednego strumienia do drugiego - co najwyżej MaxLength bajtów.
void MustCopy (Stream *Dst, Stream *Src, size_t Length)
 Kopiuje dane z jednego strumienia do drugiego - dokładnie Length bajtów.
void CopyToEnd (Stream *Dst, Stream *Src)
 Kopiuje dane z jednego strumienia do drugiego aż do końca tego źródłowego.

Zmienne

const tstring EMPTY_STRING
 Łańcuch pusty - do wykorzystania aby można było pobierać do niego referencje itp.
const tchar *const EOL
 Standardowy łańcuch końca wiersza zależny od systemu.
const char *const BOM_UTF8
const char *const BOM_UTF16_LE
const char *const BOM_UTF16_BE
const tchar DIR_SEP = _T('\\')
 Separator katalogów w ścieżce, zależny od platformy.
const tchar _DIGITS_L []
const tchar _DIGITS_U []
TimeMeasurer g_Timer
 Główny miernik czasu dla wątku głównego.
const int1 MININT1 = std::numeric_limits<int1>::min()
const int1 MAXINT1 = std::numeric_limits<int1>::max()
const int2 MININT2 = std::numeric_limits<int2>::min()
const int2 MAXINT2 = std::numeric_limits<int2>::max()
const int4 MININT4 = std::numeric_limits<int4>::min()
const int4 MAXINT4 = std::numeric_limits<int4>::max()
const int8 MININT8 = std::numeric_limits<int8>::min()
const int8 MAXINT8 = std::numeric_limits<int8>::max()
const uint1 MAXUINT1 = std::numeric_limits<uint1>::max()
const uint2 MAXUINT2 = std::numeric_limits<uint2>::max()
const uint4 MAXUINT4 = std::numeric_limits<uint4>::max()
const uint8 MAXUINT8 = std::numeric_limits<uint8>::max()
const float MINFLOAT = std::numeric_limits<float>::min()
const float MAXFLOAT = std::numeric_limits<float>::max()
const float E = 2.71828182845904523536f
 e
const float LOG2E = 1.44269504088896340736f
 log2(e)
const float LOG10E = 0.434294481903251827651f
 log10(e)
const float LN2 = 0.693147180559945309417f
 ln(2)
const float LN10 = 2.30258509299404568402f
 ln(10)
const float PI = 3.14159265358979323846264338327950288419716939937510582f
 pi
const float PI_2 = 1.57079632679489661923f
 pi/2
const float PI_4 = 0.785398163397448309616f
 pi/4
const float PI_X_2 = 6.28318530717958647692f
 2*pi
const float _1_PI = 0.318309886183790671538f
 1/pi
const float _2_PI = 0.636619772367581343076f
 2/pi
const float _2_SQRTPI = 1.12837916709551257390f
 2/sqrt(pi)
const float SQRT2 = 1.41421356237309504880f
 sqrt(2)
const float SQRT3 = 1.7320508075688772935274463415059f
 sqrt(3)
const float SQRT1_2 = 0.707106781186547524401f
 1/sqrt(2)
RandomGenerator g_Rand
 Domyślny generator liczb losowych do używania w wątku głównym i kiedy nie musi być deterministyczny.
UniqueGenerator g_Unique
 Generator domyślny do użytku w wątku głównym.
scoped_ptr< Config > g_Config
 Konfiguracja główna.
const tchar *const DEFAULT_FORMAT
 Domyślny format dla StrToDate() i DateToStr().
const VEC2 VEC2_ZERO
const VEC2 VEC2_ONE
const VEC2 VEC2_POSITIVE_X
const VEC2 VEC2_POSITIVE_Y
const VEC2 VEC2_NEGATIVE_X
const VEC2 VEC2_NEGATIVE_Y
const VEC3 VEC3_ZERO
const VEC3 VEC3_ONE
const VEC3 VEC3_POSITIVE_X
const VEC3 VEC3_POSITIVE_Y
const VEC3 VEC3_POSITIVE_Z
const VEC3 VEC3_NEGATIVE_X
const VEC3 VEC3_NEGATIVE_Y
const VEC3 VEC3_NEGATIVE_Z
const VEC4 VEC4_ZERO
const VEC4 VEC4_ONE
const VEC4 VEC4_POSITIVE_X
const VEC4 VEC4_POSITIVE_Y
const VEC4 VEC4_POSITIVE_Z
const VEC4 VEC4_POSITIVE_W
const VEC4 VEC4_NEGATIVE_X
const VEC4 VEC4_NEGATIVE_Y
const VEC4 VEC4_NEGATIVE_Z
const VEC4 VEC4_NEGATIVE_W
const RECTI RECTI_ZERO
const RECTF RECTF_ZERO
const COLOR COLOR_TRANSPARENT_
const COLOR COLOR_BLACK
const COLOR COLOR_GRAY
const COLOR COLOR_SILVER
const COLOR COLOR_WHITE
const COLOR COLOR_FUCHSIA
const COLOR COLOR_RED
const COLOR COLOR_ORANGE
const COLOR COLOR_YELLOW
const COLOR COLOR_LIME
const COLOR COLOR_AQUA
const COLOR COLOR_BLUE
const COLOR COLOR_PURPLE
const COLOR COLOR_MAROON
const COLOR COLOR_OLIVE
const COLOR COLOR_GREEN
const COLOR COLOR_TEAL
const COLORF COLORF_TRANSPARENT_
const COLORF COLORF_BLACK
const COLORF COLORF_GRAY
const COLORF COLORF_SILVER
const COLORF COLORF_WHITE
const COLORF COLORF_FUCHSIA
const COLORF COLORF_RED
const COLORF COLORF_ORANGE
const COLORF COLORF_YELLOW
const COLORF COLORF_LIME
const COLORF COLORF_AQUA
const COLORF COLORF_BLUE
const COLORF COLORF_PURPLE
const COLORF COLORF_MAROON
const COLORF COLORF_OLIVE
const COLORF COLORF_GREEN
const COLORF COLORF_TEAL
const PLANE PLANE_ZERO
const PLANE PLANE_POSITIVE_X
 Płaszczyzna pionowa, równoległa do Y i Z, wskazująca na prawo na X.
const PLANE PLANE_POSITIVE_Y
 Płaszczyzna pozioma, równoległa do X i Z, wskazująca do góry na Y.
const PLANE PLANE_POSITIVE_Z
 Płaszczyzna pionowa, równoległa do X i Y, wskazująca w głąb na Z.
const PLANE PLANE_NEGATIVE_X
 Płaszczyzna pionowa, równoległa do Y i Z, wskazująca na lewo na X.
const PLANE PLANE_NEGATIVE_Y
 Płaszczyzna pozioma, równoległa do X i Z, wskazująca w dół na Y.
const PLANE PLANE_NEGATIVE_Z
 Płaszczyzna pionowa, równoległa do X i Y, wskazująca do gracza na Z.
const LINE2D LINE2D_ZERO
const LINE2D LINE2D_POSITIVE_X
const LINE2D LINE2D_NEGATIVE_X
const LINE2D LINE2D_POSITIVE_Y
const LINE2D LINE2D_NEGATIVE_Y
const MATRIX MATRIX_ZERO
const MATRIX MATRIX_IDENTITY
const QUATERNION QUATERNION_ZERO
const QUATERNION QUATERNION_IDENTITY
const float POISSON_DISC_1D []
const uint4 POISSON_DISC_1D_COUNT = 100
const VEC2 POISSON_DISC_2D []
const uint4 POISSON_DISC_2D_COUNT = 100
const VEC3 POISSON_DISC_3D []
const uint4 POISSON_DISC_3D_COUNT = 100
Profiler g_Profiler
 Główny profiler globalny dla wątku głównego.
const size_t BUFFER_SIZE
Poziomy kompresji Zlib.


const int ZLIB_STORE_LEVEL = 0
 Brak kompresji (co nie znaczy że dane zostaną dosłownie przepisane).
const int ZLIB_FASTEST_LEVEL = 1
 Najsłabsza kompresja, ale najszybsza.
const int ZLIB_BEST_LEVEL = 9
 Najlepsza jakość kompresji.
const int ZLIB_DEFAULT_LEVEL
 Domyślny poziom kompresji.


Opis szczegółowy

Główna przestrzeń nazw biblioteki CommonLib.

Wygenerowano Sat Mar 29 18:17:01 2008 dla CommonLib programem  doxygen 1.5.5